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

Reemplazar valores por un valor determinado de otra tabla

Hola a todos,

Esto es más probablemente un problema fácil de resolver, pero no puedo conseguir la caída de él...

Tengo una tabla de GL_Entry donde 2 columnas se ven así:

GL_Account_No | Global_Dimension

8753123 USFN_ASDF

7654412 USFN_ZXCVB

66531278 USFN_PLMOKN

Además, tengo una tabla Dimensiones de transacción con esas columnas:

GL_Acc_Start | GD_Actual_Value

765 USFN_QWERTY

665 USFN_OZN

Lo que estoy tratando de hacer es crear una función dax que reemplace los valores de dimensión global donde el GL_Account_No comienza con una determinada subcadena de caracteres.

Un ejemplo aproximado es que para cada GL_Account_No que comienza con 665, el valor de dimensión global se reemplazará con un valor correspondiente de la segunda tabla, en este caso es USFN_OZN. Por lo tanto, todas las filas con GL_Account_No que comienza con 665 ahora tendrán el valor de dimensión global establecido en USFN_OZN.

Si quiero reemplazar los valores con texto codificado de forma rígida.. funciona muy bien.. Pero quiero obtener los valores de una segunda tabla utilizada especialmente para esto.

#"Valor reemplazado" = Table.ReplaceValue(#"Changed Type",each [GD1],each if Text.StartsWith([GL_ACC_NO], "665") then "hardcodedtext" else [GD1],Replacer.ReplaceText,{"GD1"})

Esto significa que esta expresión debe tener este aspecto:

#"Valor reemplazado" = Table.ReplaceValue(#"Changed Type",each [GD1],each if Text.StartsWith([GL_ACC_NO], "665") then *get value from table Transaction Dimensions where GL_Acc_Start = 665* else [Global_Dimension],Replacer.ReplaceText,{"Global_Dimension"})

He intentado hacer esto con FIRSTNONBLANK pero no se reconoce...

Agradecería cualquier tipo de ayuda con este asunto, muchas gracias por su tiempo!

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Hey @Laurentiu ,

si desea hacerlo en Power Query, puede extraer los primeros 3 caracteres como una nueva columna y, a continuación, combinarlos con la otra columna.

Compruebe el siguiente ejemplo que he creado:

https://www.swisstransfer.com/d/0cce8983-d6a5-4a78-928a-32ee24e1905d

Si necesita ayuda por favor hágamelo saber.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

View solution in original post

Hey @Laurentiu ,

Sí, funciona con una mesa pequeña y también funcionará con una mesa más grande.

Si necesita ayuda por favor hágamelo saber.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Hey @Laurentiu ,

si desea hacerlo en Power Query, puede extraer los primeros 3 caracteres como una nueva columna y, a continuación, combinarlos con la otra columna.

Compruebe el siguiente ejemplo que he creado:

https://www.swisstransfer.com/d/0cce8983-d6a5-4a78-928a-32ee24e1905d

Si necesita ayuda por favor hágamelo saber.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

Hola

Realmente aprecio la ayuda, pero ¿funcionará esto automáticamente para los nuevos datos que entran en la tabla de GL_Entry?

Mi escenario de caso real aquí se ve así:

Tengo un montón de entradas en la tabla de entrada de contabilidad general ( 500k más o menos ) pero para cierta cuenta no. Quiero cambiar el valor de dimensión global con un valor de una tabla pequeña configurada especialmente para esto ( Dimensiones de transacción ).

Por ejemplo, tengo 20 entradas donde la cuenta de contabilidad general comienza con XYZ,para aquellos que quiero cambiar el valor de dimensión global con el que existe en la tabla dimensiones de transacción (el valor correspondiente para XYZ, por supuesto).

Lo siento si tengo su solución equivocada, realmente aprecio su ayuda.

¿Es posible hacer lo que estoy pidiendo?

¡Que tengas un gran día!

Hey @Laurentiu ,

Sí, funciona con una mesa pequeña y también funcionará con una mesa más grande.

Si necesita ayuda por favor hágamelo saber.
Si respondiera a su pregunta, estaría feliz si pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
Saludos
Denis

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.

Top Kudoed Authors