两个不同的 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]
如果你愿意,我可以提供详细的解释,但我认为函数定义几乎涵盖了它。
我想创建 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]
如果你愿意,我可以提供详细的解释,但我认为函数定义几乎涵盖了它。