Tableau日期X轴设为周粒度时在政策变更指定日期添加垂直线的咨询
方案1:不同x轴分辨率图表重叠实现
- 核心逻辑是用双轴双数据集实现,不需要调整原有统计规则:
- 主数据集保留原日粒度的页面加载全量数据,x轴统一设置为
day粒度,保证所有政策变更日期都能被识别 - 新增计算字段标注每个日期所属的周基准日(比如统一取每周一/周日作为周标识),计算字段写法参考后续方案2的周归属字段
- 第一个度量值(对应页面加载量)用周维度固定聚合,这样所有同周的日期都会返回相同的周总加载量,绘制的曲线就是平直的周统计水平线,和你原周粒度的统计结果完全一致
- 第二个度量值绑定政策变更日期表,用垂直线标记规则即可,所有日期都不会被合并或遗漏
方案2:各工具通用周求和计算字段写法
直接在日粒度x轴下生成和周粒度统计完全一致的结果,不需要调整图表层级:
Tableau 计算字段
// 先计算日期所属周的基准日,这里以周起始日为周一为例 [周基准日] = DATETRUNC('week', [日期], 'monday') // 周总页面加载量计算字段 [周度每千人生成加载量总和] = {FIXED [周基准日]: SUM([每千名学生页面加载量])}
Power BI DAX 计算列
周基准日 = STARTOFWEEK('页面加载表'[日期], 2) // 2代表周起始为周一 周度加载量总和 = CALCULATE(SUM('页面加载表'[每千名学生页面加载量]), ALLEXCEPT('页面加载表', '页面加载表'[周基准日]))
SQL 计算字段(如果是自定义查询取数)
SELECT 日期, 每千名学生页面加载量, DATE_TRUNC('week', 日期) as 周基准日, SUM(每千名学生页面加载量) OVER(PARTITION BY DATE_TRUNC('week', 日期)) as 周度加载量总和 FROM 页面加载表
以上写法得到的周度总和和你直接把日期pill设为
week number、聚合设为sum的统计结果完全一致,x轴保留day粒度后,所有政策变更日期都可以正常生成单独的垂直线标记。
内容的提问来源于stack exchange,提问作者Joseph Shuffield
相关产品推荐
相关产品推荐

