提问人:eagleaye 提问时间:11/14/2023 更新时间:11/15/2023 访问量:45
Dax 度量值,用于基于日期切片器在列中查找最新值
Dax measure to look up the latest value in a column based on a date slicer
问:
我有一个表格,有三列,日期(可以追溯到 2017 年)、产品(在不同时间订购的同一组库存商品)和价格(每次订购的价格都不同)。
我计算每个月发行的总股票,需要一个度量值,根据切片机选择的日期查找最后价格,而不是最高价格。最终目标是获得一份报告,我可以快速分析年度库存数据。
我有 MAXX('stockin','stockin'[unitprice]) 的措施有效,但只给出支付的最高价格,或者如果该物品当月未订购(如在切片机上选择),则没有价值(库存可以发行但未订购当月)。
我试图让一些类似的解决方案起作用,但似乎不能让它们为我工作。
任何人都可以为此提供任何解决方案或想法吗?
答:
0赞
Sam Nseir
11/14/2023
#1
如果表的顺序正确,则可以使用 或 。FIRSTNONBLANK
LASTNONBLANK
LASTNONBLANK('stockin'[unitprice], 1)
如果你正在寻找切片器范围之前的最后一个值,那么:
YourMeasure =
var maxDateSelected = LASTDATE('YourDateTable'[Date])
var maxDateAvaialble = CALCULATE(
LASTDATE('stockin'[date]),
FILTER(ALL('stockin'), NOT ISBLANK('stockin'[unitprice]) && 'stockin'[date] <= maxDateSelected )
)
RETURN CALCULATE(
LASTNONBLANK('stockin'[unitprice], 1),
FILTER( ALL('stockin'[date]), 'stockin'[date] = maxDateAvaialble )
)
评论
0赞
eagleaye
11/15/2023
谢谢山姆,但这似乎对我不起作用。我尝试切片具有两个不同价格的月份,并找到了最早的价格,如果我选择一个没有交付任何库存的月份,或者一个未来的月份,什么都没有显示,我想参考所选日期之前的所有历史记录。我的日期表或切片器的配置方式(磁贴)是否有问题?
0赞
Sam Nseir
11/15/2023
将第二部分更新为上面的答案。试一试。
0赞
eagleaye
11/16/2023
我收到语法错误,我认为使用 maxSelectedAvailable 行,var 在智能感知中显示为不可选择,并且似乎无法纠正它
0赞
Sam Nseir
11/16/2023
我不得不猜测你的日期列在表格中叫什么。根据需要进行更新。stockin
0赞
Sam Nseir
11/16/2023
如果您没有 Date 列,而是它是一个键,请替换为stockin
LASTDATE('stockin'[date])
MAX('stockin'[date])
评论