两个不同的 cadandars 上的 DAX TOTALYTD

DAX TOTALYTD on two different cadandars

我想创建 YTD 总计,但是,年终日期需要根据另一列中的值进行更改。换句话说,第 1 组的财政年度将从 11-1(11 月 1 日)到 10-31(10 月 31 日),而第 2 组的财政年度将从 7-1(7 月 1 日)到6-30(7 月 30 日)。我需要做的是在计算财政年度时,我需要根据行项目所在的组对那一年进行不同的计算。因此,第 1 组的 2015 年将是 2014-11-01 到 2015-10-31而第 2 组的 2015 年将是 2014-07-01 到 2014-06-30。请在此处查看示例 table(请注意,我确实有一个与此相关的日期 table,以便创建日期函数):

         **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

考虑到这些信息,我需要创建一个 YTDTOTAL 函数,该函数将根据订单项所在的组动态更改 , 参数。我考虑过使用 if 语句,但意识到它不会制定一项措施。像这样:

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

最后,我想创建一个类似于此的输出(确实不需要 "Group A YTD" 和 "Group B YTD" 列,只是想添加以演示我的示例):

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

如果您有任何问题,请告诉我。如果我没有很好地解释这一点,或者如果我遗漏了一些信息,我会提前道歉。

提前感谢任何advice/help!你们是最棒的!

TOTALYTD() includes everything you need for this.

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]

如果你愿意,我可以提供详细的解释,但我认为函数定义几乎涵盖了它。