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.
Hola
Necesito ayuda para hacer la fusión condicional de columnas en 2 tablas diferentes. Tengo 2 tablas en Power BI de la siguiente manera.
Tabla 1
Id | Nombre | Prioridad | Grupo |
1 | Nombre1 | 1 | General |
2 | Nombre2 | 2 | General |
3 | Nombre3 | 10 | Express |
4 | Nombre4 | 21 | Eco |
Tabla2
Tasa | Categoría | Nombre |
10 | A | Nombre1, Nombre3 |
12 | B | Nombre3, Nombre4 |
La salida esperada se muestra a continuación. La columna "Grupo" debe mostrar el valor comparando la columna "prioridad" en la Tabla2 en función de "Nombre".
por ejemplo, Name1 tiene prioridad 1 y Name2 tiene prioridad 2, por lo que la columna de grupo tendrá el valor General ya que 1 es la prioridad más alta (1 y 2).
El nombre 3 tiene la prioridad 10, el nombre4 tiene la prioridad 21. por lo que la columna de grupo tendrá el valor Express como 10 < 21.
Tabla esperada
Tasa | Categoría | Nombre | Grupo |
10 | A | Nombre1 | General |
12 | B | Nombre3 | Express |
¡Gracias!
Solved! Go to Solution.
He aquí una forma bastante peatonal de hacer esto. Tenga en cuenta que tuve que limpiar su lista separada por comas - no debería tener un espacio después de la coma.
Normalmente habría utilizado un generador de columnas personalizado con Table.AddColumn()
Dejar
Source á Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjRQ0lFyBGK/xNxUQx0QaawUqOUMAWIEljMESJkqxsQA", BinaryEncoding.Base64), Compression.Deflate)), let _t á ((tipo de texto que acepta valores NULL) meta [Serialized.Text ? true]) en la tabla de tipos [Rate ? _t, Category á _t, Name á _t]),
"Dividir columna por delimitador" ? Table.ExpandListColumn(Table.TransformColumns(Source, '"Name", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), deje itemType á (tipo de texto que acepta valores NULL) meta [Serialized.Text ? true] en el tipo .itemType'), "Name"), "Name"),
Source2 á Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8kxR0lHyS8xNBVIBRZn5RZkllUCme1F+aYFSrE60kiHKSDsHtqXmpRYg5YzggqB6KN0OSMoXIg2tAASLWFBSlFheDJU2gkiDaCGSqa3K+UmwsAA-", BinaryEncoding.Base64), Compression.Deflate)), deje _t ((tipo de texto que acepta valores NULL) meta [Serialized.Text ? true]) en la tabla de tipos [Column1 - _t, Columna2 - _t, Columna3 , _t, Columna4 , _t]),
"Encabezados Promocionados" - Table.PromoteHeaders(Source2, [PromoteAllScalars-true]),
"Consultas combinadas" - Table.NestedJoin('Dividir columna por delimitador", ''Nombre'', ''Encabezados promocionados', ''Nombre'', 'Table1', JoinKind.LeftOuter),
"Tabla expandida1" - Table.ExpandTableColumn('"Consultas combinadas", "Tabla1", ''Prioridad"', 'Grupo"', '''
"Filas ordenadas" - Table.Sort(-"Tabla expandida1","Prioridad", Orden.Ascending),
"Eliminados Duplicados" - Table.Distinct("Filas ordenadas", "Tasa" )
"Eliminado otras columnas" - Table.SelectColumns("Removed Duplicates","Rate", "Category", "Name", "Group"))
En
"Eliminado otras columnas"
He aquí una forma bastante peatonal de hacer esto. Tenga en cuenta que tuve que limpiar su lista separada por comas - no debería tener un espacio después de la coma.
Normalmente habría utilizado un generador de columnas personalizado con Table.AddColumn()
Dejar
Source á Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjRQ0lFyBGK/xNxUQx0QaawUqOUMAWIEljMESJkqxsQA", BinaryEncoding.Base64), Compression.Deflate)), let _t á ((tipo de texto que acepta valores NULL) meta [Serialized.Text ? true]) en la tabla de tipos [Rate ? _t, Category á _t, Name á _t]),
"Dividir columna por delimitador" ? Table.ExpandListColumn(Table.TransformColumns(Source, '"Name", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), deje itemType á (tipo de texto que acepta valores NULL) meta [Serialized.Text ? true] en el tipo .itemType'), "Name"), "Name"),
Source2 á Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8kxR0lHyS8xNBVIBRZn5RZkllUCme1F+aYFSrE60kiHKSDsHtqXmpRYg5YzggqB6KN0OSMoXIg2tAASLWFBSlFheDJU2gkiDaCGSqa3K+UmwsAA-", BinaryEncoding.Base64), Compression.Deflate)), deje _t ((tipo de texto que acepta valores NULL) meta [Serialized.Text ? true]) en la tabla de tipos [Column1 - _t, Columna2 - _t, Columna3 , _t, Columna4 , _t]),
"Encabezados Promocionados" - Table.PromoteHeaders(Source2, [PromoteAllScalars-true]),
"Consultas combinadas" - Table.NestedJoin('Dividir columna por delimitador", ''Nombre'', ''Encabezados promocionados', ''Nombre'', 'Table1', JoinKind.LeftOuter),
"Tabla expandida1" - Table.ExpandTableColumn('"Consultas combinadas", "Tabla1", ''Prioridad"', 'Grupo"', '''
"Filas ordenadas" - Table.Sort(-"Tabla expandida1","Prioridad", Orden.Ascending),
"Eliminados Duplicados" - Table.Distinct("Filas ordenadas", "Tasa" )
"Eliminado otras columnas" - Table.SelectColumns("Removed Duplicates","Rate", "Category", "Name", "Group"))
En
"Eliminado otras columnas"
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 |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |