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

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.

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo reemplazar el nombre del vendedor por un número de factura determinado?

Hola a todos

Debido a un error de entrada de dat .

¿Puede alguien compartir conmigo cómo hacer uso de Power Quary para cambiar?

admin11_0-1615790664351.png

https://www.dropbox.com/s/sej558h3nh7tbuz/PBT_V2021_367%20invoice%20number%20123456%20change%20sales...

Arriba enlace está mi PBI fiel

Paul

2 ACCEPTED SOLUTIONS

@admin11 ,

Ok, aunque dijiste que querías específicamente una solución power query.

Esta es una posible solución DAX:

_sal1amend = 
SWITCH(
    TRUE(),
    MAX(SALES[inv]) IN {800148, 800154}, "HL",
    MAX(SALES[Sal1])
)

Solo puede agregar o quitar números de factura dentro de la lista IN {...}.

Esto me da la siguiente salida cuando se utiliza en una tabla con una sola fila para cada [inv]:

BA_Pete_0-1615800980571.png

View solution in original post

@admin11 ,

No hay problema.

sal1AmendColumn =
IF(
  SALES[inv] IN {800148, 800146, 800154},
  "PY",
  SALES[Sal1]
)

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

No @admin11,

En Power Query, seleccione [Sal1], vaya a la pestaña Transformar de la cinta de opciones y seleccione 'Reemplazar valores'.

Si se trata de un campo de texto, ingrese "aaaa" en el campo de búsqueda, y "bbbb" en el campo de reemplazo. Golpea bien.

En la barra de fórmulas, el paso que acaba de crear debe tener un aspecto similar al siguiente:

= Table.ReplaceValue(previousStep,"aaaa","bbbb",Replacer.ReplaceText,{"Sal1"})

Ahora, donde usted tiene "aaaa", reemplace este argumento por "cada [inv]", y reemplace el argumento "bbbb" por el siguiente:

each if [inv] = "800148" then "PY" else [sal1]

Su nuevo paso en la barra de fórmulas debería tener este aspecto:

= Table.ReplaceValue(previousStep, each [sal1], each if [inv] = "800148" then "PY" else [sal1],Replacer.ReplaceText,{"sal1"})

@BA_Pete

Muchas gracias por compartir.

¿Quieres decir, sólo necesito copiar el último guión y pegar en mi editor avanzado?

Paul

@admin11 ,

Si se siente cómodo con la edición manual del código M en el Editor Avanzado entonces, sí, puede pegar esa línea directamente allí. Obviamente tendrá que cambiar el argumento "previousStep" a cualquier nombre de paso anterior, pero, aparte de eso, debería funcionar bien.

@BA_Pete

Puesto que tengo más de 10 fila de registro necesitan cambiar , ¿puedo saber que es posible hacerlo usando código DAX?

Paul

@admin11 ,

Ok, aunque dijiste que querías específicamente una solución power query.

Esta es una posible solución DAX:

_sal1amend = 
SWITCH(
    TRUE(),
    MAX(SALES[inv]) IN {800148, 800154}, "HL",
    MAX(SALES[Sal1])
)

Solo puede agregar o quitar números de factura dentro de la lista IN {...}.

Esto me da la siguiente salida cuando se utiliza en una tabla con una sola fila para cada [inv]:

BA_Pete_0-1615800980571.png

@BA_Pete

Sólo noto que a continuación la expresión es una medida :-

_sal1amend = SWITCH( TRUE(), MAX(SALES[inv]) EN {800148,800146, 800154}, "PY", MAX(SALES[Sal1]) )
¿Puedo saber cómo convertir la expresión anterior a columna, para que pueda poner en Slicer.
Como ahora no puedo filtrar por nombre Sal.
Paul Yeo

@admin11 ,

No hay problema.

sal1AmendColumn =
IF(
  SALES[inv] IN {800148, 800146, 800154},
  "PY",
  SALES[Sal1]
)

@BA_Pete

Muchas gracias, que funciona bien ahora.

Paul

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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