Power BI如何生成含连续日期、缺省日期补0的多任务计数汇总表
Power BI 生成连续日期多任务汇总表操作步骤
步骤1:创建公共连续日期表
进入Power BI「建模」选项卡,点击「新建表」,输入如下DAX公式生成覆盖你需要的全部时间范围的连续日期表:日期表 = CALENDAR(DATE(2016,1,1), TODAY())
创建完成后,右键该表的日期列,选择「标记为日期表」→「标记为日期表」,避免后续时间计算出错。
步骤2:整理各任务原始数据表
确保你导入的所有任务数据表都包含两个核心字段:对应任务的完成日期、计数字段(比如Task1表的Task1 Completed Date和Count1,Task2表的Task2 Completed Date和Count2,以此类推)。
步骤3:建立表间关系
进入「模型」视图,将所有任务表的日期字段,分别和日期表的Date字段做关联,关系类型为一对多(日期表为一端,任务表为多端),关联方向为单方向即可。
步骤4:生成最终汇总表
再次点击「建模」选项卡的「新建表」,输入如下DAX公式即可生成符合要求的汇总表:
多任务汇总表 = ADDCOLUMNS( '日期表', "Count1", COALESCE(CALCULATE(SUM(Task1[Count1])), 0), "Count2", COALESCE(CALCULATE(SUM(Task2[Count2])), 0) -- 有多少个任务就依次新增对应行即可,格式和上面两行一致 )
公式里COALESCE函数的作用是将没有计数数据的日期对应的空值自动转为0,正好匹配你要的连续日期补0的需求。
可选操作(Power Query 实现方案)
如果你习惯用Power Query操作,可以按如下步骤实现:
- 把所有任务表合并为一个总表,保留三列:日期、任务名称、对应计数
- 对合并后的表做透视操作,「任务名称」作为新列名,「计数」作为值,空值填充设置为0
- 将透视后的表和预先生成的连续日期表做左外连接,扩展后即可得到连续日期的全量汇总表
内容的提问来源于stack exchange,提问作者Quinton Pereira
相关产品推荐
相关产品推荐

