PowerBI基于度量值筛选列值实现ADW范围切片器精准联动咨询
解决方案
PowerBI原生基于列的切片器默认不会被动态度量值直接筛选,你之前尝试的写法返回的是表/非布尔类型的结果,不符合切片器的筛选逻辑要求,按以下步骤操作即可实现需求:
步骤1:新建筛选标记度量值
创建如下度量值,用于判断当前ADW值对应的客人是否在选定半径范围内:
ADWFilterFlag = CALCULATE(COUNTROWS(TF_MapRadius), KEEPFILTERS([InRadiusPatron] = 1))
步骤2:给ADW切片器添加视觉对象筛选
选中你已经创建的ADWNet「介于」切片器,在右侧「视觉对象筛选器」面板中,将上述ADWFilterFlag度量值拖入筛选条件区域,设置筛选规则为大于0,点击应用即可。
配置完成后,切片器会自动过滤掉半径范围外客人的ADW值,显示的最值区间完全匹配当前半径筛选后的客人ADW范围。
可选优化:显示当前可用ADW区间
如果需要给用户明确提示当前可选的ADW范围,可以再创建两个辅助度量值,用卡片可视化展示在切片器旁:
// 当前半径范围内最小ADW值 MinADWInRadius = CALCULATE(MIN(TF_MapRadius[ADWNet]), FILTER(ALLSELECTED(TF_MapRadius), [InRadiusPatron] = 1)) // 当前半径范围内最大ADW值 MaxADWInRadius = CALCULATE(MAX(TF_MapRadius[ADWNet]), FILTER(ALLSELECTED(TF_MapRadius), [InRadiusPatron] = 1))
原写法失效原因说明
你之前尝试的三种写法,要么返回的是多值表,要么返回的是动态非布尔值,无法作为切片器的筛选判定条件。切片器的视觉对象筛选需要返回布尔类或可判定存在性的数值结果,上述ADWFilterFlag度量值返回大于0的结果时就代表对应ADW值存在符合半径要求的客人,因此会被纳入切片器的可选范围。
内容的提问来源于stack exchange,提问作者LukeThomas
相关产品推荐
相关产品推荐

