我正在尝试计算库存中每种产品的“库存天数”。作为数据源,我有一个专用的“日历”表和一个“库存变动”表,其中仅包含实际发生变动的日期(而不是每天)的记录。这些表之间有关系。
使用下面的代码,我尝试在DAX中进行“左连接”替代,然后计算之后的行数。结果毫无意义。
我需要获取从年初开始QTY > 0
的天数,包括不动的天数。包含“计算”,用于将行上下文(模型,分支等)传输到度量。
days in stock =
VAR StockPerDay =
ADDCOLUMNS (
'Calendar';
"DailyQty"; CALCULATE (
SUM ( StockMovement[qty] );
StockMovement[Date] <= EARLIER ( 'Calendar'[Date] )
)
)
RETURN
COUNTROWS ( FILTER ( StockPerDay; [DailyQty] > 0 ) )
“库存移动”表中的数据如下所示:
我是DAX的新手,所以我们将不胜感激。
答案 0 :(得分:0)
我想出了一个希望对我有用的解决方案。非常感谢@Alexis Olson编辑我的凌乱代码,这让我焕然一新。
DaysInStock :=
VAR StockPerDay =
CALCULATETABLE (
ADDCOLUMNS (
'Calendar';
"DailyQty"; SUMX (
FILTER ( StockMovement; StockMovement[Date] <= 'Calendar'[Date] );
StockMovement[QTY]
)
);
'Calendar'[Date]
<= TODAY () - 1
)
VAR NoOfDays =
COUNTROWS ( FILTER ( StockPerDay; [DailyQty] > 0 ) )
VAR DateLimit =
DATE ( YEAR ( TODAY () ); 1; 15 )
RETURN
IF (
NoOfDays >= DATEDIFF ( DateLimit; TODAY (); DAY );
TODAY () - DateLimit;
NoOfDays
)
如果有一种方法可以优化上述内容,请分享您的想法。