Tableau 仪表板中的自定义 SQL 查询能否接受参数中的值列表?

Can the Custom SQL Query in a Tableau Dashboard accept a list of values in a Parameter?

我有一个 Tableau 仪表板通过自定义 SQL 查询从 Vertica 数据库绘制数据。

数据库table 包含超过 1 亿行,列 COL1 表示为主键。每个 COL1 值恰好对应一行数据。因此 COL1 对于所有行都是唯一的。

下面的自定义 SQL 查询会在参数更新时刷新仪表板。

SELECT COL1, COL2, COL3, COL4, COL5 FROM TABLE WHERE COL1=<Parameters.Col1Param>

仪表板用户是否可以输入多个值来获取多于 1 行的数据?

我试过使用 IN 条件如下:

SELECT COL1, COL2, COL3, COL4, COL5 FROM TABLE WHERE COL1 IN (<Parameters.Col1Param>)

但是,我似乎无法使用参数值 Param1;Param2;Param3Param1,Param2,Param3

我还尝试包括 COL1 的所有值并允许用户即时过滤,但是数据库 table 太大(超过 100M 行),仪表板无法将数据加载到内存。

一如既往,在 Whosebug 上发布问题几分钟后,我就找到了我的问题的合理答案。

可以在这里找到答案:

SELECT COL1, COL2, COL3, COL4, COL5 FROM TABLE WHERE COL1 IN (
    SELECT SPLIT_PART(<Parameters.Col1Param>, ';', row_num) params
    FROM (SELECT ROW_NUMBER() OVER () AS row_num FROM tables) row_nums
        WHERE SPLIT_PART(<Parameters.Col1Param>, ';', row_num) <> ''
)