Power BI如何根据日期切片器选择动态计算门店新旧状态
解决方案
你不需要新增关联表改动现有模型结构,直接通过DAX度量值即可实现动态新老门店判定,完全兼容现有date表和order data表的关联关系:
步骤1:确认现有模型关系
保持现有星型模型不变:
date表 与order data表的order date字段维持一对多关联store表 与order data表的门店ID字段维持一对多关联
步骤2:编写核心度量值
计算门店全局首单日期
门店首单日期 = CALCULATE(MIN('order data'[order date]), REMOVEFILTERS('date'))
该度量值会忽略日期切片器的筛选,获取对应门店所有历史订单中的最早下单日期。
动态判定新门店
是否为新门店 = VAR 选中时段最大日期 = MAX('date'[date]) VAR 新门店判定起始日期 = EDATE(选中时段最大日期, -12) VAR 当前门店首单 = [门店首单日期] RETURN IF( NOT(ISBLANK(当前门店首单)) && 当前门店首单 >= 新门店判定起始日期 && 当前门店首单 <= 选中时段最大日期, 1, 0 )
步骤3:使用方式
- 若要单独筛选新门店:将
是否为新门店度量值加入视觉对象筛选器,筛选值为1即可 - 若要分别统计新/老门店指标,可以直接基于上述度量值扩展,示例:
新门店销售额 = CALCULATE(SUM('order data'[销售额]), FILTER(VALUES('store'[门店ID]), [是否为新门店] = 1)) 老门店销售额 = CALCULATE(SUM('order data'[销售额]), FILTER(VALUES('store'[门店ID]), [是否为新门店] = 0))
以上计算完全动态响应日期切片器的选择,选中2021年4月时段时,会自动判定首单在2020年4月-2021年4月区间的门店为新门店,完全匹配需求。
内容的提问来源于stack exchange,提问作者SQLLearner
相关产品推荐
相关产品推荐

