如何编写DAX度量值,实现日期轴下活跃项目数量的图表?
计算每日活跃项目数的DAX度量值方案
要实现你需要的每日活跃项目统计,核心是基于独立日期表逐日期判断项目是否处于活跃状态,具体步骤和DAX代码如下:
前提准备
你需要先创建一个独立的日期表(Date Table),表中包含图表需要覆盖的所有连续日期。这个表不需要和项目表建立筛选关系,仅作为图表X轴的日期维度,确保能遍历每个日期计算对应活跃项目数。
DAX度量值代码
活跃项目数 = VAR CurrentDate = MAX('日期表'[Date]) RETURN CALCULATE( COUNTROWS('项目表'), FILTER( '项目表', '项目表'[Date start] < CurrentDate && CurrentDate < '项目表'[Date start] + '项目表'[Duration in days] ) )
代码说明
CurrentDate:捕获当前图表X轴上的日期(即日期表中当前行的日期值)FILTER:遍历项目表每一行,判断项目是否满足活跃条件:当前日期晚于项目开始日期,且早于项目开始日期加持续天数的截止日期CALCULATE+COUNTROWS:统计满足活跃条件的项目行数,即当日活跃项目总数
边界调整说明
如果需要调整活跃判定的边界(比如包含项目开始当天或结束当天),可以修改筛选条件:
- 包含开始当天:将
'项目表'[Date start] < CurrentDate改为'项目表'[Date start] <= CurrentDate - 包含结束当天:将
CurrentDate < '项目表'[Date start] + '项目表'[Duration in days]改为CurrentDate <= '项目表'[Date start] + '项目表'[Duration in days]
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

