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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
JoaoMS
Helper III
Helper III

Reemplazar valor en Power Query en función de la condición

Queridos todos,

Tengo una tabla ("POs") con una lista de PO que tienen algunos campos que en momentos muy específicos tienen entradas de entrada incorrectas. Por ejemplo, en la tabla siguiente, el PO "1006" debe tener la categoría "C" en lugar de la categoría "D":

Importe de la categoría PO
1001 A 1050
1002 A 1327
1003 B 1276
1004 B 1383
1005 C 1967
1006 D 1288
1007 E 1707
1008 F 1233

Intenté usar la opción ReplaceValue en Power Query, pero reemplaza todas las categorías "D" de todos los "POs". Sólo quiero reemplazar la categoría del PO "1006".

Gracias

1 ACCEPTED SOLUTION
v-shex-msft
Community Support
Community Support

HI @JoaoMS,

Puede utilizar la función de valor replace con una expresión personalizada para agregar condiciones para reemplazar los pasos de valor:

    #"Replaced Value" = Table.ReplaceValue(#"Changed Type",each [Category],each if [PO]=1006 and [Category]="D" then "C" else [Category],Replacer.ReplaceText,{"Category"})

15.png

saludos
Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

View solution in original post

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

Mire este video para ver los valores de reemplazo condicionales: https://youtu.be/U5SzfXeuM5k

Syndicate_Admin
Administrator
Administrator

Esta es una solución más simple:

#"Replaced Value" = Table.ReplaceValue(#"Changed Type","D",each if [PO]=1006 then "C" else "D",Replacer.ReplaceText,{"Category"})
Syndicate_Admin
Administrator
Administrator

Querida comunidad, también tengo problemas con la creación del código "reemplazar".

Necesito reemplazar el valor basado en múltiples condiciones.

He adjuntado y extraigo los datos que quiero administrar.

Son las condiciones que me gustaría aplicar:

If [Billing code - description] = "--Unknown billing code--" AND [User - name] = "svMedIS_App Compte de service RadOffice" AND [Location] = "Rennaz" then [Billing code] = "A" else "No change"

If [Billing code - description] = --Unknown billing code-- AND [User - name] = svSIMop Compte de service Logimen AND [Location] = Rennaz then [Billing code] = "B" else "No change"

If [Billing code - description] = --Unknown billing code-- AND [User - name] = svSIMop Compte de service Logimen AND [Location] = Providence then [Billing code] = "C" else "No change"

aquí el conjunto de datos que usé para mi prueba

Gracias por su respuesta y ayuda

v-shex-msft
Community Support
Community Support

HI @JoaoMS,

Puede utilizar la función de valor replace con una expresión personalizada para agregar condiciones para reemplazar los pasos de valor:

    #"Replaced Value" = Table.ReplaceValue(#"Changed Type",each [Category],each if [PO]=1006 and [Category]="D" then "C" else [Category],Replacer.ReplaceText,{"Category"})

15.png

saludos
Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

Creo que tienes un error en la sintaxis, debería ser Replacer.ReplaceValue en lugar de Replacer.ReplaceText. Toda la línea es así:

#"Replaced Value" = Table.ReplaceValue(#"Changed Type",each [Category],each if [PO]=1006 and [Category]="D" then "C" else [Category],Replacer.ReplaceValue,{"Category"})

Esto funcionó para mí, no la respuesta original

Gracias, esto es lo que estaba buscando sin crear una nueva columna. Acabo de hacer un pequeño cambio "cada uno si [PO] 1006 luego "C" más [Categoría]", teniendo en cuenta que sólo hay un PO llamado "1006" Saludos
Anonymous
Not applicable

Intente de esta manera :

Paso 1 combinar columna "PO" y "Categoría",

Paso 2 reemplazar"1006D" en "1006C"

Paso 3 Divida la columna combinada en "PO" y "Category"

Anonymous
Not applicable

Paso 1 combinar columna "PO" y "Categoría",

Paso 2 reemplazar"1006C" en "1006D"

Paso 3 Divida la columna combinada en "PO" y "Category"

amitchandak
Super User
Super User

@JoaoMS , Algo como esto

si [PO] á "1006" entonces Text.Replace([Category], "C", "D") else [Category]

Este es un nuevo script de columna

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors
Top Kudoed Authors