让决策更智能
新一代智能数据分析平台

用全局参数制作动态维度报表

观小远发表于:2020年06月28日 17:37:20更新于:2020年06月29日 13:54:37

需求背景

客户需要分别以年,月,周,日为维度来制作报表,一般情况下需要做四张同样结构样式的卡片,希望可以合并为一个报表卡片,通过筛选器来指定报表日期维度,切换年,月,周,日视图。

实现方法

使用全局参数筛选器来切换报表维度。

具体步骤

1. 在数据集概览页面或者 ETL 里新建计算字段来分别提取日期字段的年,月,周, 建议使用文本类型。年:使用函数 year([日期])月:请参考取年月的函数周:concat(year([日期]),'年', weekofyear([日期]),'周')

0015ef8650e6d930803ddb22dcf0702

2. 新建全局参数,文本-单值类型,可选项为 年,月,周,日,设置默认值。0015ef8657e4263fdb45c6b79fd98e7

3. 卡片编辑页面,新建计算字段,设定全局参数逻辑(如下图);然后把这个字段拖到维度栏。注意:这个字段只能在卡片里创建。

case [DYNAMIC_PARAMS.日期维度]
when '年' then [年]
when '月' then [年月]
when '周' then [周]
when '日' then [日期]
end

0015ef865b9e5be83cc9f9daf6e250e

4. 回到仪表板页面,新建参数筛选器,指定步骤 2 里新建的全局参数,保存。筛选器会自动联动使用此全局参数的卡片。如果需要限定时间范围,另外新建日期类型筛选器来联动卡片。使用效果参考下图。

0015ef86607c3a9e94bc80fb4172805

0015ef866087725a96dd466fc566fd2

案例参考

报表需求:维度需要用到地区和日期,地区要在大区和省份之间切换,日期要自由切换年,月,周,日,还要根据维度变化计算累计销售额。

实现方法

1. 参考以上步骤来创建动态日期维度和地域维度。

2. 计算累计销售额,需要新建一个计算字段来指定累计时间维度。前面维度是“日”,如果想按月累计,下个月重新计算,累计时间维度要设为“年月”,要以年为单位累计,累计时间维度要设为“年”。用 case when 函数来确定累计时间维度。再新建计算字段,用开窗函数来计算累计金额,拖拽到数值栏,聚合方式选“最大值”。累计计算具体请参考 如何计算出月累计销售金额

0015ef8669eb49d9fab9bb1adb7f229

0015ef8669ef09e090b9269d622f216

0015ef8669ed58e733446d1c729fc26

3. 除了参数筛选器,新建 2 个选择筛选器来筛选“大区”和“省份”,设置联动。效果如下:

0015ef866d31435c58bad364b71d89e

0015ef866d30390a6df584dffb059cd

注意:本文档中数据集和卡片都是基于 Guan-index 抽取数据或者文件创建数据集,系统默认支持 Spark SQL 函数,如果使用直连数据集和直连卡片,请使用对应数据库的函数。

    您需要登录后才可以回复