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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register 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
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

February 2024 Update Carousel

Power BI Monthly Update - February 2024

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

Fabric Career Hub

Microsoft Fabric Career Hub

Explore career paths and learn resources in Fabric.

Fabric Partner Community

Microsoft Fabric Partner Community

Engage with the Fabric engineering team, hear of product updates, business opportunities, and resources in the Fabric Partner Community.

Top Solution Authors