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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Creación de una tabla personalizada con DAX mediante columnas con valores de texto

Estoy intentando crear una tabla personalizada en Power BI con DAX. Cada celda de la tabla consta del valor de un campo diferente de la tabla de origen de datos que cargué (como una consulta SQL que usa subconsultas para crear la tabla) cuando se filtra a un valor específico en la columna principal. Una de las columnas que necesito crear incluye porcentajes, números enteros y decimales. Es por eso que los convertí todos en campos de texto porque (por lo que entiendo) Power BI no puede crear una tabla personalizada con una columna que no tenga un tipo de datos uniforme. He probado varias formas diferentes de crear esta tabla en DAX, pero me he dado cuenta de que todas las funciones para crear una tabla personalizada no le permitirán usar columnas de valores de texto. Puede agregar columnas con valores de escalador, pero si usa columnas de texto, genera un error que le indica que requiere una columna de escalador. ¿Hay alguna forma de evitar esto en Power BI? ¿Puedo crear una tabla personalizada utilizando los valores de los campos de texto?

La tabla que quiero crear tiene la siguiente estructura:

Filtro: Campo 7 de la fuente de datos = "A"

Col 1 Col 2 Col 3

Campo de texto manual 1 de la fuente de datos Campo 2 de la fuente de datos

Campo de texto manual 3 de la fuente de datos Campo 4 de la fuente de datos

Campo de texto manual 5 de la fuente de datos Campo 6 de la fuente de datos

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Digamos que este es el archivo de la fuente de datos (todos los datos ficticios: formato de porcentaje de los campos 1 y 6, formato decimal de los campos 2 y 5, formato entero de los campos 3 y 4):

Campo 1Campo 2Campo 3Campo 4Campo 5Campo 6Campo 7
5.7%3.261199.852%A
6.2%22.493433.747%B
9.3%21.672760.522%C
4.9%4.621823.672%D

A continuación, quiero crear una tabla en DAX que adopte este formato con la consulta:

Segmentación establecida en: Campo 7 = B

Col 1Col 2Col 3
"Texto que agrego manualmente 1"6.2%22.4
"Texto que agrego manualmente 2"934
"Texto que añado manualmente 3"33.747%

Como puede ver, estoy apilando diferentes tipos de datos en la misma columna de esta manera, lo que está causando el problema. La solución deseada es una manera de lograr una tabla como esta mediante alguna función DAX. ¡Cualquier ayuda que pueda proporcionar es muy apreciada!

Hola @RNd32m6,

Me gustaría sugerirle que haga 'desdinamizar columna' en los campos de la tabla y use el campo 7' como grupo. A continuación, puede usar el "campo 7" como "Fila", el atributo como "Columna" y el valor como "Valor" para crear objetos visuales de matriz.

Anular dinamización de columnas - Power Query | Microsoft Learn

Puede filtrar por el campo de atributo para controlar los campos displidados y establecer la cadena de formato en función del valor actual del campo de atributo.

Creación de cadenas de formato dinámico para medidas en Power BI Desktop - Power BI | Microsoft Lear...

Saludos

Xiaoxin Sheng

¡Gracias por el consejo! Probé su solución y funciona para apilar todo en una columna. Sin embargo, tengo problemas para intentar crear tres columnas. En este momento, mis datos se ven así:

Col 1Col 2
Texto 1Campo 1
Texto 1Campo 2
Texto 1Campo 3
Texto 1Campo 4
Texto 1Campo 5
Texto 1Campo 6
Texto 2Campo 1
Texto 2Campo 2
Texto 2Campo 3
Texto 2Campo 4
Texto 2Campo 5
Texto 2Campo 6
Texto 3Campo 1
Texto 3Campo 2
Texto 3Campo 3
Texto 3Campo 4
Texto 3Campo 5
Texto 3Campo 6

¿Sabes cómo puedo pivotarlo en tres columnas en lugar de una? Más cosas como esta:

Col 1Col 2Col 3Col 4
Texto 1Campo 1Campo 2Campo 3
Texto 1Campo 4Campo 5Campo 6
Texto 2Campo 1Campo 2Campo 3
Texto 2Campo 4Campo 5Campo 6
Texto 3Campo 1Campo 2Campo 3
Texto 3Campo 4Campo 5Campo 6

Hola @RNd32m6 ,

Aquí está el código de consulta M completo que usó estructuras de tabla de transformación, puede probarlo si ayuda:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bc0hDoAwFATRq5Cva9gFjsAJcE0dFU2QFT0+OEgYNxnzco6jjj7NkWJv9TqfKuk3RdM0F5orze2dIl2ki3SRLtJFukk36SbdpJt0f/VyAw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Col 1" = _t, #"Col 2" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Col 1", type text}, {"Col 2", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Col 1"}, {{"Cont", each List.Transform(List.Split(_[Col 2], List.Count(_[Col 2])/2),each Text.Combine(_,",")), type list}}),
    #"Expanded Cont" = Table.ExpandListColumn(#"Grouped Rows", "Cont"),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Expanded Cont", "Cont", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), {"Col 2", "Col 3", "Col 4"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Col 1", type text}, {"Col 2", type text}, {"Col 3", type text}, {"Col 4", type text}})
in
    #"Changed Type1"

3.png

Aviso: esta nueva estructura de tabla puede no ser adecuada para trabajar con la solución que proporciono anteriormente.
Saludos

Xiaoxin Sheng

Syndicate_Admin
Administrator
Administrator

Hola @RNd32m6 ,

¿Puede compartir un pbix o algunos datos ficticios que mantengan la estructura de datos sin procesar con los resultados esperados? Debería ayudarnos a aclarar su escenario y probar la fórmula de codificación.

Cómo obtener respuestas rápidas a tu pregunta

Saludos

Xiaoxin Sheng

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.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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

Top Solution Authors