パススルー関数 (RAWSQL)

これらの RAWSQL パススルー関数は、SQL 式を、Tableau による最初の解釈なしで、データベースに直接送信します。Tableau で認識されていないカスタム データベース関数がある場合は、パススルー関数を使用して、これらのカスタム関数を呼び出すことができます。

Tableau では式が解釈されないため、必要に応じて、集計を定義する必要があります。集計式を渡す必要がある場合は、RAWSQLAGG バージョンの関数を使用できます。

RAWSQL パススルー関数は、フェデレーション データ ソース (異なるデータベース間で組み合わされた) やパブリッシュされたデータ ソースでは動作しない場合があります。

RAWSQL 構文

RAWSQL 関数には、非集計と集計の 2 つのタイプがあります。これは、関数名の最初の部分である RAWSQL または RAWSQLAGG で指定されます。関数名の最後の部分は、BOOLSTRINT などの出力タイプです。すべての RAWSQL 関数で、引数は "sql_expr", [arg1], ...[arg2] になります。関数を記述するときには、代替構文 %n を使用して、正しいフィールド名または式を挿入できます。

%n 代入構文

通常、データベースは Tableau に表示されているフィールド名を理解できません。パススルー関数内の SQL 式は Tableau によって解釈されないため、式で Tableau フィールド名を使用すると、エラーが発生することがあります。%n を使用して、Tableau 計算のための正しいフィールド名または式をパススルー SQL に挿入します。

たとえば、いくつかの値の中央値を計算する関数があると、この関数を Tableau 列 [Sales] に対して呼び出す方法は次のとおりです。

RAWSQLAGG_REAL("MEDIAN(%1)", [Sales])
  • REALSQLAGG を使用する理由は、集計を指定する必要があるためです。
  • REAL を使用する理由は、出力が数値であり、必ずしも整数ではないためです。
  • MEDIAN は集計です。
  • %1[Sales] のプレースホルダーです。

RAWSQL 関数

SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。

Tableau では、次の RAWSQL 関数を利用できます。

RAWSQL_BOOL

構文RAWSQL_BOOL("sql_expr", [arg1], …[argN])
出力ブール値
定義指定された SQL 式からブールの結果を返します。
RAWSQL_BOOL("%1 > %2", [Sales], [Profit])

次の例では、%1 は [Sales]、%2 は [Profit] に等しくなります。

RAWSQLAGG_BOOL

構文RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN])
出力ブール値
定義指定された集計 SQL 式からブールの結果を返します。
RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)", [Sales], [Profit]) 

次の例では、%1 は [Sales]、%2 は [Profit] に等しくなります。

RAWSQL_DATE

構文RAWSQL_DATE("sql_expr", [arg1], …[argN])
出力日付
定義指定された SQL 式から日付の結果を返します。
RAWSQL_DATE("%1", [Order Date])

次の例では、%1 は [Order Date] に等しくなります。

RAWSQLAGG_DATE

構文RAWSQLAGG_DATE("sql_expr", [arg1], …[argN])
出力日付
定義指定された集計 SQL 式から日付の結果を返します。
RAWSQLAGG_DATE("MAX(%1)", [Order Date])

次の例では、%1 は [Order Date] に等しくなります。

RAWSQL_DATETIME

構文RAWSQL_DATETIME("sql_expr", [arg1], …[argN])
出力日時
定義指定された SQL 式から日付時刻の結果を返します。
RAWSQL_DATETIME("%1", [Order Date])

次の例では、%1 は [Order Date] に等しくなります。

RAWSQLAGG_DATETIME

構文RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN])
出力日時
定義指定された集計 SQL 式から日付時刻の結果を返します。
RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])

次の例では、%1 は [Order Date] に等しくなります。

RAWSQL_INT

構文RAWSQL_INT("sql_expr", [arg1], …[argN])
出力整数
定義指定された SQL 式から整数の結果を返します。
RAWSQL_INT("500 + %1", [Sales])

次の例では、%1 は [Sales] に等しくなります。

RAWSQLAGG_INT

構文RAWSQLAGG_INT("sql_expr", [arg1,] …[argN])
出力整数
定義指定された集計 SQL 式から整数の結果を返します。
RAWSQLAGG_INT("500 + SUM(%1)", [Sales])

次の例では、%1 は [Sales] に等しくなります。

RAWSQL_REAL

構文RAWSQL_REAL("sql_expr", [arg1], …[argN])
出力数値
定義指定された SQL 式から数値の結果を返します。
RAWSQL_REAL("-123.98 * %1", [Sales])

次の例では、%1 は [Sales] に等しくなります。

RAWSQLAGG_REAL

構文RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN])
出力数値
定義指定された集計 SQL 式から数値の結果を返します。
RAWSQLAGG_REAL("SUM( %1)", [Sales])

次の例では、%1 は [Sales] に等しくなります。

RAWSQL_SPATIAL

構文RAWSQL_SPATIAL("sql_expr", [arg1], …[argN])
出力空間
定義指定された SQL 式から空間の結果を返します。
RAWSQL_SPATIAL("%1", [Geometry])

次の例では、%1 は [Geometry] に等しくなります。

この関数の RAWSQLAGG バージョンはありません。

RAWSQL_STR

構文RAWSQL_STR("sql_expr", [arg1], …[argN])
出力文字列
定義指定された SQL 式から文字列を返します。
RAWSQL_STR("%1", [Customer Name])

次の例では、%1 は [Customer Name] に等しくなります。

RAWSQLAGG_STR

構文RAWSQLAGG_STR("sql_expr", [arg1,] …[argN])
出力文字列
定義指定された集計 SQL 式から文字列を返します。
RAWSQLAGG_STR("AVG(%1)", [Discount])

この例では、%1 は [Discount] に等しくなります。

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!