如何在Amazon QuickSight透视表中创建含1-100静态数值的Field Well?
在Amazon QuickSight中创建1-100的静态数值序列(替代PowerBI的GENERATESERIES)
方法1:自定义SQL生成独立序列数据集
这是最直接的方式,创建一个仅包含1到100数值的独立数据集,完全不影响原有业务数据:
- 在QuickSight中新建数据集,选择「SQL查询」方式连接任意可用数据源(SPICE或临时数据源均可)
- 根据数据源类型编写生成序列的SQL:
- MySQL/PostgreSQL:
SELECT generate_series(1, 100) AS series_value; - Amazon Athena:
SELECT * FROM UNNEST(SEQUENCE(1, 100)) AS t(series_value); - SQL Server:
SELECT TOP 100 ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS series_value FROM sys.all_columns ac1 CROSS JOIN sys.all_columns ac2;
- MySQL/PostgreSQL:
- 运行查询后将数据集导入SPICE,之后就能在透视表的Field Well中直接使用
series_value字段,它是完全静态的独立序列。
方法2:在现有数据集中添加计算字段(无需额外数据集)
如果不想新建数据集,可在现有数据集内添加静态序列字段:
- 打开目标数据集,进入「添加计算字段」界面
- 使用以下表达式生成序列:
ROW_NUMBER() OVER () - 给该字段添加筛选条件,仅保留1到100的行。注意:这种方式依赖原有数据集的行数,若原有数据不足100行,需先通过笛卡尔积扩展(比如和含10行的虚拟表交叉连接),稳定性不如方法1。
关键提示
- 方法1的独立序列数据集可与任意其他数据集做笛卡尔积关联,实现类似PowerBI中GENERATESERIES的扩展效果
- 确保序列字段设置为数值类型,保证在透视表中能正常排序和分组
内容的提问来源于stack exchange,提问作者user2136437
相关产品推荐
相关产品推荐

