Пример ввода:
Я БЫ | наслаждается |
---|---|
Алиса | кока-кола |
Алиса | Печенье |
Алиса | Лимонад |
Боб | кока-кола |
Боб | яблоки |
Боб | яблоки |
Чарли | Молоко |
Желаемый результат:
Я БЫ | Новый полковник |
---|---|
Алиса | КоксПеченьеЛимонад |
Боб | кока-колаяблоки |
Чарли | Молоко |
То, что я пытался до сих пор
CONCATENATEX
(
SUMMARIZE(
INPUT_TABLE,
'INPUT_TABLE'[ID],
'INPUT_TABLE'[Enjoys],
)
DISTINCT('INPUT_TABLE'[Enjoys])
)
но это синтаксическая ошибка. Что касается использования
CONCATENATEX
(
DISTINCT(SUMMARIZE(
INPUT_TABLE,
'INPUT_TABLE'[ID],
'INPUT_TABLE'[Enjoys],
))
'INPUT_TABLE'[Enjoys]
)
это, кажется, забывает, что я пытаюсь разделить по идентификатору. В этом случае я подозреваю, что он будет возвращать «CokeBiscuitsLemonadeApplesMilk» в каждой строке.
Какой правильный DAX для получения этого вывода?
Попробуй это:
NewTable =
SUMMARIZE(INPUT_TABLE,INPUT_TABLE[ID],"concat",CONCATENATEX(DISTINCT(INPUT_TABLE[Enjoys]),INPUT_TABLE[Enjoys]))
Чтобы добавить его в качестве меры:
CONCATENATEX(distinct(FILTER(selectcolumns(allselected(INPUT_TABLE),"ID",INPUT_TABLE[ID],"Enjoys",INPUT_TABLE[Enjoys]),[ID] = selectedvalue(INPUT_TABLE[ID]))),[Enjoys])
Эта мера работает, даже если в таблице INPUT_TABLE больше двух столбцов.
Я обновил ответ, чтобы принять разные значения
Большой! Это кажется правильным. Можно ли сделать это как новый столбец, а не как новую таблицу?
Вы можете сделать это как меру (не столбец). я добавил соответствующий dax в ответ
Это не заставляет части «Enjoys» быть разными.