Powerbi 如何创建没有聚合的度量值?
我的数据模型中有两个表,它们使用DirectQuery连接。首先,我有一个与账户相关的成本列表: 第二个是账户组列表。同一帐户可以在不同的组中,对于某些组,其值可能为负值: 因此,我想在这里创建一个度量/计算列,显示与组相关的所有成本的摘要。结果将是: 我的第一个直觉是这样写的:Powerbi 如何创建没有聚合的度量值?,powerbi,dax,Powerbi,Dax,我的数据模型中有两个表,它们使用DirectQuery连接。首先,我有一个与账户相关的成本列表: 第二个是账户组列表。同一帐户可以在不同的组中,对于某些组,其值可能为负值: 因此,我想在这里创建一个度量/计算列,显示与组相关的所有成本的摘要。结果将是: 我的第一个直觉是这样写的: CalcAmount = SUM(Continents[Multiplier]) * SUM(Costs[Amount]) 然而,结果并不正确。例如,对于组D,它首先将乘数1和乘数-1相加,结果为0。然后它将0
CalcAmount = SUM(Continents[Multiplier]) * SUM(Costs[Amount])
然而,结果并不正确。例如,对于组D,它首先将乘数1和乘数-1相加,结果为0。然后它将0乘以数量,因此当乘数为+1和-1时,结果总是0
我如何才能创建一个公式,它不聚合乘数,而是单独乘以每个值?为什么它不起作用 您编写的度量值不正确,因为它与您描述的完全相同:在相乘之前对
乘数
/金额
列求和。它应该类似于以下内容:
CalcAmount = SUM(Groups[Multiplier] * Costs[Amount])
但是,要使其在Power BI中工作,需要以下几点:
- 两个表之间的正确关系
- 使用函数而不是SUM()
如何使其工作 我建议您将
成本
表按科目
分组(或者如果需要保留原始数据,则从当前表创建一个新表),以便可以与科目
列上的组
表建立一对多关系
成本
表:
之后,您可以创建一个度量值并使用SUMX()
函数执行行计算:
CalcAmount = SUMX(Groups, Groups[Multiplier] * RELATED(Costs[Amount]))
结果将如预期的那样:
您还可以添加科目
列以检查明细明细:
编辑:(通过创建新表的替代解决方案) 创建一个
Accounts
表,该表仅包含不同的Account
列:
表之间的关系:
创建一个总金额
度量,用于计算每个账户的总金额:
Total Amount = SUM(Costs[Amount])
对于CalcAmount
度量,请使用该度量而不是成本[金额]
:
CalcAmount = SUMX(Groups, Groups[Multiplier] * [Total Amount])
与上述结果相同:
您的预期结果是什么?注意,可视化将汇总组列,因此每个组只有一行。所以你的第一个C值应该是-160,第二个应该是160,如果你把-160+160加起来,它会给你0。例如,D组包含帐户1和帐户2。如果你看到成本表,1=$110+150,2=$130+160。由于账户1的乘数为负,因此-260美元+290美元=30美元。我将在问题中发布一个结果表。确定组
a
的正确金额
值的逻辑是什么,因为该组对应于帐户1
,该帐户在成本
表中有两个金额
值。你好,福山,我无法按科目对成本表进行分组,因为该表中还有其他列。我所做的是添加一个Accounts表,并将Costs表与之建立多对一的关系。然后,我创建了从Accounts表到Groups表的一对多关系。但是,当尝试使用公式时,相关函数返回“列“Costs[Amount]”或者不存在,或者与当前上下文中的任何可用表都没有关系。”。当两个表通过中间表关联时,是否有办法使其工作?@Lisovacaro您可以添加一个总额度量并替换表达式中的成本[金额]
。详细信息请查看已编辑的解决方案。