直通函數 (RAWSQL)

RAWSQL 直通函數可用於將 SQL 運算式直接傳送到資料庫,而不由 Tableau 進行解析。如果您有 Tableau 不能識別的自訂資料庫函數,則可以使用直通函式呼叫這些自訂函數。

您的資料庫通常不會理解在 Tableau 中顯示的欄位名稱。因為 Tableau 不會解釋包含在直通函數中的 SQL 運算式,所以在運算式中使用 Tableau 欄位名稱可能會導致錯誤。可以使用替換語法將用於 Tableau 計算的正確欄位名稱或運算式插入直通 SQL。例如,假設您有一個計算一組中值的函數,則可以對 Tableau 資料行 [Sales] 呼叫該函數,如下所示:

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

因為 Tableau 不解釋該運算式,所以您必須定義彙總。在使用彙總運算式時,可以使用下面描述的 RAWSQLAGG 函數。

RAWSQL 直通函數不使用已發佈資料來源或 Tableau 擷取。

在 Tableau Desktop 8.2 中啟動時,這些函數可能返回與在較低版本的 Tableau Desktop 中不同的結果。這是因為 Tableau 現在對直通函數使用 ODBC 而非 OLE DB。當以整數形式返回實際值時,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])

感謝您的意見反應!已成功提交您的意見回饋。謝謝!