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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
GVTionale
Helper II
Helper II

mostrar sólo aquellas columnas donde los campos no están vacíos

Tengo una tabla que contiene las condiciones de pago de los pedidos de los clientes de la siguiente manera -

Payment_Mode1 , Porcentaje de Modo1, Modo de Pago2, % de Modo2 y Modo de Pago3, % del Modo 3.

El modo de pago 1 tendrá valor si hay términos de "TT", Modo2 para "DP" y Modo 3 para "LC" con % apropiado contra cada

Eg. Si los términos son 30% TT y 70% LC, Mode1 tendrá el valor de "TT", % será 30, el modo 2 y % será en blanco y Mode3 y % será LC,70%.

Me gustaría mostrar la tabla de términos de pago en la página de detalles del cliente o de los detalles y debe ser sólo para aquellos donde los valores no están en blanco.

¿Cómo lo hago?

6 REPLIES 6
BA_Pete
Super User
Super User

Hola @GVTionale

¿Puede proporcionar un ejemplo de cómo se ven sus datos de origen, y también un ejemplo de cómo se ve su salida deseada por favor?

Recuerde eliminar cualquier información confidencial.



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




aquí están los datos de muestra -

Prof_Inv #ClientePmt_Mode1Modo1 %Pmt_Mode2Modo2 %Pmt_Mode3Modo3 %Días
101AdrienTt100%
112CharlieTt30% LC-USANCE70%90
123DebbieTt30%Dp70%

Salida de tabla esperada Visual (página del cliente)

Cliente : Charlie

Prof_Inv #Condiciones de pago
112TT-30%; LC-USANCE 90Días-70%

Espero que esto ayude

Hola @GVTionale

He creado el campo [Términos de pago] en Power Query que puede usar en el informe de la siguiente manera:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwVNJRckwpykzNAzJCQoCEoYGBKpBSwMCxOkANhkZAtnNGYlFOZipMhzGKBh9n3dBgRz9nVyDbHCxjaQDRa2QM5LikJiWha3UJgKtFsi4WAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Prof_Inv#" = _t, Customer = _t, Pmt_Mode1 = _t, #"Mode1 %" = _t, Pmt_Mode2 = _t, #"Mode2 %" = _t, Pmt_Mode3 = _t, #"Mode3 %" = _t, Days = _t]),
    replacedSpaceforNull = Table.ReplaceValue(Source," ",null,Replacer.ReplaceValue,{"Mode1 %", "Pmt_Mode2", "Mode2 %", "Pmt_Mode3", "Mode3 %", "Days"}),
    mergeMode1 = Table.AddColumn(replacedSpaceforNull, "Mode1", each Text.Combine({[Pmt_Mode1], [#"Mode1 %"]}, " - "), type text),
    mergeMode2 = Table.AddColumn(mergeMode1, "Mode2", each Text.Combine({[Pmt_Mode2], [#"Mode2 %"]}, " - "), type text),
    mergeMode3 = Table.AddColumn(mergeMode2, "Mode3", each Text.Combine({[Pmt_Mode3], [#"Mode3 %"]}, " - "), type text),
    mergeDaysDesc = Table.AddColumn(mergeMode3, "daysDesc", each if [Days] <> null then Text.Combine({[Days], "days"}, " ") else null, type text),
    mergePaymentTerms = Table.AddColumn(mergeDaysDesc, "Payment Terms", each Text.Combine(List.Select({[Mode1],[Mode2],[Mode3], [daysDesc]}, each _ <> "" and _ <> null), " ; "), type text),
    pctDataTypes = Table.TransformColumnTypes(mergePaymentTerms,{{"Mode1 %", Percentage.Type}, {"Mode2 %", Percentage.Type}, {"Mode3 %", Percentage.Type}})
in
    pctDataTypes

Pegue esto en una consulta en blanco con Advanced Editor para que pueda seguir mis pasos.

Obtengo la siguiente salida que, por supuesto, se puede filtrar según lo requiera:

GVTionale.PNG



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Hola

muchas gracias por su pronta respuesta.

Tengo algunos problemas más con los datos a medida que lo pasé ahora y presentando lo mismo aquí

(1)la tabla de origen tiene valores rellenados para el modo de pago, incluso cuando el % es 0

(2) los valores en la columna de porcentaje son números enteros. ¿cómo agrego el símbolo % en la descripción

(3) Se ha proporcionado el campo Días para todos los modos de pago, aunque el valor es 0 para el Modo 1 y el Modo 2 para todas las filas

PAYMENT_MODEDíasPorcentajePAYMENT_MODE_2DAYS_2PERCENTAGE_2PAYMENT_MODE_3DAYS_3PERCENTAGE_3
Tt0100Dp 0LC-S00
Tt030Dp 0LC-U6070
Tt00Dp 100LC-S00

Por favor, aconseje cómo resolver este

saludos

Hola @GVTionale ,

¿Te ha salido bien?

Si es así, ¿puede marcar la solución que funcionó por favor? Esto garantiza que las personas se dirigen a la respuesta correcta si tienen el mismo problema.

Gracias



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Hola @GVTionale

1) Por favor, intente esto:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQwVNJRckwpykzNAzJCQoCEoYGBKpBSwMCxOkANhkZAtnNGYlFOZipMhzGKBh9n3dBgRz9nVyDbHCxjaQDRa2QM5LikJiWha3UJgKtFsi4WAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Prof_Inv#" = _t, Customer = _t, Pmt_Mode1 = _t, #"Mode1 %" = _t, Pmt_Mode2 = _t, #"Mode2 %" = _t, Pmt_Mode3 = _t, #"Mode3 %" = _t, Days = _t]),
    replacedSpaceforNull = Table.ReplaceValue(Source," ",null,Replacer.ReplaceValue,{"Mode1 %", "Pmt_Mode2", "Mode2 %", "Pmt_Mode3", "Mode3 %", "Days"}),
    mergeMode1 = Table.AddColumn(replacedSpaceforNull, "Mode1", each Text.Combine({[Pmt_Mode1], [#"Mode1 %"]}, " - "), type text),
    mergeMode2 = Table.AddColumn(mergeMode1, "Mode2", each Text.Combine({[Pmt_Mode2], [#"Mode2 %"]}, " - "), type text),
    mergeMode3 = Table.AddColumn(mergeMode2, "Mode3", each Text.Combine({[Pmt_Mode3], [#"Mode3 %"]}, " - "), type text),
    mergeDaysDesc = Table.AddColumn(mergeMode3, "daysDesc", each if [Days] <> null then Text.Combine({[Days], "days"}, " ") else null, type text),
    mergePaymentTerms = Table.AddColumn(mergeDaysDesc, "Payment Terms", each Text.Combine(List.Select({[Mode1],[Mode2],[Mode3], [daysDesc]}, each _ <> "" and _ <> null), " ; "), type text),
    remUnusedCols = Table.RemoveColumns(mergePaymentTerms,{"Mode1", "Mode2", "Mode3", "daysDesc"}),
    pctDataTypes = Table.TransformColumnTypes(remUnusedCols,{{"Mode1 %", Percentage.Type}, {"Mode2 %", Percentage.Type}, {"Mode3 %", Percentage.Type}})
in
    pctDataTypes

He ajustado el paso de reemplazo para que cambie los ceros por null ahora en lugar de espacios. También se han eliminado las columnas no utilizadas.

2) El paso final en lo anterior debe establecer estas columnas en Porcentaje de tipo de datos

3) El código abve debe solucionar esto proporcionando Mode1 y mode2 días son SIEMPRE cero.



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors