#powerbi #pivot #dax
Вопрос:
У меня есть данные в формате таблицы ниже , где в столбце 1 имя повторяется после каждых 4 строк.
Колонка1 Колонка2 Дата 11:10:20 Использование Mem 44% Загрузка процессора 35% Использование диска 20% Дата 11:11:20 Использование Mem 40% Загрузка процессора 34% Использование диска 24% Дата 11:12:20 Использование Mem 34% Загрузка процессора 20% Использование диска 18%
Я хочу преобразовать его в формат таблицы ниже. Я попытался повернуть/открутить, но безуспешно. Есть ли какой-нибудь способ, которым я могу это сделать?
Дата Использования Mem Использование процессора Использование Диска 11:10:20 44% 35% 20% 11:11:20 40% 34% 24% 11:12:20 34% 20% 18%
Ответ №1:
Выполните следующие действия в разделе power query
Выберите столбец 2 и столбцы индекса из пользовательской таблицы
Комментарии:
1. Большое спасибо, Ашок… это именно то, что я искал… 🙂
Ответ №2:
Хитрость заключается в использовании дополнительного столбца группировки:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WckksSVXSUTI0tDI0sDIyUIrViVbyTc1VKC1OTAdJmJiogsWcA0LhYsamEDGXzOJsuKCRAVQQYaAhVgMNsBhogs1AEwwDjbAZaIzFhXDHIBtoaAEUjAUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t]),
#"Changed Type" = Table.TransformColumnTypes(
Source,{{"Column1", type text}, {"Column2", type text}}),
#"Added Index" = Table.AddIndexColumn(
#"Changed Type", "Index", 0, 1, Int64.Type),
#"Integer-Divided Column" = Table.TransformColumns(
#"Added Index", {{"Index", each Number.IntegerDivide(_, 4), Int64.Type}}),
#"Pivoted Column" = Table.Pivot(
Table.TransformColumnTypes(#"Integer-Divided Column", {{"Index", type text}}, "en-US"),
List.Distinct(Table.TransformColumnTypes(#"Integer-Divided Column", {{"Index", type text}}, "en-US")[Index]),
"Index",
"Column2"),
#"Transposed Table" = Table.Transpose(
#"Pivoted Column"),
#"Promoted Headers" = Table.PromoteHeaders(
#"Transposed Table", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(
#"Promoted Headers",{
{"CPU usage", Percentage.Type},
{"Date", type time},
{"Disk usage", Percentage.Type},
{"Mem usage", Percentage.Type}
}
)
in
#"Changed Type1"