You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI平均值度量问题:如何保留计数为0的时段?

找回Power BI中计数为0的半小时时段平均值解决方案

当前你的度量值仅在datasetInput存在对应记录时才计算平均值,导致无数据(计数为0)的半小时时段被自动过滤。要保留所有时段,核心是引入独立的半小时粒度时间维度表,确保每个时段都有上下文,具体操作如下:

1. 创建半小时时间维度表

用DAX生成包含全年所有半小时时间点的维度表,替换代码中的年份范围为你的业务时间范围:

TimeDim = 
ADDCOLUMNS (
    GENERATE (
        CALENDAR (DATE(2023,1,1), DATE(2023,12,31)), -- 替换为目标年份的起止日期
        GENERATESERIES (TIME(0,0,0), TIME(23,30,0), TIME(0,30,0))
    ),
    "DateTime", [Date] + [Value],
    "HourHalf", FORMAT([Date] + [Value], "HH:mm") -- 用于标识半小时时段,如"00:00"、"00:30"
)

2. 建立表关系

在Power BI模型视图中,将TimeDim[DateTime]与datasetInput中记录半小时时间的字段建立一对多关系(默认关系方向即可)。

3. 修改度量值

调整原度量值,适配维度表的上下文,同时处理无数据场景:

averageValue = 
VAR TotalSum = SUM('datasetInput'[averageTraceForecast])
VAR ValidCount = 
    CALCULATE (
        COUNT('datasetInput'[averageTraceForecast]),
        'datasetInput'[averageTraceForecast] < 0.0 -- 保留原有的过滤条件
    )
RETURN
    IF(ISBLANK(TotalSum), 0, DIVIDE(TotalSum, ValidCount, 0))
  • 用DIVIDE函数避免除数为0的错误,同时指定无有效计数时返回0
  • 当某时段无数据时,TotalSum为空,直接返回0以保留该时段

4. 配置可视化

在图表(如矩阵、折线图)中,使用TimeDim[HourHalf]或TimeDim[DateTime]作为轴/行字段,而非datasetInput中的时间字段,此时所有半小时时段都会显示,包括计数为0的时段。

内容的提问来源于stack exchange,提问作者mhooper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:32:38