我对DAX语言还比较陌生,但我的问题是如何根据日期特定的变量(如假期绩效提升或年度低周期)转发项目。
我有两张桌子。一个有多个SKU的销售数据,另一个有一年中的时间变量。
我的预测值在一个小表中,其中包含所需的日期范围和%更改,如下所示。
date increase
1/1/2018 1
4/14/2018 .9
5/1/2018 1
6/1/2018 .85
8/1/2018 1.05
11/18/2018 1.25我只使用了一个CALCULATETABLE的DATEADD函数来预测未来的30天。
transOrder30:=VAR Days = -30
Return
SUMX(
CALCULATETABLE(sales,
DATEADD(
'Calendar'[Date] ,Days,DAY),
ALL(sales[date])
),
sales[organicOrder])其中organic_orders:=SUM(salesorganicOrder)
那么,我如何利用这个预计的30天,并在整个时间重复它,然后乘以它的时间变化?
在Excel中,这将与organicOrder*vlookup一样简单(日期,A:B,2)。
我看过这个家伙的帖子,但这对我不起作用。
https://blog.gbrueckl.at/2015/04/recursive-calculations-powerpivot-dax/
任何帮助都是非常感谢的!
示例:
Date Orders Date ToY
2/1/2018 15 2/10/2018 1
2/2/2018 19 2/20/2018 1.2
2/3/2018 12 3/2/2018 1.5
2/4/2018 18
2/5/2018 15
2/6/2018 14
2/7/2018 11
2/8/2018 16
2/9/2018 16
2/10/2018 18
2/11/2018 15.40 Projection =avg(orders)*ToY
2/12/2018 15.40 Projection
2/13/2018 15.40 Projection
2/14/2018 15.40 Projection
2/15/2018 15.40 Projection
2/16/2018 15.40 Projection
2/17/2018 15.40 Projection
2/18/2018 15.40 Projection
2/19/2018 15.40 Projection
2/20/2018 18.48 Projection
2/21/2018 18.48 Projection
2/22/2018 18.48 Projection
2/23/2018 18.48 Projection
2/24/2018 18.48 Projection
2/25/2018 18.48 Projection
2/26/2018 18.48 Projection
2/27/2018 18.48 Projection
2/28/2018 18.48 Projection
3/1/2018 18.48 Projection
3/2/2018 23.10 Projection
3/3/2018 23.10 Projection 发布于 2018-05-02 20:46:11
创建一个新的表格,您将在其中放置您的投影。这样做的一种方法是New > Projection = CALENDARAUTO()。
现在您有了一个日期列,我们将添加一个预计订单计算列。
(我假设您有两个表,Sales和Forecast,前者对应于示例数据前10行的Date和Orders列,后者对应于Date和ToY数据。)
ProjectedOrders =
VAR AverageOrder = AVERAGE(Sales[Orders])
VAR ToYDate = CALCULATE(MAX(Forecast[Date]),
Forecast[Date] < EARLIER(Projection[Date]))
RETURN
IF(Projection[Date] < MIN(Sales[Date]),
BLANK(),
IF(Projection[Date] IN VALUES(Sales[Date]),
LOOKUPVALUE(Sales[Orders], Sales[Date], Projection[Date]),
AverageOrder * LOOKUPVALUE(Forecast[ToY], Forecast[Date], ToYDate)
))如果日期在任何销售数据之前,并复制销售数据存在的日期,则为空白。否则,它会将平均顺序乘以该行中日期之前发生的最后一个ToY值。
https://stackoverflow.com/questions/49950502
复制相似问题