パススルー関数 (RAWSQL)

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

通常、データベースは Tableau に表示されているフィールド名を理解できません。パススルー関数に含める SQL 式は Tableau によって解釈されないため、式で Tableau フィールド名を使用すると、エラーが発生することがあります。代替構文を使用すると、Tableau計算のための正しいフィールド名または式をパススルー SQL に挿入できます。たとえば、いくつかの値の中央値を計算する関数があると、この関数を Tableau 列 [Sales] に対して呼び出す方法は次のとおりです。

RAWSQLAGG_REAL(“MEDIAN(%1)”, [Sales])

Tableau では式が解釈されないため、集計を定義する必要もあります。集計式を使用する場合は、RAWSQLAGG 関数を使用できます。

RAWSQL パススルー関数は、パブリッシュされたデータ ソースや Tableau 抽出では動作しません。

Tableau Desktop 8.2 以降では、それ以前のバージョンの Tableau Desktop と比較して、これらの関数で異なる結果が返される場合があります。これは、Tableau では現在、パススルー関数に OLE DB ではなく ODBC が使用されているためです。実際の値を整数として返す場合、ODBC では切り捨てますが、OLE DB では丸めます。

RAWSQL 関数

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

RAWSQL_BOOL(“sql_expr”, [arg1], …[argN])

指定された SQL 式からブールの結果を返します。SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。

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

RAWSQL_BOOL("%1 > %2", [Sales], [Profit])

RAWSQL_DATE(“sql_expr”, [arg1], …[argN])

指定された SQL 式から日付の結果を返します。SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。

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

RAWSQL_DATE(“%1”, [Order Date])

RAWSQL_DATETIME(“sql_expr”, [arg1], …[argN])

指定された SQL 式から日付と時刻の結果を返します。SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。次の例では、%1 は [Delivery Date] に等しくなります。

RAWSQL_DATETIME("%1", [Order Date])

RAWSQL_INT(“sql_expr”, [arg1], …[argN])

指定された SQL 式から整数の結果を返します。SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。次の例では、%1 は [Sales] に等しくなります。

RAWSQL_INT(“500 + %1”, [Sales])

RAWSQL_REAL(“sql_expr”, [arg1], …[argN])

参照元データベースに直接渡される指定された SQL 式から数値結果を返します。SQL 式では、データベース値の代替構文として %n を使用してください。次の例では、%1 は [Sales] に等しくなります。

RAWSQL_REAL(“-123.98 * %1”, [Sales])

RAWSQL_SPATIAL

参照元データ ソースに直接渡される指定された SQL 式から空間を返します。SQL 式では、データベース値の代替構文として %n を使用してください。

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

RAWSQL_SPATIAL("%1", [Geometry])

RAWSQL_STR(“sql_expr”, [arg1], …[argN])

参照元データベースに直接渡される指定された SQL 式から文字列を返します。SQL 式では、データベース値の代替構文として %n を使用してください。次の例では、%1 は [Customer Name] に等しくなります。

RAWSQL_STR(“%1”, [Customer Name])

RAWSQLAGG_BOOL(“sql_expr”, [arg1], …[argN])

指定された集計 SQL 式からブールの結果を返します。SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。

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

RAWSQLAGG_BOOL(“SUM( %1) >SUM( %2)”, [Sales], [Profit])

RAWSQLAGG_DATE(“sql_expr”, [arg1], …[argN])

指定された集計 SQL 式から日付の結果を返します。SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。次の例では、%1 は [Order Date] に等しくなります。

RAWSQLAGG_DATE(“MAX(%1)”, [Order Date])

RAWSQLAGG_DATETIME(“sql_expr”, [arg1], …[argN])

指定された集計 SQL 式から日付と時刻の結果を返します。SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。次の例では、%1 は [Delivery Date] に等しくなります。

RAWSQLAGG_DATETIME(“MIN(%1)”, [Delivery Date])

RAWSQLAGG_INT(“sql_expr”, [arg1,] …[argN])

指定された集計 SQL 式から整数の結果を返します。SQL 式は参照元データベースに直接渡されます。SQL 式では、データベース値の代替構文として %n を使用してください。次の例では、%1 は [Sales] に等しくなります。

RAWSQLAGG_INT(“500 + SUM(%1)”, [Sales])

RAWSQLAGG_REAL(“sql_expr”, [arg1,] …[argN])

参照元データベースに直接渡される指定された集計 SQL 式から数値結果を返します。SQL 式では、データベース値の代替構文として %n を使用してください。次の例では、%1 は [Sales] に等しくなります。

RAWSQLAGG_REAL(“SUM( %1)”, [Sales])

RAWSQLAGG_STR(“sql_expr”, [arg1,] …[argN])

参照元データベースに直接渡される指定された集計 SQL 式から文字列を返します。SQL 式では、データベース値の代替構文として %n を使用してください。この例では、%1 は [Discount] に等しくなります。

RAWSQLAGG_STR(“AVG(%1)”, [Discount])

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