powerbi - Microsoft Power BI DAX - 使用 ALLEXCEPT 的棘手情况
问题描述
我有一种情况,我有一个带有一张表的 excel 文件,我将这张表(销售)加载为 Power BI 表。
我有两个主要的维度列 - 模型和产品。我有一个名为 SalesAmount 的数字列。
我的 Sales 表中总共只有 3 个源列。
一个模型可以有许多产品,因此是 1:M 关系,但在同一个(销售)表中。
如图所示,我正在使用 Power BI 矩阵。
我有以下内容:
1)
称为[Sum of SalesAmount] 的度量:SamesAmount 列的简单总和
2)
Sales 表中名为[ModelSalesAmount]的计算列:
ModelSalesAmount = CALCULATE(
SUM(Sales[SalesAmount]),
ALLEXCEPT(Sales,Sales[Model])
)
Sales 表中名为[ProductOnModel]的计算列:
ProductOnModel = Sales[SalesAmount]/Sales[ModelSalesAmount]
我有如图所示的矩阵视觉。
ModelSalesAmount 的聚合值不正确。
HL Fountain Frame是一个模型,这个模型下有8个产品。
在矩阵中具有 SUM 聚合的计算列 Sales[ModelSalesAmount] 在产品级别 (3,365,069.274) 正常工作,但在模型级别不能正常工作。模型级别聚合 26,920,554.19 不正确。我想要模型级别的 3,365,069.274,而不是 26,920,554.19。
有趣的是,在矩阵中使用 SUM 聚合的计算列 Sales[ProductOnModel],而在分母中使用 Sales[ModelSalesAmount] 计算列,在单个产品级别和模型级别都可以正常工作!
我应该怎么做才能删除不需要的值 26,920,554.19,并使其变为 3,365,069.274 ?
我在下面尝试了这个,但没有工作:
ModelSalesAmount_CC = IF (
HASONEVALUE(Sales[Product]) = TRUE,
CALCULATE(
SUM(Sales[SalesAmount]),
ALLEXCEPT(Sales,Sales[Model])
),
...........
)
请问有什么建议吗?
解决方案
将计算列 [ModelSalesAmount] 更改为度量值,我得到正确的输出。谢谢亚历克西斯。
推荐阅读
- mysql - mysql比较ip地址
- c# - TypeScript 编译中缺少文件 custom.ts。请通过 'files' 或 'include' 属性确保它在您的 tsconfig 中
- javascript - JDBC 驱动程序从 mysql 返回错误的值
- grafana - Grafana - 如何绘制动态传递的每个变量的指标
- docker - Docker 看不到 main.go
- python - 不能将 queue.put 与 keras 模型一起使用
- r - 控制哪些节点改变大小 igraph
- java - 这是否意味着使用 newSingleThreadExecutor() 将在每个任务的同一 CPU 内核上执行给定的任务?
- postgresql - 欧洲进口陷入困境
- c++ - 我不能在一行中多次调用 rand() 吗?