DAX SWITCH изменяет значение на основе другого столбца и значения среза - PullRequest
1 голос
/ 01 октября 2019

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

Number  Letter   EW
  1       A     East
  2       A     East
  3       P     West
  4       P     West

Из приведенной выше таблицы яхотите динамически изменить значение столбца «EW» на восток или запад на основе выбора среза. Каждое письмо имеет свой собственный слайсер. Один для A, один для P. Каждый из этих слайсеров позволяет вам выбрать Восток или Запад.

Так что для слайсера «А», скажем, я выбираю «Запад». Каждая строка в таблице, в которой буква = 'A' изменяет значение 'EW' на запад.

В прошлом я использовал следующий код, чтобы разрешить изменение данных в зависимости от выбора среза, но это не так. не поможет мне, когда мне нужно изменить столбец EW на основе столбца письма.

NewEW = SWITCH(
    SELECTEDVALUE(Letter[Letter]),
     "A", "East",
     "West")

1 Ответ

1 голос
/ 01 октября 2019

Насколько я понимаю, ваша таблица поставляется с двумя вспомогательными столами (приводные слайсеры): enter image description here

Тогда решение состоит в том, чтобы установить эту меру:

NewEW = 
VAR VrCurrRow = SELECTEDVALUE(Letter[Letter];"")
VAR VrSlicerA = 
CALCULATE(
     SELECTEDVALUE('Slicer A'[EW];"")
)
VAR VrSlicerB = 
CALCULATE(
     SELECTEDVALUE('Slicer B'[EW];"")
)
VAR Result =

 SWITCH(
    VrCurrRow;
    "A";VrSlicerA;
    VrSlicerB
 )
RETURN
Result

Результат:

enter image description here enter image description here enter image description here enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...