Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
Soy nuevo en Power BI y tengo algunos problemas con Power Query.
Tengo el siguiente escenario tengo una tabla con 3 columnas, bacalao, cr y porcentaje.
En la columna porcentual la suma del bacalao siempre tiene que dar 100%.
Ejemplo, bacalao 1.
Tenemos 60% y el otro es nulo, así que lo que yo traería sería 40%, porque 100% - 60% - 40%.
Ejemplo, bacalao 3.
Tenemos 60% en la primera línea, 30% en la segunda línea y en la tercera línea me gustaría traer el 10% restante.
Necesito esto para trabajar en Power Query, probé algunas soluciones, pero no pude.
¿Me puedes ayudar?
El resultado espero que sea la columna D de la impresión de Excel.
Comparto el pbix que estoy usando en el siguiente enlace.
Enlace downalod pbix
Gracias
Solved! Go to Solution.
Probablemente sería más fácil cambiar el tipo de datos a decimal en lugar de tratar con el tipo de porcentaje, pero de todos modos esto es lo que hice.
Duplica la tabla.
COD 'Agrupar por' y sumar la columna Porcentaje. Llame a la nueva columna Agregar
Obtendrás esto
A continuación, agregue una columna personalizada para restar del 100%.
Utilice este código, en la fórmula:
Percentage.From("100%") -[Add]
Cambie el tipo a Porcentaje.
A continuación, puede combinar esta tabla con la tabla original (unirse en COD).
Expanda la columna Tabla para devolver solo la columna Personalizado de la 2a tabla.
Se verá así:
y desde allí se puede agregar una columna con lógica ''Si la columna Porcentaje es null use Tabla 2 personalizada else use Percent column"
Buena suerte.
Aquí hay otra manera de hacerlo. Utiliza un paso Modificar valores modificado para hacerlo en un solo paso. Para ver cómo funciona, simplemente cree una consulta en blanco, vaya a Editor avanzado y reemplace el texto allí con el código M a continuación.
let
Fonte = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUXIEYjMDVaVYHQjfCYjzSnNywAJGUAUWUAVG6AqM0UwwhiowRuI7wzXEAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Cod = _t, CR = _t, Percent = _t]),
#"Tipo Alterado" = Table.TransformColumnTypes(Fonte,{{"Cod", Int64.Type}, {"CR", type text}, {"Percent", Percentage.Type}}),
CustomReplace = Table.ReplaceValue(#"Tipo Alterado",null,each let thiscod = [Cod] in 1 - List.Sum(Table.SelectRows(#"Tipo Alterado", each [Cod] = thiscod)[Percent]),Replacer.ReplaceValue,{"Percent"}),
#"Changed Type" = Table.TransformColumnTypes(CustomReplace,{{"Percent", Percentage.Type}})
in
#"Changed Type"
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Aquí hay otra manera de hacerlo. Utiliza un paso Modificar valores modificado para hacerlo en un solo paso. Para ver cómo funciona, simplemente cree una consulta en blanco, vaya a Editor avanzado y reemplace el texto allí con el código M a continuación.
let
Fonte = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUXIEYjMDVaVYHQjfCYjzSnNywAJGUAUWUAVG6AqM0UwwhiowRuI7wzXEAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Cod = _t, CR = _t, Percent = _t]),
#"Tipo Alterado" = Table.TransformColumnTypes(Fonte,{{"Cod", Int64.Type}, {"CR", type text}, {"Percent", Percentage.Type}}),
CustomReplace = Table.ReplaceValue(#"Tipo Alterado",null,each let thiscod = [Cod] in 1 - List.Sum(Table.SelectRows(#"Tipo Alterado", each [Cod] = thiscod)[Percent]),Replacer.ReplaceValue,{"Percent"}),
#"Changed Type" = Table.TransformColumnTypes(CustomReplace,{{"Percent", Percentage.Type}})
in
#"Changed Type"
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
@mahoneypat
Muchas gracias, su solución es sensacional.
Resolvió mi problema.
Gracias
Probablemente sería más fácil cambiar el tipo de datos a decimal en lugar de tratar con el tipo de porcentaje, pero de todos modos esto es lo que hice.
Duplica la tabla.
COD 'Agrupar por' y sumar la columna Porcentaje. Llame a la nueva columna Agregar
Obtendrás esto
A continuación, agregue una columna personalizada para restar del 100%.
Utilice este código, en la fórmula:
Percentage.From("100%") -[Add]
Cambie el tipo a Porcentaje.
A continuación, puede combinar esta tabla con la tabla original (unirse en COD).
Expanda la columna Tabla para devolver solo la columna Personalizado de la 2a tabla.
Se verá así:
y desde allí se puede agregar una columna con lógica ''Si la columna Porcentaje es null use Tabla 2 personalizada else use Percent column"
Buena suerte.
@HotChilli Muchas gracias, su solución es sensacional.
Resolvió mi problema.
Gracias
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.