Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hola
Tengo un Power Bi que toma datos de un excel, llamémoslo TABLA DE PERSONAS, que se genera regularmente. Entre muchas columnas, contiene los nombres de las personas y los nombres de sus equipos. Ciertas personas, debido a algún error, no tienen los nombres de su equipo generados y el campo está en blanco. Llamémoslos personas perdidas.
Quiero que las personas que generan el archivo de Excel y actualizan el panel de Power Bi no controlen este problema cada vez. Me gustaría tener un archivo de Excel, llamémoslo TABLA PERDIDA, donde pueda tener dos columnas, una con los nombres de esas personas perdidas y otra con los nombres de sus equipos.
Quiero que Power Bi tome esos nombres de LOST TABLE y compruebe si PEOPLE TABLE contiene esos nombres. Si es así, deben reemplazar el valor de la columna Nombre del equipo con el que se encuentra en la columna Nombre del equipo LOST TABLE.
La idea es que esas personas puedan dejar la empresa, otras que tengan el mismo problema, por lo que alguien puede escribir sus nombres y el nombre propio del equipo en la TABLA PERDIDA. A continuación, Power Bi actualizará sus equipos en consecuencia.
Gracias por cualquier ayuda.
Hola @Piotr12 ,
Primero, puede crear una TABLA PERDIDA con dos columnas: una para el nombre de la persona perdida y otra para el nombre correcto de su equipo. Use la tabla de combinación de combinación externa izquierda con el nombre de la persona en Power Query.
Reemplace el nombre del equipo en blanco en la TABLA DE PERSONAS por el nombre del equipo correspondiente en la TABLA PERDIDA. Actualice los datos de Power BI para reflejar las actualizaciones cuando se modifique LOST TABLE. El siguiente código M se puede utilizar como referencia.
let
People_Table = Excel.Workbook(File.Contents("path_to_PEOPLE_TABLE.xlsx"), null, true),
Lost_Table = Excel.Workbook(File.Contents("path_to_LOST_TABLE.xlsx"), null, true),
Merged_Table = Table.NestedJoin(People_Table,{"Name"},Lost_Table,{"Name"},"NewColumn",JoinKind.LeftOuter),
Expand_TeamName = Table.ExpandTableColumn(Merged_Table, "NewColumn", {"Team Name"}),
Replace_Blanks = Table.ReplaceValue(Expand_TeamName,"",each [NewColumn.Team Name],Replacer.ReplaceValue,{"Team Name"})
in
Replace_Blanks
Saludos
Yilong Zhou
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @Piotr12
Haría una fusión (o una combinación de SQL) con la tabla original a la izquierda y la tabla de Excel a la derecha y uniría en la columna de personas. Después de eso, crearía una nueva columna personalizada que devuelva el valor de la tabla de Excel si el valor de la tabla original está en blanco.