Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
7ea8ea
Helper III
Helper III

Dividir columnas basadas en datos de otra columna

Hola a todos

Tengo datos que se ven algo como esto:

ProductoNúmero
A1
A2
A3
A4
B1
B2
B3

¿Cómo puedo manipular o dividir las columnas para que se vea algo como esto donde a cada producto se le da una nueva columna para su número:

ProductoNúmeroNúmero (2)
A1
A2
A3
A4
B 1
B 2
B 3

Cualquier ayuda sería plenamente apreciada. Gracias.

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@7ea8ea , Crear dos nuevas columnas como

Número 1: if([Producto], "A", [Número], blank())
Número 2o if([Producto]- "B", [Número], blank())

View solution in original post

5 REPLIES 5
DavisBI
Solution Specialist
Solution Specialist

Hola, @7ea8ea ,

Puede declarar una función en el editor powerquery. El número de producto se puede utilizar como parámetro y, a continuación, se cambiará el nombre de la nueva columna cada vez que se pase el parámetro. De esta manera, cuando se llama a la función, debido a los diferentes nombres de columna, se pueden agregar automáticamente nuevas columnas.

Puedo hacer una demostración si no tienes claro eso.

Mejor.

Hola, pero soy nuevo en Power BI. ¿Te importaría hacer una demostración si estás dispuesto a hacerlo? Muchas gracias

amitchandak
Super User
Super User

@7ea8ea , Crear dos nuevas columnas como

Número 1: if([Producto], "A", [Número], blank())
Número 2o if([Producto]- "B", [Número], blank())

Hola cuando intenté esto, dice que tengo un error 'Token RightParen expected'. ¿Alguna forma de arreglar esto?

DavisBI
Solution Specialist
Solution Specialist

Supongamos que tiene los siguientes datos:

let
DATA = 
    Table.FromRecords(
        {
            [ID = "A", Number = 12],
            [ID = "A", Number = 5],
            [ID = "A", Number = 6],
            [ID = "A", Number = 8],
            [ID = "B", Number = 14],
            [ID = "B", Number = 9],
            [ID = "B", Number = 7],
            [ID = "B", Number = 7],
            [ID = "C", Number = 5],
            [ID = "C", Number = 16],
            [ID = "C", Number = 18]
        },
        type table [ID = nullable text, Number = nullable number]
    )
in
    DATA

Y luego puede crear una nueva función usando el código M:

(ID_Code as text) => 
let
DATA = 
    DATA,
    DATA_Filtered = Table.SelectRows(DATA, each ([ID] = ID_Code)),
    DATA_Renamed = Table.RenameColumns(DATA_Filtered,{{"Number", ID_Code}})

in
    DATA_Renamed

Desde entonces, debe crear una lista que incluya todos los valores distintos de [ID] para que PowerQuery pueda ejecutar la función para cada [ID] después de hacer clic en "Invocar función personalizada" y obtendrá lo que desea al final.

Si te gustó mi solución, por favor dale un pulgar hacia arriba. Y si respondí a su pregunta, por favor marque este post como una solución. ¡Gracias!

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors