DAX技术问询:基于Mirror_Store_ID计算镜像门店score度量值
解决DAX中获取镜像门店Score度量值的问题
你需要实现的是基于每行MIRROR_STORE_ID匹配对应门店的score度量值,类似Excel的VLOOKUP功能。你的原DAX表达式无法达到预期,原因是没有利用当前行的上下文筛选,而是直接在全表中匹配STORE_ID与MIRROR_STORE_ID相等的行。
正确的DAX表达式方案
方案一:使用变量+SELECTEDVALUE(适配度量值场景)
Score_Mirror_Store = VAR CurrentMirrorID = SELECTEDVALUE(StoreTable[MIRROR_STORE_ID]) RETURN CALCULATE([score], StoreTable[STORE_ID] = CurrentMirrorID)
- 逻辑:先通过
SELECTEDVALUE获取当前行上下文的MIRROR_STORE_ID,再用CALCULATE筛选出STORE_ID等于该镜像ID的行,计算对应的score度量值。
方案二:使用LOOKUPVALUE(适用于score为计算列的场景)
如果score是表中的计算列而非度量值,可直接用LOOKUPVALUE实现类似VLOOKUP的匹配:
Score_Mirror_Store = LOOKUPVALUE(StoreTable[score], StoreTable[STORE_ID], StoreTable[MIRROR_STORE_ID])
应用上述表达式后,表格将正确返回每行镜像门店的score,与你预期的效果一致。
内容的提问来源于stack exchange,提问作者Sebastian Cantergiani
相关产品推荐
相关产品推荐

