#powerbi #dax
#powerbi #dax
Вопрос:
Я пытаюсь преобразовать таблицу календаря, которая у меня есть в PowerBI.
Данные календаря выглядят следующим образом:
Имя | Событие | Деталь | Дата Начала | Дата Окончания |
---|---|---|---|---|
Имя 1 | Событие А | Деталь А | 12/2/2020 | 15/2/2020 |
Имя 2 | Событие А | Деталь А | 12/2/2020 | 15/2/2020 |
Имя 3 | Событие А | Деталь А | 12/2/2020 | 15/2/2020 |
Имя 2 | Событие В | Деталь B | 22/2/2020 | 25/2/2020 |
Имя 3 | Событие В | Деталь B | 22/2/2020 | 25/2/2020 |
Имя 4 | Событие В | Деталь B | 22/2/2020 | 25/2/2020 |
Имя 1 | Событие C | Деталь C | 23/2/2020 | 27/2/2020 |
И я хочу, чтобы это выглядело так:
Имя | Событие | Деталь | Дата |
---|---|---|---|
Имя 1 | Событие А | Деталь А | 12/2/2020 |
Имя 1 | Событие А | Деталь А | 13/2/2020 |
Имя 1 | Событие А | Деталь А | 14/2/2020 |
Имя 1 | Событие А | Деталь А | 15/2/2020 |
Имя 2 | Событие А | Деталь А | 12/2/2020 |
Имя 2 | Событие А | Деталь А | 13/2/2020 |
Имя 2 | Событие А | Деталь А | 14/2/2020 |
Имя 2 | Событие А | Деталь А | 15/2/2020 |
Имя 3 | Событие А | Деталь А | 12/2/2020 |
Имя 3 | Событие А | Деталь А | 13/2/2020 |
Имя 3 | Событие А | Деталь А | 14/2/2020 |
Имя 3 | Событие А | Деталь А | 15/2/2020 |
Имя 2 | Событие В | Деталь B | 22/2/2020 |
Имя 2 | Событие В | Деталь B | 23/2/2020 |
Имя 2 | Событие В | Деталь B | 24/2/2020 |
Имя 2 | Событие В | Деталь B | 25/2/2020 |
Имя 3 | Событие В | Деталь B | 22/2/2020 |
Имя 3 | Событие В | Деталь B | 23/2/2020 |
Имя 3 | Событие В | Деталь B | 24/2/2020 |
Имя 3 | Событие В | Деталь B | 25/2/2020 |
Имя 4 | Событие В | Деталь B | 22/2/2020 |
Имя 4 | Событие В | Деталь B | 23/2/2020 |
Имя 4 | Событие В | Деталь B | 24/2/2020 |
Имя 4 | Событие В | Деталь B | 25/2/2020 |
Имя 1 | Событие C | Деталь C | 23/2/2020 |
Имя 1 | Событие C | Деталь C | 24/2/2020 |
Имя 1 | Событие C | Деталь C | 25/2/2020 |
Имя 1 | Событие C | Деталь C | 26/2/2020 |
Имя 1 | Событие C | Деталь C | 27/2/2020 |
Как я могу сделать это в редакторе запросов?
Заранее спасибо!
Ответ №1:
Измените любые имена по мере необходимости.
let Source = Excel.CurrentWorkbook(){[Name = "Table1"]}[Content], #"Changed Type" = Table.TransformColumnTypes( Source, { {"Name", type text}, {"Event", type text}, {"Detail", type text}, {"Start Date", type date}, {"End Date", type date} } ), #"Added Column: Number of Days" = Table.AddColumn( #"Changed Type", "Total Days", each 1 Duration.Days([End Date] - [Start Date]) ), #"Added Column: List" = Table.AddColumn( #"Added Column: Number of Days", "Days to Add", each {1 .. [#"Total Days"]} ), #"Expanded Days to Add" = Table.ExpandListColumn(#"Added Column: List", "Days to Add"), #"Added Column: New Dates" = Table.AddColumn( #"Expanded Days to Add", "Custom", each Date.AddDays([Start Date], [Days to Add] - 1), type date ) in #"Added Column: New Dates"
Комментарии:
1. Спасибо @Jos Woolley, который преобразовал данные в редакторе запросов, но вернул эту ошибку, когда я сохранил и вышел обратно в отчет: ошибка OLE DB или ODBC: [Выражение. Ошибка] Мы не можем применить оператор .. к типам Number и Null..
2. Неважно — у меня были нулевые значения, все еще находящиеся в [Дата окончания]. Большое спасибо за это!