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
相关产品推荐
相关产品推荐

