DAX (вычисляемый столбец, связанные таблицы)

У меня есть таблица [Задержки] со столбцом [Задержка]. У меня также есть таблица [Диапазоны] с тремя столбцами: [Диапазон], [От] и [До]. Мне нужно создать столбец в таблице [Delays] для отображения значения Range из таблицы [Ranges] в соответствии со следующими критериями: 'Delays' [Delay]> = 'Ranges' [From] && 'Delays' [Delay] ‹ «Диапазоны» [К].

Помощь очень ценится.


person Arkady Elterman    schedule 20.09.2015    source источник
comment
Возможно, вы захотите создать меру, которая будет возвращать значение диапазона Min / Max по произвольному набору строк, а затем установить в вычисляемом столбце значение меры. Затем мера будет оцениваться в контексте конкретной строки, и вы должны получить то, что хотите. Сам еще не пробовал;)   -  person Lukasz P.    schedule 22.09.2015


Ответы (1)


Попробуйте создать меру, используя:

 =CALCULATE(
   VALUES(Ranges[Range]), 
   FILTER(Ranges, 
      Delays[Delay] >= Ranges[From] 
      && Delays[Delay] < Ranges[To]
)

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

Предполагается, что таблица диапазонов и таблица задержек не объединены. Если они есть, вы можете просто добавить диапазоны [Диапазон] из таблицы задержек.

SUMMARIZE(
   Delays,
   Delays[Delay],
   Range[Ranges]
)
person MyLittleDax    schedule 22.09.2015
comment
Спасибо. В итоге я сделал что-то очень похожее на то, что вы предложили, за исключением того, что мне нужен был вычисляемый столбец, а не мера: = CALCULATE (VALUES (Ranges [Range]), TOPN (1, FILTER (Ranges, Delays [Delay]] ›= Диапазоны [From] && Delay [Delay] ‹Ranges [To])) - person Arkady Elterman; 23.09.2015