Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
@ImkeF - O quienquiera que quiera hacer la campana. Tengo datos que para cada entrada consiste en un conjunto repetido de 11 filas en una sola columna. Así que, piensa:
Columna1
Empresa
Título
Descripción
Descripción2
Descripción3
Data1
Ubicación
Hora
Data2
Data3
Data4
Empresa
Título
Descripción
Descripción2
Descripción3
Data1
Ubicación
Hora
Data2
Data3
Data4
Por lo tanto, agregué una columna Index a partir de 1 y una columna Custom, Number.Mod([Index],11). Mi pensamiento es que entonces podría pivotar en esta columna personalizada y no agregar y terminar con:
1 2 3 4 5
Descripción del título de la empresa Descripción2 Descripción3
Descripción del título de la empresa Descripción2 Descripción3
Entiendes la idea. Desafortunadamente obtengo errores "Había demasiados elementos en la enumeración para completar la operación".
Tristeza. ¿Alguna forma de lograr esto?
Solved! Go to Solution.
En lugar de eliminar la columna de índice, debe ejecutar un entero-divide (por 11) sobre ella para generar un identificador de fila. Siempre debe haber 1 columna de la tabla original:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcs7PLUjMq1SK1YlWCsksyUkFs1xSi5OLMgtKMvPz0PlG6ALGEIHEkkRDMMsnPzkRrjEkMzcVLm8EZyH0mIBZg8AVsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}), #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1), #"Inserted Modulo" = Table.AddColumn(#"Added Index", "Modulo", each Number.Mod([Index], 11), type number), #"Integer-Divided Column" = Table.TransformColumns(#"Inserted Modulo", {{"Index", each Number.IntegerDivide(_, 11), Int64.Type}}), #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Integer-Divided Column", {{"Modulo", type text}}, "en-GB"), List.Distinct(Table.TransformColumnTypes(#"Integer-Divided Column", {{"Modulo", type text}}, "en-GB")[Modulo]), "Modulo", "Column1") in #"Pivoted Column"
Si tiene problemas de rendimiento, puede usar este enfoque en su lugar:
let Source á Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcs7PLUjMq1SK1YlWCsksyUkFs1xSi5OLMgtKMvPz0PlG6ALGEIHEKKRDMnPzkRrjEkmzvLm8EZyH0mIBZg8AVsQA", BinaryEncoding.Base64), Compression.Deflate)), let _t ?((texto de tipo) meta [Serialized.Text ? true]) en la tabla de tipos [Column1 ? _t]), "Tipo cambiado" - Table.TransformColumnTypes(Source,'Column1", escriba text'), ''Added Index' 'Table.AddIndexColumn(''Changed Type"", 0, 1), "Columna dividida en enteros" - Table.TransformColumns('Added Index', ''Index',' cada Number.IntegerDivide(_, 11), Int64.Type, "Filas agrupadas" , Tabla.grupo ("Columna dividida por enteros", "índice", "Todo", cada _[Columna1], tipo tabla, GroupKind.Local), Personalizado1 a Tabla.FromRows(-"Filas agrupadas"[Todos]) en Custom1)
Imke Feldmann (The BIccountant)
If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!
How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries
En lugar de eliminar la columna de índice, debe ejecutar un entero-divide (por 11) sobre ella para generar un identificador de fila. Siempre debe haber 1 columna de la tabla original:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcs7PLUjMq1SK1YlWCsksyUkFs1xSi5OLMgtKMvPz0PlG6ALGEIHEkkRDMMsnPzkRrjEkMzcVLm8EZyH0mIBZg8AVsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}), #"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index", 0, 1), #"Inserted Modulo" = Table.AddColumn(#"Added Index", "Modulo", each Number.Mod([Index], 11), type number), #"Integer-Divided Column" = Table.TransformColumns(#"Inserted Modulo", {{"Index", each Number.IntegerDivide(_, 11), Int64.Type}}), #"Pivoted Column" = Table.Pivot(Table.TransformColumnTypes(#"Integer-Divided Column", {{"Modulo", type text}}, "en-GB"), List.Distinct(Table.TransformColumnTypes(#"Integer-Divided Column", {{"Modulo", type text}}, "en-GB")[Modulo]), "Modulo", "Column1") in #"Pivoted Column"
Si tiene problemas de rendimiento, puede usar este enfoque en su lugar:
let Source á Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wcs7PLUjMq1SK1YlWCsksyUkFs1xSi5OLMgtKMvPz0PlG6ALGEIHEKKRDMnPzkRrjEkmzvLm8EZyH0mIBZg8AVsQA", BinaryEncoding.Base64), Compression.Deflate)), let _t ?((texto de tipo) meta [Serialized.Text ? true]) en la tabla de tipos [Column1 ? _t]), "Tipo cambiado" - Table.TransformColumnTypes(Source,'Column1", escriba text'), ''Added Index' 'Table.AddIndexColumn(''Changed Type"", 0, 1), "Columna dividida en enteros" - Table.TransformColumns('Added Index', ''Index',' cada Number.IntegerDivide(_, 11), Int64.Type, "Filas agrupadas" , Tabla.grupo ("Columna dividida por enteros", "índice", "Todo", cada _[Columna1], tipo tabla, GroupKind.Local), Personalizado1 a Tabla.FromRows(-"Filas agrupadas"[Todos]) en Custom1)
Imke Feldmann (The BIccountant)
If you liked my solution, please give it a thumbs up. And if I did answer your question, please mark this post as a solution. Thanks!
How to integrate M-code into your solution -- How to get your questions answered quickly -- How to provide sample data -- Check out more PBI- learning resources here -- Performance Tipps for M-queries
@ImkeF - Hooray!!! Gracias, funcionó como un campeón. Sabía que te había visto resolver este tipo de cosas antes, pero no podía por la vida de mí encontrarlo o recordar cómo lo hiciste!. ¡Gracias!
Otra pregunta si tienes tiempo. ¿Qué pasa si no tiene 11 filas cada vez pero tiene 11 filas, 10 filas, 9 filas pero siempre una fila "fin". Así, por ejemplo, la fila final que termina un registro siempre es sólo "X". Pero cada registro puede tener 9, 10 u 11 filas.
Gran tema, aún mayor respuesta. Gracias chicos.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |