Power Pivot中用DAX实现Countif功能 跨表统计对应月份的周数
DAX实现类Countif统计月度对应周数方案
你要的Excel COUNTIF等效逻辑在DAX中可以通过CALCULATE+筛选条件的组合实现,操作方法如下:
- 优先推荐方案(需要先在Power Pivot关系视图中为
Fcst Volume表和Period表通过期间编码字段(即P03、P04所属的列)建立一对多关联):
在Fcst Volume表新建计算列,输入以下公式,替换对应列名即可使用:
月度对应周数 = CALCULATE ( COUNTROWS ( 'Period' ), ALLEXCEPT ( 'Period', 'Period'[你的Period表存储P03/P04的列名] ), 'Period'[你的Period表存储P03/P04的列名] = EARLIER ( 'Fcst Volume'[Wkly #] ) )
- 无需建表关系的轻量方案:
月度对应周数 = COUNTROWS ( FILTER ( ALL ( 'Period'[你的Period表存储P03/P04的列名] ), 'Period'[你的Period表存储P03/P04的列名] = 'Fcst Volume'[Wkly #] ) )
公式逻辑说明:两种写法都是统计
Period表中,期间编码和当前Fcst Volume表行的Wkly #值一致的总条数,和你举的示例效果完全匹配:P03在Period表有5条就返回5,P04有4条就返回4。
内容的提问来源于stack exchange,提问作者Hazel
相关产品推荐
相关产品推荐

