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

Power BI用切片器选中值编写度量值实现动态产品标签统计

DAX实现动态阈值的产品标签统计方案

前置操作

在编写度量值前先创建2张无关联独立表,不要和现有的DF表建立任何关系:

  • 阈值切片表:命名为SlicerTable,仅包含1列Values,手动录入固定阈值:100、150、200、250,后续将该字段拖入切片器供用户选择
  • 标签维度表:命名为LabelDim,仅包含1列Label,手动录入3个固定标签值:
    • No Date available
    • No Orders required
    • Orders Required
      后续将该字段拖入表格/矩阵的行区域,作为标签分组依据

核心度量值代码

新建如下DAX度量值,即可实现动态统计:

Distinct Product Count = 
VAR SelectedThreshold = SELECTEDVALUE(SlicerTable[Values], 100) // 未选择阈值时默认取100,可按需修改默认值
VAR CurrentRowLabel = SELECTEDVALUE(LabelDim[Label])
RETURN
SWITCH(
    TRUE(),
    // 统计无有效期数据的产品数
    CurrentRowLabel = "No Date available",
        CALCULATE(
            DISTINCTCOUNT('DF'[Product]),
            ISBLANK('DF'[Days until Expiry date])
        ),
    // 统计无需下单的产品数
    CurrentRowLabel = "No Orders required",
        CALCULATE(
            DISTINCTCOUNT('DF'[Product]),
            NOT(ISBLANK('DF'[Days until Expiry date])),
            'DF'[Days until Expiry date] >= SelectedThreshold
        ),
    // 统计需要下单的产品数
    CurrentRowLabel = "Orders Required",
        CALCULATE(
            DISTINCTCOUNT('DF'[Product]),
            NOT(ISBLANK('DF'[Days until Expiry date])),
            'DF'[Days until Expiry date] < SelectedThreshold
        ),
    // 总计行返回全量产品非重复计数
    DISTINCTCOUNT('DF'[Product])
)

可视化配置

  • 将SlicerTable[Values]拖入切片器组件,建议设置为单选模式,避免多值选中导致判定逻辑异常
  • 将LabelDim[Label]拖入表格/矩阵的行字段,将上述编写的Distinct Product Count度量值拖入值字段,即可实现阈值切换时标签统计结果自动更新

注:计算列在数据刷新时就会固定计算结果,无法响应切片器的实时交互选择,因此这类动态规则的统计必须通过度量值实现,上述方案是Power BI中动态分段统计的标准实现方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 23:12:32