POWER BI-带有if条件的最大值

时间:2019-06-25 16:21:59

标签: if-statement filter max powerbi

我正在尝试在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

1 个答案:

答案 0 :(得分:1)

您的ALLEXCEPT将删除Company的所有上下文除了,这与您想要的相反。将您想要保留的东西放在ALLEXCEPT内。

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内。