最佳实践
统计分析
根据指导操作,可以对任意表进行统计分析,并进行报表展示。
例如使用TPCH数据中的lineitem,点开一张工作表可以进行任意维度的数据展示。
当您从度量或者维度中选择字段,放到工作表区时,Tableau都会发送一个query到云原生数据仓库PostgreSQL版进行数据查询,例如上述图表发送的query如下所示:
BEGIN;declare "SQL_CUR0x7fdabf04ca00" cursor with hold for SELECT "lineitem"."l_linestatus" AS "l_linestatus",
"lineitem"."l_shipmode" AS "l_shipmode",
SUM("lineitem"."l_orderkey") AS "sum_l_orderkey_ok",
((CAST("lineitem"."l_shipdate" AS DATE) + CAST(TRUNC((-1 * (EXTRACT(DAY FROM "lineitem"."l_shipdate") - 1))) AS INTEGER) * INTERVAL '1 DAY') + CAST(TRUNC((-1 * (EXTRACT(MONTH FROM "lineitem"."l_shipdate") - 1))) AS INTEGER) * INTERVAL '1 MONTH') AS "tyr_l_shipdate_ok"
FROM "public"."lineitem" "lineitem"
GROUP BY 1,
2,
4;fetch 10000 in "SQL_CUR0x7fdabf04ca00
关闭cursor
默认情况下Tableau使用cursor模式从云原生数据仓库PostgreSQL版拉取数据:
FETCH 10000 in “SQL_CUR0x7fe678049e00”
如果提取的数据量很大,并且Tableau服务器的内存足够放下所有的查询数据,可以通过关闭cursor模式进行性能调优。
操作步骤如下:
创建关闭cursor模式TDC文件,文件配置信息如下:
将该文件以tdc为后缀名,Desktop版本的Tableau放到Documents/My Tableau Repository/Datasources目录下,其他版本的Tableau同样放置到对应的Datasources目录下。
重启Tableau即可生效。
也可以修改fetch的size值,让其每次fetch更多的数据:
初始化SQL
连接建立时可以通过初始化SQL设置特定参数,如下图所示。
说明 SQL语言结尾请不要添加英文分号(;),Tableau会将该SQL封装执行,中间如果有分号会报语法错误。同样在自定义SQL时,SQL结尾也不能加(;)。