PowerBI基于GUID漏斗步骤数据生成同比汇总视图的实现咨询
PowerBI 漏斗步骤同期对比实现方案
1. 生成汇总计算表(推荐,性能更优)
直接通过DAX新建汇总表,输出结果和你要求的预期格式完全一致:
GUID 漏斗汇总表 = VAR 当前固定日期 = DATE(2021,11,18) VAR 去年同期节点 = 当前固定日期 - 365 RETURN SUMMARIZE( '原始表', '原始表'[GUID], "Most Recent Funnel Step", VAR 最大日期 = CALCULATE(MAX('原始表'[Funnel Step Date]), ALLEXCEPT('原始表','原始表'[GUID])) RETURN CALCULATE(SELECTEDVALUE('原始表'[Funnel Step]), '原始表'[Funnel Step Date] = 最大日期), "Most Recent Funnel Step 365 Days Ago", VAR 去年最大日期 = CALCULATE(MAX('原始表'[Funnel Step Date]), ALLEXCEPT('原始表','原始表'[GUID]), '原始表'[Funnel Step Date] <= 去年同期节点) RETURN IF(ISBLANK(去年最大日期), BLANK(), CALCULATE(SELECTEDVALUE('原始表'[Funnel Step]), '原始表'[Funnel Step Date] = 去年最大日期)) )
如果需要动态根据当前日期计算同期,只需把公式里的固定日期DATE(2021,11,18)替换为TODAY()即可
2. 原始表追加计算列方案
如果不需要生成新表,可以直接在原始表新增两个计算列:
计算列1:最新漏斗步骤
最新漏斗步骤 = VAR 当前GUID = '原始表'[GUID] VAR 该GUID最大日期 = CALCULATE(MAX('原始表'[Funnel Step Date]), FILTER(ALL('原始表'), '原始表'[GUID] = 当前GUID)) RETURN CALCULATE(SELECTEDVALUE('原始表'[Funnel Step]), FILTER(ALL('原始表'), '原始表'[GUID] = 当前GUID && '原始表'[Funnel Step Date] = 该GUID最大日期))
计算列2:365天前最新漏斗步骤
365天前最新漏斗步骤 = VAR 当前GUID = '原始表'[GUID] VAR 去年节点 = DATE(2021,11,18) - 365 VAR 去年最大日期 = CALCULATE(MAX('原始表'[Funnel Step Date]), FILTER(ALL('原始表'), '原始表'[GUID] = 当前GUID && '原始表'[Funnel Step Date] <= 去年节点)) RETURN IF(ISBLANK(去年最大日期), BLANK(), CALCULATE(SELECTEDVALUE('原始表'[Funnel Step]), FILTER(ALL('原始表'), '原始表'[GUID] = 当前GUID && '原始表'[Funnel Step Date] = 去年最大日期)))
3. 漏斗同期对比可视化实现
按以下步骤操作即可得到需要的对比表格:
- 以上述生成的「GUID 漏斗汇总表」作为数据源
- 新建两个度量值:
当前GUID数量 = DISTINCTCOUNT('GUID 漏斗汇总表'[GUID])去年同期GUID数量 = CALCULATE(DISTINCTCOUNT('GUID 漏斗汇总表'[GUID]), TREATAS(VALUES('GUID 漏斗汇总表'[Most Recent Funnel Step]), 'GUID 漏斗汇总表'[Most Recent Funnel Step 365 Days Ago])) - 将组件切换为表格/矩阵,行字段拖入
Most Recent Funnel Step,值字段拖入上述两个度量值,即可得到每个漏斗步骤当前的GUID数量与去年同期数据的对比结果
内容的提问来源于stack exchange,提问作者MitchA.
相关产品推荐
相关产品推荐

