DAX计算多个标准问题

时间:2015-10-16 00:14:38

标签: excel excel-formula powerpivot dax

通过PowerPivot我的计算功能有问题,给我正确的数字。假设以下信息。

RepairsTable

Repair ID   Location    Amount  Date
1   West    50  Aug
2   East    60  Aug
3   West    40  Sep
4   East    30  Sep
5   West    1000    Sep

MilesTable

Location    Miles   Date    Total Amt Repairs
West    100 Sep 
East    100 Aug 

里程表中的总金额维修是PowerPivot中的一个计算列,我想显示基于位置和位置的维修总额。维修表的日期。

我使用了以下公式:

=CALCULATE(SUM(RepairsTable[Amount]),FILTER(RepairsTable,RepairsTable[Date]=MilesTable[Date]))

=CALCULATE(SUM(RepairsTable[Amount]),FILTER(RepairsTable,RepairsTable[Location]=MilesTable[Location]))

以及:

=CALCULATE(SUM(RepairsTable[Amount]),FILTER(RepairsTable,RepairsTable[Date]=MilesTable[Date]&&RepairsTable[Location]=MilesTable[Location]))

=CALCULATE(SUM(RepairsTable[Amount]),FILTER(RepairsTable,RepairsTable[Date]=MilesTable[Date]),FILTER(RepairsTable,RepairsTable[Location]=MilesTable[Location]))

我的生活似乎无法在Total Amt Repairs计算列中找到正确的值。我正在寻找的价值是:

1040 for West/Sep
60 for East/Aug

我可以在电子表格中使用SUMIFS函数完成此操作,但我无法在PowerPivot中使用它。

1 个答案:

答案 0 :(得分:0)

所以,这里要介绍几件事。

  1. 如果问题在其他地方解决了,为什么要更换工具?
  2. 为什么这个聚合需要在计算列中?您在此处查看的聚合类型通常通过度量而非计算列在数据透视表中执行。
  3. 如果了解上述情况,您仍然确信在模型中的计算列中执行此操作是正确的解决方案,您的第3和第4项指标对我来说都适用于您的样本数据,而与之无关表格,每个表格[位置]之间的关系,或者每个表格[日期]之间的关系。
  4. 除此之外,您想要的最佳表述如下:

    =CALCULATE(
        SUM(RepairsTable[Amount])
        ,RepairsTable[Date] = EARLIER(MilesTable[Date])
        ,RepairsTable[Location] = EARLIER(MilesTable[Location])
    )
    

    我犹豫不决,但是,因为它与你的第四个定义相同,只有两个过滤器,只是更清晰地表达。

    您的实际数据与此示例有何不同?