DAX公式问题:按切片器指定日期求和库存单位并显示在卡片
解决Power BI切片器日期筛选库存求和问题
问题根源
你当前的度量值Measure = CALCULATE ( SUM ( Inv[TY Inv] ), 'DailySales'[Like Date] )逻辑错误:直接传入列名作为筛选条件时,会把DailySales表中所有非空的Like Date值作为筛选范围,而非切片器选定的日期,所以会累加所有日期的库存数据。
解决方案
根据你的数据模型结构,分两种场景处理:
场景1:Inv表有直接的日期列(与DailySales的Like Date对应)
使用TREATAS函数将切片器选定的日期映射到Inv表的日期列上,确保筛选上下文正确传递:
Selected Date Inventory = CALCULATE( SUM(Inv[TY Inv]), TREATAS(VALUES('DailySales'[Like Date]), Inv[你的库存日期列]) )
替换Inv[你的库存日期列]为Inv表中存储对应日期的实际列名
场景2:使用独立日期维度表(推荐最佳实践)
如果你的模型中有单独的日期维度表(比如DateTable),且该表已与DailySales、Inv表建立正确的日期关联(交叉筛选方向设为"单向"或"双向"),直接用简单求和即可,上下文筛选会自动生效:
Selected Date Inventory = SUM(Inv[TY Inv])
此时切片器绑定DateTable[Date]即可实现精准筛选。
额外排查步骤
- 确认切片器绑定的字段是你用来筛选的日期列(比如
DailySales[Like Date]或日期维度表的日期) - 检查表间关系:确保日期筛选能从切片器所在表传递到
Inv表,可在模型视图中查看关系的交叉筛选方向是否正确 - 验证
Inv[TY Inv]字段是否为数值类型,避免因数据类型错误导致求和异常
内容的提问来源于stack exchange,提问作者Luis Gonzalez
相关产品推荐
相关产品推荐

