Forum Discussion
Combinando 2 mesas en una
Hola
Necesito su apoyo para el siguiente tema:
Tengo 2 tablas iniciales:
Pestaña 1: "Lista de proveedores"
Pestaña 2: "Lista de auditoría realizada" - Nota: no todos los proveedores de la pestaña 1 se incluyen en la pestaña 2 - depende de si la auditoría "Tipo X" se realizó o no.
Quiero encontrar la mejor manera de generar una tercera tabla basada en la 2 anterior, que representará, para cada tipo de "Auditoría", la auditoría "Estado" para cada proveedor "Nombre" en la pestaña 1. Si no se encuentra "Estado" en la pestaña 2, escriba "No hecho".
Aquí hay una representación simplificada:
Gracias y saludos.
@MarwenA , Crear una nueva tabla
NewTable : crossjoin(suppliers, Distinct(Audit[Audit type]))
y añadir esta nueva columna
new column á coalesce(maxx(filter(Audit, Audit[suppliers] ?NewTable[suppliers] && Audit[Audit type] ?NewTable[Audit type]),[Audit Type]),"Not Done")También puede combinar la consulta de potenciahttps://radacad.com/append-vs-merge-in-power-bi-and-power-query
5 Replies
- Greg_Deckler
Community Champion
@MarwenA Parece que debería usar una consulta Merge en Power Query Editor
- AnonymousNot applicable
Hola Greg,
No estoy seguro de saber cómo hacerlo.. ¿Puede ayudar con los detalles por favor ?
Gracias.
- amitchandak
Super User
@MarwenA , Crear una nueva tabla
NewTable : crossjoin(suppliers, Distinct(Audit[Audit type]))
y añadir esta nueva columna
new column á coalesce(maxx(filter(Audit, Audit[suppliers] ?NewTable[suppliers] && Audit[Audit type] ?NewTable[Audit type]),[Audit Type]),"Not Done")También puede combinar la consulta de potenciahttps://radacad.com/append-vs-merge-in-power-bi-and-power-query
- FrankAT
Community Champion
Hola @MarwenA
puede hacerlo en Power Query de la siguiente manera:
// Audit list let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUQqpLEhVMAQy/AtS85RidaKVnJBFnXPyi1NTwOLOWFXDzTDCaoYRDjNQVLvARI2xiprARWMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Audit = _t, Status = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Audit", type text}, {"Status", type text}}), #"Removed Other Columns" = Table.SelectColumns(#"Changed Type",{"Audit"}), #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns"), #"Added Custom" = Table.AddColumn(#"Removed Duplicates", "Custom", each #"Name list"), #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Name"}, {"Name"}), #"Reordered Columns" = Table.ReorderColumns(#"Expanded Custom",{"Name", "Audit"}), #"Changed Type1" = Table.TransformColumnTypes(#"Reordered Columns",{{"Name", type text}}), #"Merged Queries" = Table.NestedJoin(#"Changed Type1", {"Name", "Audit"}, #"List of audit performed", {"Name", "Audit"}, "List of audit performed", JoinKind.LeftOuter), #"Expanded List of audit performed" = Table.ExpandTableColumn(#"Merged Queries", "List of audit performed", {"Status"}, {"Status"}), #"Replaced Value" = Table.ReplaceValue(#"Expanded List of audit performed",null,"Not done",Replacer.ReplaceValue,{"Status"}) in #"Replaced Value" // Name list let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUVKK1YlWcoIxnGEMFxjDFcZwAzNiAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Region = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Region", type text}}), #"Removed Other Columns" = Table.SelectColumns(#"Changed Type",{"Name"}), #"Removed Duplicates" = Table.Distinct(#"Removed Other Columns") in #"Removed Duplicates" // List of audit performed let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUQqpLEhVMAQy/AtS85RidaKVnJBFnXPyi1NTwOLOWFXDzTDCaoYRDjNQVLvARI2xiprARWMB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Audit = _t, Status = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Audit", type text}, {"Status", type text}}) in #"Changed Type" // List of suppliers let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUVKK1YlWcoIxnGEMFxjDFcZwAzNiAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Region = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Region", type text}}) in #"Changed Type"Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut) - Fowmy
Super User