DAX "Days in Stock" 来自库存变动 table
DAX "Days in Stock" from Stock Movement table
我正在计算库存中每种产品的 "days in stock" 数量。作为数据源,我有一个专用的日历 table 和一个股票变动 table,其中仅包含实际发生变动的日期(不是每天)的记录。 table之间有关系。
使用下面的代码,我尝试在 DAX 中创建一个 "left join" 替代项并计算之后的行数。结果没有意义。
我需要获取从年初开始 QTY > 0
的天数,包括没有移动的天数。包含一个 "Calculate" 用于将行上下文(模型、分支...)传输到度量。
days in stock =
VAR StockPerDay =
ADDCOLUMNS (
'Calendar';
"DailyQty"; CALCULATE (
SUM ( StockMovement[qty] );
StockMovement[Date] <= EARLIER ( 'Calendar'[Date] )
)
)
RETURN
COUNTROWS ( FILTER ( StockPerDay; [DailyQty] > 0 ) )
Stock Movement table 中的数据如下所示:
我是 DAX 新手,非常感谢任何帮助。
我想出了一个希望对我有用的解决方案。非常感谢@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
)
如果有优化上述方法的方法,请分享您的想法。
我正在计算库存中每种产品的 "days in stock" 数量。作为数据源,我有一个专用的日历 table 和一个股票变动 table,其中仅包含实际发生变动的日期(不是每天)的记录。 table之间有关系。
使用下面的代码,我尝试在 DAX 中创建一个 "left join" 替代项并计算之后的行数。结果没有意义。
我需要获取从年初开始 QTY > 0
的天数,包括没有移动的天数。包含一个 "Calculate" 用于将行上下文(模型、分支...)传输到度量。
days in stock =
VAR StockPerDay =
ADDCOLUMNS (
'Calendar';
"DailyQty"; CALCULATE (
SUM ( StockMovement[qty] );
StockMovement[Date] <= EARLIER ( 'Calendar'[Date] )
)
)
RETURN
COUNTROWS ( FILTER ( StockPerDay; [DailyQty] > 0 ) )
Stock Movement table 中的数据如下所示:
我是 DAX 新手,非常感谢任何帮助。
我想出了一个希望对我有用的解决方案。非常感谢@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
)
如果有优化上述方法的方法,请分享您的想法。