RAWSQL直通函数可用于将SQL表达式直接发送到数据库, 而不由Tableau进行解析。 如果有Tableau不能识别的自定义数据库函数, 就可以使用直通函数调用这些自定义函数。由于Tableau不会解释包含在直通函数中的SQL表达式, 因此在表达 式中使用Tableau字段名称可能会导致错误。 可以使用替换语法将用于Tableau计算的正确字段名称或表达式插入直通SQL。
例如, 假设有一个计算一组中值的函数, 可以对Tableau列[Sales]调用该函数, 如RAWSQLAGG_REAL(“MEDIAN(%1)”,[Sales])。 Tableau提供了以下12种RAWSQL函数:
1.RAWSQL_BOOL(“sql_expr”,[arg1],…[argN]) 从给定SQL表达式返回布尔结果。 SQL表达式直接传递给基础数据库。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[Sales], %2等于[Profit]。 RAWSQL_BOOL(“IIF(%1>%2, True,False)”,[Sales],[Profit])
2.RAWSQL_DATE(“sql_expr”,[arg1],…[argN]) 从给定SQL表达式返回日期结果。 SQL表达式直接传递给基础数据库。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[OrderDate]。 RAWSQL_DATE(“%1”,[OrderDate])
3.RAWSQL_DATETIME(“sql_expr”,[arg1],…[argN]) 从给定SQL表达式返回日期和时间结果。 SQL表达式直接传递给基础数据库。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[DeliveryDate]。 RAWSQL_DATETIME(“MIN(%1)”,[DeliveryDate])
4.RAWSQL_INT(“sql_expr”,[arg1],…[argN]) 从给定SQL表达式返回整数结果。 SQL表达式直接传递给基础数据库。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[Sales]。 RAWSQL_INT(“500+%1”,[Sales])
5.RAWSQL_REAL(“sql_expr”,[arg1],…[argN]) 从直接传递给基础数据库的给定SQL表达式返回数字结果。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[Sales]。 RAWSQL_REAL(“-123.98*%1”,[Sales])
6.RAWSQL_STR(“sql_expr”,[arg1],…[argN]) 从直接传递给基础数据库的给定SQL表达式返回字符串。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[CustomerName]。 RAWSQL_STR(“%1”,[CustomerName])
7.RAWSQLAGG_BOOL(“sql_expr”,[arg1],…[argN]) 从给定聚合SQL表达式返回布尔结果。 SQL表达式直接传递给基础数据库。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[Sales], %2等于[Profit]。 RAWSQLAGG_BOOL(“SUM(%1)>SUM(%2)”,[Sales],[Profit])
8.RAWSQLAGG_DATE(“sql_expr”,[arg1],…[argN]) 从给定聚合SQL表达式返回日期结果。 SQL表达式直接传递给基础数据库。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[OrderDate]。 RAWSQLAGG_DATE(“MAX(%1)”,[OrderDate])
9.RAWSQLAGG_DATETIME(“sql_expr”,[arg1],…,[argN]) 从给定聚合SQL表达式返回日期和时间结果。 SQL表达式直接传递给基础数据库。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[DeliveryDate]。 RAWSQLAGG_DATETIME(“MIN(%1)”,[DeliveryDate])
10.RAWSQLAGG_INT(“sql_expr”,[arg1,]…[argN]) 从给定聚合SQL表达式返回整数结果。 SQL表达式直接传递给基础数据库。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[Sales]。 RAWSQLAGG_INT(“500+SUM(%1)”,[Sales])
11.RAWSQLAGG_REAL(“sql_expr”,[arg1,]…[argN]) 从直接传递给基础数据库的给定聚合SQL表达式返回数字结果。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[Sales]。 RAWSQLAGG_REAL(“SUM(%1)”,[Sales])
12.RAWSQLAGG_STR(“sql_expr”,[arg1,]…[argN]) 从直接传递给基础数据库的给定聚合SQL表达式返回字符串。 在SQL表达式中, 将%n用作数据库值的替换语法。 在下例中, %1等于[CustomerName]。 RAWSQLAGG_STR(“AVG(%1)”,[Discount])