如何用DAX在PowerBI中按日期聚合Jira工单状态计数并可视化?
别担心,这个需求在PowerBI里完全可以实现,我给你拆解成几个简单的步骤,跟着做就行:
实现步骤:
1. 先把日期列转成正确的日期类型
首先看你的created列是类似1.2.2020的文本格式,PowerBI可能没法正确识别成日期,这会影响后续的分组统计。你可以这么处理:
- 切换到数据视图,选中
created列 - 点击顶部的转换数据,进入Power Query编辑器
- 选中这列,在“转换”选项卡的“数据类型”里选择“日期”;如果自动识别不对,就用自定义列来解析:
点击“添加列”→“自定义列”,输入公式:
然后删掉原来的文本列,把新列重命名为Date.FromText([created], [Format="d.M.yyyy"])created,最后点击关闭并应用。
2. 创建每日状态计数的汇总
这里有两种方式,选哪种都可以:
方式一:直接生成汇总表
如果你想得到一个专门的汇总表(后续可视化更方便),可以在建模选项卡点击新建表,输入下面的DAX公式(记得把你的工单表换成你实际的表名):
每日状态统计 = SUMMARIZECOLUMNS( '你的工单表'[created], '你的工单表'[status], "工单数量", COUNT('你的工单表'[Summary]) )
这个表会自动按日期和状态分组,统计每个组合下的工单数量。
方式二:创建单个状态的度量值
如果你不想新建表,也可以为每个状态单独创建度量值,方便后续灵活搭配:
Failed数量 = CALCULATE(COUNT('你的工单表'[Summary]), '你的工单表'[status] = "Failed") Expected数量 = CALCULATE(COUNT('你的工单表'[Summary]), '你的工单表'[status] = "Expected") Closed数量 = CALCULATE(COUNT('你的工单表'[Summary]), '你的工单表'[status] = "Closed")
创建方法:点击建模→新建度量值,逐个输入上面的公式即可。
3. 可视化展示(两种风格可选)
风格一:矩阵表格(清晰展示每日各状态数量)
这是最直观的方式,步骤如下:
- 切换到报表视图,添加一个矩阵可视化组件
- 把
created列拖到矩阵的行区域,status列拖到列区域 - 把“工单数量”(或者你创建的各个状态度量值)拖到值区域
- 调整格式:点击矩阵的格式选项卡,找到“行”→“日期格式”,设置为
d.M.(这样日期就显示成1.2.这种格式);还可以设置值的显示格式,比如空值显示为0或者隐藏。
风格二:自定义文本格式(完全匹配你要的示例样式)
如果你想要像1.2.:1个Failed / 1个Expected这样的文本展示,可以创建一个拼接文本的度量值:
每日状态汇总文本 = VAR 统计Failed = CALCULATE(COUNT('你的工单表'[Summary]), '你的工单表'[status] = "Failed") VAR 统计Expected = CALCULATE(COUNT('你的工单表'[Summary]), '你的工单表'[status] = "Expected") VAR 统计Closed = CALCULATE(COUNT('你的工单表'[Summary]), '你的工单表'[status] = "Closed") VAR 有效统计项 = CONCATENATEX( FILTER( { ("Failed", 统计Failed), ("Expected", 统计Expected), ("Closed", 统计Closed) }, [Value2] > 0 ), [Value2] & "个" & [Value1], " / " ) RETURN FORMAT(MAX('你的工单表'[created]), "d.M.") & ":" & 有效统计项
然后添加一个表格可视化,把created列拖到行区域,把这个度量值拖到值区域,就能得到你想要的那种文本格式的汇总了。
4. 可选:补全缺失日期(如果需要展示所有日期)
如果有些日期没有工单,你希望这些日期也显示出来(比如显示3.2.:0个Failed / 0个Expected / 0个Closed),可以生成一个完整的日期表:
- 新建表,输入DAX:
日期表 = CALENDAR(MIN('你的工单表'[created]), MAX('你的工单表'[created]))
- 然后在数据模型里,把
日期表[Date]和你的工单表[created]建立关联(一对多) - 后续可视化的时候用
日期表[Date]代替原来的created列,这样所有日期都会显示,没有工单的状态计数会显示0。
内容的提问来源于stack exchange,提问作者burnhard
相关产品推荐
相关产品推荐

