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

Power BI提取按钮问题:DAX公式需仅返回选中单公司结果

Power BI提取按钮筛选单个公司的DAX解决方案

你的问题出在DAX公式未正确响应提取按钮的公司筛选——原公式中的FILTER会覆盖外部筛选上下文,导致计算时包含所有公司数据,而非选中的单个公司。以下是修复方案:

修改后的DAX公式

conditionCompany =
VAR dateDebut = TODAY() - 3600
-- 定义当前选中的公司筛选上下文,替换[Company]为你数据中实际的公司列名
VAR currentCompanyFilter = ALLSELECTED('ODBC - personnalInfo + Address'[Company])
VAR distinctcountemployee =
    CALCULATE(
        DISTINCTCOUNT('ODBC - personnalInfo + Address'[employee]),
        currentCompanyFilter
    )
VAR NbAddress =
    CALCULATE(
        DISTINCTCOUNT('ODBC - personnalInfo + Address'[Full address]),
        'ODBC - personnalInfo + Address'[dateStart_SA] >= dateDebut,
        currentCompanyFilter
    )
RETURN
    IF(NbAddress / distinctcountemployee <> 1, "Changement d'adresse", "RAS")

关键修复点

  • 使用ALLSELECTED()函数锁定提取按钮选中的公司筛选,确保所有计算仅针对该公司
  • 移除冗余的FILTER包裹,直接在CALCULATE参数中添加日期筛选,避免覆盖外部筛选上下文
  • 若你的公司数据来自单独的维度表(而非当前表),请将'ODBC - personnalInfo + Address'[Company]替换为维度表的对应列(如'Company维度表'[CompanyName])

简化版写法

如果不需要单独定义筛选变量,也可以直接嵌入ALLSELECTED:

conditionCompany =
VAR dateDebut = TODAY() - 3600
VAR distinctcountemployee =
    CALCULATE(
        DISTINCTCOUNT('ODBC - personnalInfo + Address'[employee]),
        ALLSELECTED('ODBC - personnalInfo + Address'[Company]) -- 替换实际列名
    )
VAR NbAddress =
    CALCULATE(
        DISTINCTCOUNT('ODBC - personnalInfo + Address'[Full address]),
        'ODBC - personnalInfo + Address'[dateStart_SA] >= dateDebut,
        ALLSELECTED('ODBC - personnalInfo + Address'[Company]) -- 替换实际列名
    )
RETURN
    IF(NbAddress / distinctcountemployee <> 1, "Changement d'adresse", "RAS")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:32:09