powerbi - 如何使用 DAX Power BI 按百分比计算每个变量的值
问题描述
需要您的帮助来解决我关于 DAX Power BI 的问题。
因此,我正在尝试使用 Power BI 可视化每个有员工参与的项目的总成本。但是一个员工的成本可以按每个项目的百分比分摊到某个项目。
目标是计算每个员工的总成本,然后按百分比将其分成几个项目。
这是excel数据。所以我有3张桌子。成本、主用户和付款分配。
-成本
-主用户
-付款分配
这是预期的结果。
请帮我解决我的问题,非常感谢!
解决方案
首先,您需要稍微更改您的 COST 表:
我将“ID”替换为“Employee Number”,因为我们需要 COST 和 ALLOCATION 表具有相同的 Employee 键。我忽略了“产品”列,因为它与问题无关。
一旦 COST 表与 ALLOCATION 表具有相同的员工键,您就可以将所有表连接到以下数据模型中:
表“用户”通过“员工编号”连接到表“成本”和“分配”。请注意,“用户”和“分配”之间的连接是双向的。要将连接从单向更改为双向,请双击连接线并将过滤器方向更改为双向。现在您已准备好编写 DAX 度量。
措施一:
Total Cost = SUM(COST[COST])
该度量仅在“COST”表中汇总成本。
措施2:
Allocated % = SUM(Allocation[PERCENTAGE])
该度量只是在“分配”表中总结了百分比。
措施 3:
Allocated Cost = SUMX('User', [Total Cost] * [Allocated %])
如果将 Projects 放入矩阵视觉对象并添加此度量,您将获得以下结果:
附加说明:
有经验的设计师避免在他们的模型中使用双向关系(有充分的理由)。要使所有关系保持单向,请按如下方式修改最后一个度量:
Allocated Cost =
CALCULATE(
SUMX('User', [Total Cost] * [Allocated %]),
CROSSFILTER(User[EMPLOYEE NUMBER], Allocation[EMPLOYEE NUMBER], BOTH))
CROSSFILTER 与双向关系完全一样,只是以编程方式并且没有不必要的副作用。这种方法也适用于不支持双向连接的 Excel Power Pivot。
推荐阅读
- jquery - 我的 ajax json 响应出现错误 Shows Uncaught SyntaxError: Unexpected token o in JSON at position 1
- jira - 发布观察者未收到有关 JIRA 软件的电子邮件通知
- java - 将 Vaadin App 与 Hibernate 连接到 Azure 上的 MariaDB 时如何使用 SSL 加密
- html - 如何在桌面上的 django 网页上显示图像?
- ios - 使用 Alamo fire 立即调用关闭
- delphi - 分配 hdc 值以调用 GetGlyphIndices(hdc,lpstr,c,pgi,l) 函数 n Delphi
- angular - 按钮单击时的 Highcharts 上下文菜单
- java - 以编程方式将图像和文本添加到 TableRow
- google-places-api - Google Places 和 Autocomplete,更新到 New Places SDK 时出现问题
- xslt - XSLT 将 "params" 与 "match="@*|node()" 结合起来