Как объединить два поля в алфавитном порядке с DAX (PowerBI)? - PullRequest
0 голосов
/ 06 сентября 2018

Мне нужно объединить записи из двух столбцов в список через запятую, но результат должен быть в алфавитном порядке.

Данные: PRIMARY_ORGAN | SECONDARY_ORGAN --------------|---------------- Kidney | Heart Heart | Kidney Liver | Kidney Liver | Heart
Желаемый результат: Heart, Kidney Heart, Kidney Kidney, Liver Heart, Liver
Другими словами, это не помогает просто сначала отсортировать два столбца.

1 Ответ

0 голосов
/ 06 сентября 2018

Функция CONCATENATEX допускает аргументы, указывающие порядок объединения списка.

Concat = CONCATENATEX(
             {Organs[PRIMARY_ORGAN], Organs[SECONDARY_ORGAN]},  --List to concatenate
             [Value],                                           --Values to concatenate
             ", ",                                              --Delimiter
             [Value],                                           --Order By
             ASC                                                --Order Direction
         )

Причина, по которой это [Value], заключается в том, что я вручную объявил список, используя синтаксис {,}, без присвоения имени столбцу. Если вы хотите назначить имя по какой-либо причине, вы можете использовать функцию SELECTCOLUMNS. Э.Г.

Concat = 
    VAR List = SELECTCOLUMNS(
                   {Organs[PRIMARY_ORGAN], Organs[SECONDARY_ORGAN]},
                   "Organ", [Value]
               )
    RETURN CONCATENATEX(List, [Organ], ", ", [Organ], ASC)
...