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
carlG
Helper I
Helper I

Masaje de datos para la exportación de encuestas - Género

Luchando para encontrar una manera de manipular los datos de la encuesta en una sola columna.

Actualmente hay 76 columnas diferentes en esta exportación, y tratando de reducir siempre que sea posible.

Pregunta: ¿hay alguna manera de combinar el género (Col11-14) en una sola columna? Bono por no usar DAX si es posible.

Instantánea de la tabla

carlG_0-1597029586466.png


gracias de antemano por cualquier consejo

1 ACCEPTED SOLUTION

@carlG - Prueba esto:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCs9ILFHILFaozC8tUkhPzUtJLVLSUVKA41idaCW31NzEnFQg1xdC+ZdkgFUFJYIYCnn5JQrFiZVgpS6pufnpRYkFGZnJGMYo4BUxBIsYYlVjiCKCqQYkAkWxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"(blank)" = _t, #"(blank).1" = _t, #"(blank).2" = _t, #"(blank).3" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"(blank)", type text}, {"(blank).1", type text}, {"(blank).2", type text}, {"(blank).3", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([#"(blank)"] <> "Demographic" and [#"(blank)"] <> "What is your gender")),
    #"Promoted Headers" = Table.PromoteHeaders(#"Filtered Rows", [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Female", type text}, {"Male", type text}, {"Other", type text}, {"Rather not say", type text}}),
    #"Replaced Value" = Table.ReplaceValue(#"Changed Type1","1","Female",Replacer.ReplaceText,{"Female"}),
    #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","1","Male",Replacer.ReplaceText,{"Male"}),
    #"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1","1","Other",Replacer.ReplaceText,{"Other"}),
    #"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2","1","Rather not say",Replacer.ReplaceText,{"Rather not say"}),
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Replaced Value3", {}, "Attribute", "Value"),
    #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"}),
    #"Filtered Rows1" = Table.SelectRows(#"Removed Columns", each ([Value] <> "" and [Value] <> " ")),
    #"Renamed Columns" = Table.RenameColumns(#"Filtered Rows1",{{"Value", "What is your gender"}})
in
    #"Renamed Columns"

@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

7 REPLIES 7

@amitchandak Gracias por la sugerencia,
Desafortunadamente, cuando despirezco, me quedo con lagunas en mis datos, y la agrupación por filas no parece retener los otros datos

Muestra de datos unpivoted

Identificación única del participante¿Cuál es su género
402439
402439
402439
402439
419083
419083
419083
419083Más bien no decir
406325Mujer
406325
406325
406325
406329
406329masculino
406329
406329
406332Mujer
406332
406332
406332
406334Mujer
Greg_Deckler
Super User
Super User

@carlG - Bueno, lo obvio sería despivo esas cuatro columnas, pero siento que has suministrado como el 10% de un problema. No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Disculpas @Greg_Deckler buena sugerencia, intente 2 a continuación.
Problema con la combinación de datos.


Datos de tabla de ejemplo como texto:

¿Cuál es su género
MujermasculinoOtroMás bien no decir
Demográfica
1
1
1
1
1

Resultado esperado

¿Cuál es su género
Más bien no decir
Mujer
masculino
Mujer
Mujer

Notas:

conjunto de datos que se espera que alcancen los registros de 10K+ al final de cada año (Mis estudiantes de secundaria completan la encuesta al final de cada clase)

Este problema existe varias veces a lo largo de la exportación CSV de 76 columnas.

@carlG - Prueba esto:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCs9ILFHILFaozC8tUkhPzUtJLVLSUVKA41idaCW31NzEnFQg1xdC+ZdkgFUFJYIYCnn5JQrFiZVgpS6pufnpRYkFGZnJGMYo4BUxBIsYYlVjiCKCqQYkAkWxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"(blank)" = _t, #"(blank).1" = _t, #"(blank).2" = _t, #"(blank).3" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"(blank)", type text}, {"(blank).1", type text}, {"(blank).2", type text}, {"(blank).3", type text}}),
    #"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([#"(blank)"] <> "Demographic" and [#"(blank)"] <> "What is your gender")),
    #"Promoted Headers" = Table.PromoteHeaders(#"Filtered Rows", [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Female", type text}, {"Male", type text}, {"Other", type text}, {"Rather not say", type text}}),
    #"Replaced Value" = Table.ReplaceValue(#"Changed Type1","1","Female",Replacer.ReplaceText,{"Female"}),
    #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","1","Male",Replacer.ReplaceText,{"Male"}),
    #"Replaced Value2" = Table.ReplaceValue(#"Replaced Value1","1","Other",Replacer.ReplaceText,{"Other"}),
    #"Replaced Value3" = Table.ReplaceValue(#"Replaced Value2","1","Rather not say",Replacer.ReplaceText,{"Rather not say"}),
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Replaced Value3", {}, "Attribute", "Value"),
    #"Removed Columns" = Table.RemoveColumns(#"Unpivoted Columns",{"Attribute"}),
    #"Filtered Rows1" = Table.SelectRows(#"Removed Columns", each ([Value] <> "" and [Value] <> " ")),
    #"Renamed Columns" = Table.RenameColumns(#"Filtered Rows1",{{"Value", "What is your gender"}})
in
    #"Renamed Columns"

@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Impresionante @Greg_Deckler, ahora sé cómo @amitchandak pretendía.

¿Cómo manejaría un campo que no tiene datos?
es decir, el participante 402439 ha sido eliminado del conjunto de datos, ya que decidió no responder a la pregunta de género. (No se le permite hacer una pregunta de encuesta requerida)

@carlG - Eso depende de ti. Una vez más, siento que me están dando alrededor del 10% de la información requerida a un problema mucho mayor. Podría crear una quinta columna "No Reponse" que comprobaría si las otras cuatro columnas son nulas y, si es así, devolver "No Reponse" para esa fila, de lo contrario sería null. ¿Entonces despenta rías esas 5 columnas en lugar de 4?


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

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.