DAX TOTALYTD在两个不同的cadandars

我期待创造一个年至今的总额,但是,年终date需要改变,取决于另一列的价值。 换句话说,第一组会计年度将从11月1日(11月1日)到10月31日(10月31日),而第二组会计年度将从7月1日(7月1日) 6月30日(7月30日)。 我需要做的是在计算会计年度时,我需要根据订单项所属的组来计算当年的计算。因此,2015年的第1组将是2014-11-01至2015-10-31而2015年第二组将是2014-07-01至2014-06-30。 请在这里看到一个示例表(请注意,我有一个与此相关的date表以创builddate函数):

**Table 1** ------------------------- Group | Date | Qty 1 | 2014-10-01 | 1 1 | 2014-11-01 | 1 1 | 2015-01-01 | 2 1 | 2015-05-01 | 1 1 | 2015-10-31 | 2 1 | 2015-11-01 | 1 2 | 2014-06-01 | 1 2 | 2014-07-01 | 1 2 | 2014-12-25 | 2 2 | 2015-01-01 | 1 2 | 2015-06-30 | 2 2 | 2015-07-01 | 1 

考虑到这些信息,我需要创build一个YTDTOTAL函数,根据订单项所在的组来dynamic更改参数。我想使用if语句,但是意识到它不适用于度量。 像这样的东西:

 Total $ Sold YTD = TOTALYTD([TOTAL $ Sold],directSQLDateTable[date],ALL(directSQLDateTable[date]), IIF([GROUP = "A","10/31","6/30")) 

最后,我想创build一个类似于此的输出(“A组年年至”和“B组年初至今”列确实是不需要的,只是想补充说明我的例子):

 Year-Month | Total_Qty | Group A YTD | Group B YTD -------------------------------------------------- 2014-07 | 1 | 0 | 1 2014-08 | 1 | 0 | 1 2014-09 | 1 | 0 | 1 2014-10 | 2 | 1 | 1 2014-11 | 2 | 1 | 1 2014-12 | 4 | 1 | 3 2015-01 | 7 | 3 | 4 2015-02 | 7 | 3 | 4 2015-03 | 7 | 3 | 4 2015-04 | 7 | 3 | 4 2015-05 | 8 | 4 | 4 2015-06 | 10 | 4 | 6 2015-07 | 5 | 4 | 1 2015-08 | 5 | 4 | 1 2015-09 | 5 | 4 | 1 2015-10 | 7 | 6 | 1 2015-11 | 2 | 1 | 1 2015-12 | 2 | 1 | 1 

请让我知道,如果你有任何问题。 我提前道歉,如果我没有做这么好的工作解释,或者如果我遗漏了一个信息。

感谢您提前给予任何build议/帮助! 你们在这里是最好的!

TOTALYTD()包括你需要的所有东西。

 TotalQty:= SUM(Table1[Qty]) QtyYTDGroup1:= TOTALYTD( [TotalQty] ,DimDate[Date] ,Table1[Group] = 1 ,"10/31" ) QtyYTDGroup2:= TOTALYTD( [TotalQty] ,DimDate[Date] ,Table1[Group] = 2 ,"6/30" ) TotalQtyYTD:= [QtyYTDGroup1] + [QtyYTDGroup2] 

我可以提供一个详细的解释,如果你想,但我认为function定义几乎涵盖了它。