首页 > 解决方案 > POWER BI - if 条件下的最大值

问题描述

我正在尝试在 Power BI 中计算具有多个条件的最大值。

数据框是:

Year    Company         Bond            Branch      Group     Type    Value
2016    BANCO DO BRASIL INDEPENDENTE    RISK        RETAIL    NOMINAL 4061567
2016    BANCO DO BRASIL INDEPENDENTE    ACUMULAÇÃO  RETAIL    NOMINAL 1901920
2017    BANCO DO BRASIL INDEPENDENTE    RISK        CORPORATE REAL    439499
2017    BANCO DO BRASIL INDEPENDENTE    RISK        RETAIL    REAL    356231
2016    BRADESCO        INDEPENDENTE    RISK        CORPORATE NOMINAL 347369
2016    BANCO DO BRASIL INDEPENDENTE    ACUMULAÇÃO  RETAIL    REAL    310920
2016    BANCO DO BRASIL LIGADO A BANCO  RISK        CORPORATE NOMINAL 12091
2016    BANCO DO BRASIL INDEPENDENTE    ACUMULAÇÃO  RETAIL    REAL    1021
2017    BANCO DO BRASIL INDEPENDENTE    RISK        CORPORATE REAL    446

我想创建一个按年份、债券、分支、集团和类型不考虑公司的最大值的列。

我已经尝试过以下代码:

MAX = CALCULATE(MAX(data[Value]);
      FILTER(ALLEXCEPT(data;data[Company];
      data[Year] = data[Year] 
      && data[Branch] = data_segmento_anual[Branch]
      && data_segmento_anual[Group] = data_segmento_anual[Group]
      && data_segmento_anual[Bond] = data_segmento_anual[Bond]
      && data_segmento_anual[Type] = data_segmento_anual[Type]))

我期待这个结果:

Year    Company             Bond            Branch      Group     Type    Value   MAX 
    2016    BANCO DO BRASIL INDEPENDENTE    RISK        RETAIL    NOMINAL 4061567 4061567
    2016    BANCO DO BRASIL INDEPENDENTE    ACUMULAÇÃO  RETAIL    NOMINAL 1901920 1901920 
    2017    BANCO DO BRASIL INDEPENDENTE    RISK        CORPORATE REAL    439499  439499
    2017    BANCO DO BRASIL INDEPENDENTE    RISK        RETAIL    REAL    356231  356231
    2016    BRADESCO        INDEPENDENTE    RISK        CORPORATE NOMINAL 347369  347369
    2016    BANCO DO BRASIL INDEPENDENTE    ACUMULAÇÃO  RETAIL    REAL    310920  310920
    2016    BANCO DO BRASIL LIGADO A BANCO  RISK        CORPORATE NOMINAL 12091   12091
    2016    BANCO DO BRASIL INDEPENDENTE    ACUMULAÇÃO  RETAIL    REAL    1021    310920
    2017    BANCO DO BRASIL INDEPENDENTE    RISK        CORPORATE REAL    446     439499

标签: if-statementfiltermaxpowerbi

解决方案


您正在删除除 之外ALLEXCEPT所有上下文,这与您想要的相反。把你想保留的东西放在里面。CompanyALLEXCEPT

CALCULATE (
    MAX ( data[Value] );
    ALLEXCEPT (
        data;
        data[year];
        data[Branch];
        data_segmento_anual[Bond];
        data_segmento_anual[Group];
        data_segmento_anual[Type]
    )
)

另一种方法是使用ALL指定要忽略的列。

CALCULATE ( MAX ( data[Value] ); ALL ( data[Company] ) )

这可能会导致问题,但如果添加了您也想忽略但忘记放入ALL.


推荐阅读