如何根据第二个PowerPivot表的行SUMIF一个PowerPivot表?

我有两个表:一个客户(“捐助者”)和一个交易(“交易”)。 在捐助者中,我想要一个“总计”列,用一个特定的捐助者ID来总结所有的交易,我将在一个标准的Excel表格中进行计算:

=SUMIF(Trans[Donor ID],[@ID],Trans[Amt]) 

简单! 如何用DAX公式做同样的事情? 我想

 =CALCULATE(SUM(Trans[Amt]),Trans[Donor ID]=[ID]) 

会做到这一点,但我得到的错误

 Column "ID" cannot be found or may not be used in this expression. 

奇怪的是,当我使用

 =CALCULATE(SUM(Trans[Amt]),Trans[Donor ID]=3893) 

我得到了ID 3893的总数。

Eschewing CALCULATE,我确实发现这个工作:

 =SUMX(FILTER(Trans, Trans[Donor ID]=[ID]),[Amt]) 

…但它只允许一个filter,我需要能够添加更多的filter,但:

 =SUMX(CALCULATETABLE(Trans, Trans[Donor ID]=[ID]),[Amt]) 

…(我的理解是像FILTER,但允许倍数)不起作用。

你能确定我做错了什么吗?

把一个看起来像这样的快速模型放在一起后:

我已经确认这个DAX论坛在Donor表中作为计算列工作:

 =CALCULATE(SUM(Trans[Amt]), FILTER(Trans, Trans[Donor] = Donor[DonorKey])) 

这里的关键是确保两个表之间的关系是正确configuration的,然后确保使用CALCULATE()和FILTER()的组合 – 根据当前的施主上下文过滤转换表。