计算两个不同表格的where子句

我有一段时间没有写DAX,而且我也有点难以把它放在一起,我希望有人能提出一个build议。

我拥有的:

数量表(比1月多了很多个月):

+----------+-----------+----------+ | Location | Date | LaborQty | +----------+-----------+----------+ | NY | 1/3/2017 | 41.024 | | NY | 1/4/2017 | 33.836 | | NY | 1/5/2017 | 20.431 | | NY | 1/6/2017 | 35.544 | | NY | 1/7/2017 | 0 | | NY | 1/9/2017 | 33.337 | | NY | 1/10/2017 | 41.799 | | NY | 1/11/2017 | 70.469 | | NY | 1/12/2017 | 35.514 | | NY | 1/13/2017 | 31.573 | | NY | 1/15/2017 | 0 | | NY | 1/16/2017 | 22.041 | | NY | 1/17/2017 | 30.518 | | NY | 1/18/2017 | 47.576 | | NY | 1/19/2017 | 29.53 | | NY | 1/20/2017 | 18.155 | | NY | 1/21/2017 | 0 | | NY | 1/23/2017 | 31.284 | | NY | 1/24/2017 | 27.695 | | NY | 1/25/2017 | 38.907 | | NY | 1/26/2017 | 16.289 | | NY | 1/27/2017 | 30.976 | | NY | 1/28/2017 | 0 | | NY | 1/30/2017 | 21.434 | | NY | 1/31/2017 | 16.49 | +----------+-----------+----------+...etc 

费率表:

 +----------+-----------+------------+-----------+---------+-----------+--------+ | Location | DateFrom | DateTo | MonthFrom | MonthTo | RateType | Amount | +----------+-----------+------------+-----------+---------+-----------+--------+ | NY | 1/1/2017 | 6/30/2017 | 1 | 6 | LaborRate | 129.7 | | NY | 7/1/2017 | 9/30/2017 | 7 | 9 | LaborRate | 129.8 | | NY | 10/1/2017 | 12/31/2017 | 10 | 12 | LaborRate | 129.9 | | DC | 1/1/2017 | 6/30/2017 | 1 | 6 | LaborRate | 130.1 | | DC | 7/1/2017 | 9/30/2017 | 7 | 9 | LaborRate | 130.5 | | DC | 10/1/2017 | 12/31/2017 | 10 | 12 | LaborRate | 130.7 | +----------+-----------+------------+-----------+---------+-----------+--------+ 

期望的月份输出types(例如LaborQty x LaborRate)

 +-------+----------+-----------+------------+ | Month | LaborQty | LaborRate | Result | +-------+----------+-----------+------------+ | 1 | 674.22 | 129.74 | 87473.3 | | 2 | 350 | 129.74 | 45409 | | 3 | 375 | 129.74 | 48652.5 | | 4 | 400 | 129.74 | 51896 | | 5 | 380 | 129.74 | 49301.2 | | 6 | 500 | 129.74 | 64870 | | 7 | 550 | 129.76 | 71368 | | 8 | 600 | 129.76 | 77856 | | 9 | 675 | 129.76 | 87588 | | 10 | 700 | 129.98 | 90986 | | 11 | 780 | 129.98 | 101384.4 | +-------+----------+-----------+------------+ 

我正在写的东西:

DAX度量将输出结果列中显示的数量。 如果我在哪里写一个linq查询select正确的速度,它会看起来像这样:

 LaborRate = db.Rates .Where(a => a.DateFrom <= SelectedDate & a.DateTo >= SelectedDate & a.RateType == "LaborRate") .Select(a => a.Amount).Sum(); 

我已经尝试了CALCULATE,SUM,SUMX,FILTER,RELATED的组合,但是我无法使它工作。 任何意见将不胜感激。 什么是最简单的方法?

我能够通过以下做到这一点。

  1. Month = MONTH(Qty[Date])作为计算列添加到您的Qty表中。
  2. Qty表中创buildTotalLaborQty度量值SUM(Qty[LaborQty])
  3. Rates表中定义一个LaborRate度量,如下所述。
  4. Result度量定义为[TotalLaborQty] * [LaborRate]
  5. 将它们设置为matrix,其中行和三个度量中的Qty[Location]Qty[Month]

 LaborRate = VAR SelectedMonth = SELECTEDVALUE(Qty[Month]) VAR SelectedLocation = SELECTEDVALUE(Qty[Location]) RETURN CALCULATE(SUM(Rates[Amount]), FILTER(ALL(Rates), Rates[MonthFrom] <= SelectedMonth && Rates[MonthTo] >= SelectedMonth && Rates[Location] = SelectedLocation))