【问题标题】:filtering measures based on two columns in power bi dax基于power bi dax中两列的过滤措施
【发布时间】:2019-06-13 18:52:39
【问题描述】:

我想使用度量并根据列过滤结果:

我的衡量标准是:

TotalProductionCon =
SUM ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[SGWCP8] )
    + SUM ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[retard] )

我希望它仅在 annee = column year 时进行总结。

我试过CALCULATEFILTER

TotalProductionCon =
CALCULATE (
    SUM ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[SGWCP8] )
        + SUM ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[retard] );
    FILTER (
        ALL ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[Année] );
        _BI_SOVAC_PROD_KIT_LIFE_CYCLE[Année] = _BI_SOVAC_PROD_KIT_LIFE_CYCLE[year]
    )
)

但它会产生一个错误,即列包含很多值,我需要使用聚合。

你能帮帮我吗?

【问题讨论】:

  • 您是否尝试过仅按列过滤?即 TotalProductionCon = CALCULATE ( SUM ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[SGWCP8] ) + SUM ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[retard] ); _BI_SOVAC_PROD_KIT_LIFE_CYCLE[Année] = _BI_SOVAC_PROD_KIT_LIFE_CYCLE[year] 查询所需的内存。
  • 它会产生这个错误:表达式包含多列,但在用作表格过滤器表达式的 True/False 表达式中只能使用一列。

标签: powerbi dax powerbi-desktop


【解决方案1】:

您的公式的问题在于您将 ALL 函数限制为仅一列(Annee),因此 FILTER 不会“看到”它需要的另一列。

要解决此问题,请按如下方式更改公式:

TotalProductionCon =
CALCULATE (
    SUM ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[SGWCP8] )
        + SUM ( _BI_SOVAC_PROD_KIT_LIFE_CYCLE[retard] );
    FILTER (
        ALL (
            _BI_SOVAC_PROD_KIT_LIFE_CYCLE[Année];
            _BI_SOVAC_PROD_KIT_LIFE_CYCLE[year]
        );
        _BI_SOVAC_PROD_KIT_LIFE_CYCLE[Année] = _BI_SOVAC_PROD_KIT_LIFE_CYCLE[year]
    )
)

我在这里假设您选择的 ALL 功能是合适的;否则您可能需要使用不同的技术,例如 SUMMARIZE 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    相关资源
    最近更新 更多