Преобразование в Power BI Desktop

Таблица с бросками игральных костей выглядит так:

Day   Throw 1   Throw  2
1     1         3
2     3         2
3     6         6

Должен быть преобразован в эту таблицу:

Day   1   2   3   4   5   6
1     1       1
2         1   1
3                         2

Поэтому вместо того, чтобы отмечать отдельные броски в день, я хочу получить все возможные результаты в столбцах, чтобы я мог прочитать количество появлений этого числа. (Порядок бросков можно игнорировать.)

Я знаю, что могу сделать это в процессе ETL SQL Server, но мне было интересно, смогу ли я сделать это в Power BI Desktop?

Цель этого преобразования состоит в том, чтобы получить эффективный способ сообщения о количестве случаев бросков костей в определенных дневных диапазонах. Может быть, это возможно получить без такой трансформации?

1 ответ

Решение

Шаг 1

В дополнение к приведенной выше таблице вам понадобится таблица, представляющая каждый из возможных бросков кубика. (Это может не понадобиться, если числа 1-6 уже представлены в ваших результатах, но, поскольку ваш пример не отражает это, я предполагаю, что это не может быть предположено)

Die
---
1
2
3
4
5
6

Шаг 2

Загрузите обе таблицы в Power BI Desktop. Таблица Die может быть загружена без изменений. Приведенную выше таблицу результатов (которую я собираюсь назвать "бросками") нужно будет отменить. Нажмите "Редактировать запрос" и выделите столбцы "Бросок 1" и "Бросок 2" и выберите " Преобразование"> "Удалить столбцы"> "Удалить столбцы". Переименуйте неотключенные столбцы. Я закончил с:

Day | Throw   | Result
--------------------
1   | Throw 1 | 1
1   | Throw 2 | 3
2   | Throw 1 | 3
... | ....... | ...

Шаг 3

После того, как две таблицы загружены в вашу модель данных, свяжите их друг с другом (столбец матрицы и столбец результата).

Шаг 4

Создайте новую меру:

Count of Result = COUNT(Throws[Result])

при условии, что ваша таблица называется Throws, а столбец результатов называется Result

Шаг 5

На холсте выберите матрицу визуала. Используйте Count of Result в качестве значения, Die в качестве столбца и Day for the Rows. Затем, с правой стороны, нажмите на маленькую стрелку вниз рядом с Die и выберите Показать элементы без данных, чтобы получить номера 4 и 5 из вашего примера, чтобы показать, даже если они не были брошены. Теперь вы должны получить результат, который отражает желаемый результат (с итогами).


Надеюсь это поможет!

Другие вопросы по тегам