powerbi - 如何使用 DAX 在 Power BI 中根据不同级别汇总度量
问题描述
我有以下表结构:
| Name 1 | Name 2 | Month | Count 1 | Count 2 | SumCount |
|--------|--------|--------|---------|---------|----------|
| A | E | 1 | 5 | 3 | 8 |
| A | E | 2 | 1 | 6 | 7 |
| A | F | 3 | 3 | 4 | 7 |
现在我用 DAX 度量计算以下内容。
Measure = (sum(Table[Count 2] - sum(Table[Count 1])) * sum(Table[SumCount])
我不能使用列,因为在排除图层(例如月份)之前应用了公式。添加到我的表结构并排除月份,它看起来像这样:
| Name 1 | Name 2 | Count 1 | Count 2 | SumCount | Measure |
|--------|--------|---------|---------|----------|---------|
| A | E | 6 | 9 | 15 | 45 |
| A | F | 3 | 4 | 7 | 7 |
我在视图中添加了一个表格,该表格仅显示Name 1
在这种情况下,度量当然会汇总Count 1
,Count 2
并SumCount
应用导致以下结果的度量:
| Name 1 | Measure |
|--------|---------|
| A | 88 |
但期望的结果应该是
| Name 1 | Measure |
|--------|---------|
| A | 52 |
这是 的总和Measure
。
所以基本上我想在我的基础级别上进行计算,Measure = (sum(Table[Count 1] - sum(Table[Count 2])) * sum(Table[SumCount])
但是在钻取和分组这些名称时,它应该只执行sum
.
解决方案
像这样的迭代器函数SUMX
就是你想要的,因为你试图逐行求和而不是先聚合。
Measure = SUMX ( Table, ( Table[Count 2] - Table[Count 1] ) * Table[SumCount] )
您拥有的任何过滤器都将应用于第一个参数 ,Table
并且它只会对相应的行求和。
编辑:
如果我理解正确,您希望Month
在获取差异和产品之前进行汇总。一种方法是Month
在使用之前总结(不包括 ),SUMX
如下所示:
Measure =
VAR Summary =
SUMMARIZE (
Table,
Table[Name 1],
Table[Name 2],
"Count1Sum", SUM ( Table[Count 1] ),
"Count2Sum", SUM ( Table[Count 2] ),
"SumCountSum", SUM ( Table[SumCount] )
)
RETURN
SUMX ( Summary, ( [Count2Sum] - [Count1Sum] ) * [SumCountSum] )
推荐阅读
- reactjs - 如何在带有 React 应用程序的 Firebase 托管中使用站点地图
- postgresql - 为什么 autovacuum 不清理我的桌子?
- login - linkedin oauth2 登录返回“504 网关超时”
- google-chrome-extension - Chrome 扩展 i18n:拆分 messages.json 文件?
- c# - WriteableBitmap 不要让我画一个矩形 (AccessViolationException)
- r - 名称中带有空格的其他目录中带有 zip 文件的数据表 fread
- .net - 如何实时更新具有正在运行的进程的 ListBox?
- symfony - Symfony 4 - 选项“invalid_message”不存在
- docker - 如何加速`docker load`然后`docker pull`增量更改
- powershell - 如何在获取构建列表 VSTS REST API 中应用过滤器?