Предисловие / Рант:
Я попытался ответить на вопрос, размещенный на https://community.powerbi.com/t5/Desktop/Using-dax-to-unpivot-a-table/td-p/421116
Однако, поскольку моя учетная запись Microsoft не связана ни с работой, ни с образованием, я не смог отправить ответ. Какой дерьмовый выбор дизайна для создания форума вопросов и ответов, который имеет неограниченный доступ для чтения с ограниченным доступом на запись.
В таком случае, это в основном тот же вопрос, и я так рад, что мое решение stackoverflow выигрывает этот вклад.
Вы можете использовать свое воображение, или кто-то другой может изменить решение, чтобы лучше соответствовать этому конкретному вопросу о переполнении стека. (Вам, очевидно, придется предпринять дополнительные шаги, чтобы связать предложенную мной таблицу идентификаторов с таблицей календаря или чем-то еще ...)
Решение смежного вопроса:
Имеется таблица типа:
"Data Table"
Value SJ Time Penang Time
60 4/18 4/19
50 4/15 4/16
20 4/14 4/15
20 4/15 4/15
10 4/13 4/14
10 4/20 4/21
Создание или добавление таблицы, аналогичной следующей, для модели данных:
"Attribute Table"
id Atribute
1 Penang Time
2 SJ Time
Создайте переключающую итерационную меру агрегации под названием «Время», как показано ниже:
=MINX(
"Attribute Table",
SWITCH(
"Attribute Table"[id],
1, MIN("Data Table"[Penang Time]),
2, MIN("Data Table"[SJ Time])
)
)
(очевидно, вы должны переключать minx и min для того, что имеет больше смысла, sumx и sum в моем случае)
Создайте сводную таблицу, которая имеет:
Rows Values
"Attribute Table"[Attribute] [Time]
"Data Table"[Value]
И вуаля:
"Pivot Table of Justice"
Attribute Value Time
Penang Time 10 4/14
Penang Time 10 4/21
Penang Time 20 4/15
Penang Time 50 4/16
Penang Time 60 4/19
SJ Time 10 4/13
SJ Time 10 4/20
SJ Time 20 4/14
SJ Time 20 4/15
SJ Time 50 4/15
SJ Time 60 4/18
1036 *