Power BI Что делать, если анализ

У меня есть матричная визуализация Power BI, которая похожа на

       Jan Feb Mar April
Client1 10 20  30  10
Client2 15 25  65  80
Client3 66 22  54  12

Я создал 3 таблицы срезов параметров «что, если» (со значениями от 1 до 4) для каждого клиента.

Например, если значение первого слайсера равно 1, второго - 2, а третьего - 2, тогда я хочу

       Jan Feb Mar April
Client1 0  20  30  10
Client2 0  0   65  80
Client3 0  0   54  12

То есть он должен заменить значение на ноль. Мне удалось добиться этого для одного клиента с помощью функции Dateadd (добавив месяц)

Measure  = CALCULATE(SUM('Table'[Value]), 
               DATEADD('Table'[Column], Parameter[Parameter Value], MONTH))

и я использовал эту меру для отображения значения, но как заставить его работать и для двух других клиентов.


person Sunny    schedule 15.09.2018    source источник


Ответы (1)


Допустим, у вас есть три таблицы параметров, как показано ниже.

Parameter1  Parameter2  Parameter3

Value1      Value2      Value3
------      ------      ------
1           1           1
2           2           2
3           3           3
4           4           4

и каждый из них имеет свой слайсер. Тогда мера, которая вам нужна, может выглядеть примерно так:

Measure = 
    VAR Val1 = MAX(Parameter1[Value1])
    VAR Val2 = MAX(Parameter2[Value2])
    VAR Val3 = MAX(Parameter3[Value3])
    VAR CurrClient = MAX('Table'[Client])
    VAR CurrMonth = MONTH(DATEVALUE(MAX('Table'[Month]) & " 1, 2000"))
    RETURN SWITCH(CurrClient,
               "Client1", IF(CurrMonth <= Val1, 0, SUM('Table'[Value])),
               "Client2", IF(CurrMonth <= Val2, 0, SUM('Table'[Value])),
               "Client3", IF(CurrMonth <= Val3, 0, SUM('Table'[Value])),
               SUM('Table'[Value])
           )

По сути, вы читаете каждый параметр и сравниваете их с месяцем в текущей ячейке.

person Alexis Olson    schedule 17.09.2018