Объедините SELECTCOLUMNS и ORDER BY в DAX - PullRequest
1 голос
/ 20 июня 2020

Это работает, он выбирает несколько столбцов:

evaluate SELECTCOLUMNS(branches,
         "The branch code", branches[code], 
           "The branch name", branches[name], 
           "The branch city", branches[city])

Это также работает:

evaluate branches
    order by branches[name]
    start at "Co"

Но если я хочу объединить два, я получаю сообщение об ошибке:

evaluate ( SELECTCOLUMNS ( branches,
    "The branch code", branches[code],
    "The branch name", branches[name],
    "The branch city", branches[city]) )
    order by branches[name]
    start at "Co"

Невозможно определить одно значение для столбца «имя» в «ветвях» таблицы. Это может произойти, когда формула меры относится к столбцу, который содержит много значений без указания агрегирования, такого как min, max, count или sum, для получения единственного результата.

Ошибка говорит об агрегировании, но мне не нужно агрегировать. В чем проблема и как ее исправить?

1 Ответ

2 голосов
/ 21 июня 2020

Функция SELECTCOLUMNS возвращает таблицу, а ORDER BY относится к этой новой таблице, а не к «ветвям» исходной таблицы. Поскольку новая таблица не содержит поля [имя], вы получите ошибку. Чтобы исправить это, просто обратитесь к полям в новой таблице:

EVALUATE
SELECTCOLUMNS (
    branches,
    "The branch code", branches[code],
    "The branch name", branches[name],
    "The branch city", branches[city]
)
ORDER BY [The branch name]
START AT "Co"
...