You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI DAX筛选需求:获取选中技能及对应更低等级的动态表

实现动态技能等级筛选的表值逻辑

原数据表:Skill Selection List

SkillLevel
写作1
写作2
写作3
写作4
阅读1
阅读2
阅读3
阅读4
听力1
听力2
听力3
听力4
口语1
口语2
口语3
口语4

需求说明

已基于Skill和Level的组合创建切片器,需要实现动态返回表的逻辑:当选中特定技能的某一等级时,自动包含该技能下所有≤选中等级的条目(例如选中「口语3」和「听力2」时,返回口语1/2/3、听力1/2的完整列表)。


方案1:创建计算表(直接返回动态结果表)

使用DAX创建计算表,公式如下:

筛选后的技能等级表 = 
VAR SelectedSkills = 
    SELECTCOLUMNS(
        'Skill Selection List',
        "SelectedSkill", 'Skill Selection List'[Skill],
        "MaxLevel", 'Skill Selection List'[Level]
    )
RETURN
    GENERATE(
        SelectedSkills,
        FILTER(
            'Skill Selection List',
            'Skill Selection List'[Skill] = [SelectedSkill] &&
            'Skill Selection List'[Level] <= [MaxLevel]
        )
    )

逻辑说明

  1. SelectedSkills变量捕获切片器中选中的所有技能-等级组合,提取技能名称和对应的选中等级;
  2. GENERATE函数遍历每个选中的技能,筛选出该技能下所有等级≤选中等级的条目,最终合并为完整的结果表。

方案2:使用度量值配合可视化筛选(更灵活适配报表)

若需要在现有表格可视化中动态控制显示内容,可创建以下度量值:

是否符合筛选条件 = 
VAR SelectedMaxLevels = 
    SUMMARIZE(
        'Skill Selection List',
        'Skill Selection List'[Skill],
        "@MaxLevel", MAX('Skill Selection List'[Level])
    )
VAR CurrentSkill = SELECTEDVALUE('Skill Selection List'[Skill])
VAR CurrentLevel = SELECTEDVALUE('Skill Selection List'[Level])
VAR MaxAllowedLevel = 
    LOOKUPVALUE(
        [@MaxLevel],
        'Skill Selection List'[Skill], CurrentSkill
    )
RETURN
    IF(CurrentLevel <= MaxAllowedLevel, 1, 0)

使用方法

将该度量值添加到表格可视化的筛选器中,设置筛选条件为是否符合筛选条件 等于 1,即可动态显示符合要求的技能等级条目。


内容的提问来源于stack exchange,提问作者linkrisz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 19:55:18