powerbi - DAX AVERAGEX 包括 0 表示总平均值
问题描述
我的表代表在生产线上工作的用户。表中的每一行提供用户在 15 分钟窗口内生产的单位数。我正在尝试计算每个用户的单位/小时(这似乎工作正常),但我的总体平均值似乎偏离了。
我的测量表和结果:
逐行这是我正在寻找的。但是 179.67 的总平均值是错误的。应该是 196。我认为对于 11:30 的时间戳,Leondro 没有任何工作,它包括一个 0。我想排除这一点。
措施:
UPH =
var unitshour = CALCULATE(SUM(Table1[Units]) / (DISTINCTCOUNT(Table1[DateTime])/4))
var users = AVERAGEX( VALUES(Table1[DateTime]), DISTINCTCOUNT(Table1[Username]))
RETURN
unitshour/ users
解决方案
如果您想平等对待每个时间段,我认为 196 不是您想要的数字。我建议这个替代方案:
UPH =
AVERAGEX (
VALUES ( Table1[DateTime] ),
CALCULATE ( 4 * SUM ( Table1[Units] ) / DISTINCTCOUNT ( Table1[Username] ) )
)
如果您希望每个时间段按该时间段内的用户数加权,那么 196 就是您想要的。
UPHUserWeighted =
VAR Summary =
SUMMARIZE (
Table1,
Table1[DateTime],
Table1[Username],
"UPH", 4 * SUM ( Table1[Units] ) / DISTINCTCOUNT ( Table1[Username] )
)
RETURN AVERAGEX ( Summary, [UPH] )
推荐阅读
- android - 仅在 Kotlin 中使用 android 相机意图拍照,而不是视频
- reactjs - React 替换组件WillReceiveProps
- algorithm - 关于循环算法的进程和队列的理解问题
- java - 如何使用多个数据源进行故障转移 rdbms
- python - 使networkx情节看起来不错
- excel - 如何修复 Power BI 中类型更改的错误?
- html - CSS滚动阴影没有出现在背景颜色之上
- java - 如何在 switch 语句中使用字符串作为 case 标签
- json - 如何在 Gulp 中创建 Watch 以在 JSON 文件更改时进行更新
- winapi - MFC/GDI CRgn CreateEllipticRgn 短两个像素?