我的数据模型中有两个表,它们使用DirectQuery连接。首先,我有一份与账户有关的费用清单:

第二,一组账户的列表。同一账户可能属于不同的类别,对某些人来说,其价值可能为负值:

所以,我想在这里创建一个度量衡/计算列,它显示与一个组相关的所有成本的汇总。结果如下:

我的第一直觉是这样写:
CalcAmount = SUM(Continents[Multiplier]) * SUM(Costs[Amount])然而,结果是不正确的。例如,对于D组,它首先求和乘数1和乘法器-1,结果为0。当乘子为+1和-1时,结果总是0。
我如何创建一个公式,它不聚合乘数,而是单独地乘以每个值?
发布于 2017-01-17 03:19:18
为什么不能工作
您所写的度量是不正确的,因为它所做的与您所描述的完全一样:在乘前对Multiplier / Amount列进行求和。相反,它应该类似于以下内容:
CalcAmount = SUM(Groups[Multiplier] * Costs[Amount])然而,要使其在Power BI中工作,需要做以下工作:
如何使它工作
我建议您将Costs表按Account分组(或者根据当前表创建一个新表(如果需要保留原始数据),以便与Account列上的Groups表建立一对多的关系。
Costs表:


之后,您可以创建一个度量,并使用SUMX()函数执行逐行评估:
CalcAmount = SUMX(Groups, Groups[Multiplier] * RELATED(Costs[Amount]))结果将如预期的那样:

还可以添加Account列以检查详细信息细分:

编辑:(创建新表的替代解决方案)
创建一个只有不同的Accounts列的Account表:


各表之间的关系:

创建一个计算每个帐户总数的Total Amount度量:
Total Amount = SUM(Costs[Amount])使用度量值而不是Costs[Amount]来进行CalcAmount度量:
CalcAmount = SUMX(Groups, Groups[Multiplier] * [Total Amount])与上述相同的结果:

https://stackoverflow.com/questions/41681609
复制相似问题