パススルー関数 (RAWSQL)
これらの RAWSQL パススルー関数は、SQL 式を、Tableau による最初の解釈なしで、データベースに直接送信します。Tableau で認識されていないカスタム データベース関数がある場合は、パススルー関数を使用して、これらのカスタム関数を呼び出すことができます。
Tableau では式が解釈されないため、必要に応じて、集計を定義する必要があります。集計式を渡す必要がある場合は、RAWSQLAGG バージョンの関数を使用できます。
RAWSQL パススルー関数は、フェデレーション データ ソース (異なるデータベース間で組み合わされた) やパブリッシュされたデータ ソースでは動作しない場合があります。
RAWSQL 構文
RAWSQL 関数には、非集計と集計の 2 つのタイプがあります。これは、関数名の最初の部分である RAWSQL または RAWSQLAGG で指定されます。関数名の最後の部分は、BOOL、STR、INT などの出力タイプです。すべての 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] に等しくなります。 |
