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
Anonymous
Not applicable

JSON anidado de Power Query (Registro-> Lista de registros -> Registro)

Hola
Estoy lidiando con un JSON de una aplicación de encuetas que tiene las respuestas de cada pregunta de la encuesta de forma anidada. 

 

Tengo estos datos sin procesar en la tabla:

questions_answers                                  submitted_onspent_time

[Lista]:

{"QuestionId": "16306365464751", "Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?","Answer": "10",
"type": "range"},
{"QuestionId": "16306366720030","Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?","Answer": "3","type": "range"},
{"QuestionId": "16306365464752","Question": "¿Cómo calificas tu experiencia en general? ","Answer": 3,"type": "webform_rating"},
{"QuestionId": "16312899762243","Question": "¿Por qué nos das esta calificación?","Answer": "Por que es un poco tardado","type": "textfield"},
{"QuestionId": "16327629594800","Question": "Tipo de RollOut (HP/MAC/OTRO)","Answer": "MAC","type": "hidden"}

2021-10-04T16:19:36.570Z28

[Lista]:

{"QuestionId": "16306365464751","Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
"Answer": "10","type": "range"},
{"QuestionId": "16306366720030","Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?","Answer": "5","type": "range"},
{"QuestionId": "16306365464752","Question": "¿Cómo calificas tu experiencia en general? ","Answer": 5,"type": "webform_rating"},
{"QuestionId": "16312899762243","Question": "¿Por qué nos das esta calificación?","Answer": "Muy rápido y amables","type": "textfield"},
{"QuestionId": "16327629594800","Question": "Tipo de RollOut (HP/MAC/OTRO)","Answer": "MAC","type": "hidden"}

2021-10-04T16:48:54.886Z75

[Lista]:

{"QuestionId": "16306365464751","Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?","Answer": "10",
"type": "range"},
{"QuestionId": "16306366720030","Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?","Answer": "5","type": "range"},
{"QuestionId": "16306365464752","Question": "¿Cómo calificas tu experiencia en general? ","Answer": 5,"type": "webform_rating"},
{"QuestionId": "16312899762243","Question": "¿Por qué nos das esta calificación?","Answer": "Porque fue facil y rápido ","type": "textfield"},
{"QuestionId": "16327629594800","Question": "Tipo de RollOut (HP/MAC/OTRO)","Answer": "MAC","type": "hidden"}

2021-10-04T16:55:04.245Z40

 

Lo que quiero como resultado es lo siguiente:

 

¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?¿Qué tan fácil fue realizar el cambio de tu equipo?¿Cómo calificas tu experiencia en general? ¿Por qué nos das esta calificación?Tipo de RollOut (HP/MAC/OTRO)Submitted OnSpent time
103Just OKPor que es un poco tardadoMAC2021-10-04T16:19:36.570Z28
105Very SatisfiedMuy rápido y amablesMAC2021-10-04T16:48:54.886Z75
105Very SatisfiedPorque fue facil y rápido MAC2021-10-04T16:55:04.245Z40

 

Cuando se transforman los datos en Power BI, obtengo un registro por cada pregunta.

 Vea el ejemplo a continuación:

 

question_answers.Questionquestion_answers.Answersubmitted_onspent_time
¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?102021-10-04T16:19:36.570Z28
¿Qué tan fácil fue realizar el cambio de tu equipo?32021-10-04T16:19:36.570Z28
¿Cómo calificas tu experiencia en general? 32021-10-04T16:19:36.570Z28
¿Por qué nos das esta calificación?Por que es un poco tardado2021-10-04T16:19:36.570Z28
Tipo de RollOut (HP/MAC/OTRO)MAC2021-10-04T16:19:36.570Z28
¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?102021-10-04T16:48:54.886Z75
¿Qué tan fácil fue realizar el cambio de tu equipo?52021-10-04T16:48:54.886Z75
¿Cómo calificas tu experiencia en general? 52021-10-04T16:48:54.886Z75
¿Por qué nos das esta calificación?Muy rápido y amables2021-10-04T16:48:54.886Z75
Tipo de RollOut (HP/MAC/OTRO)MAC2021-10-04T16:48:54.886Z75
¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?102021-10-04T16:55:04.245Z40
¿Qué tan fácil fue realizar el cambio de tu equipo?52021-10-04T16:55:04.245Z40
¿Cómo calificas tu experiencia en general? 52021-10-04T16:55:04.245Z40
¿Por qué nos das esta calificación?Porque fue facil y rápido 2021-10-04T16:55:04.245Z40
Tipo de RollOut (HP/MAC/OTRO)MAC2021-10-04T16:55:04.245Z40

 

¿Puede alguien guiarme sobre lo que estoy haciendo mal y proporcionar una Power Query que pueda dar lugar a la tabla que quiero?

 

He probado las siguientes consultas sin suerte:

 

 

 

 

let
    Origen = Json.Document(File.Contents("C:\Users\a0m0plu\Downloads\response_1633623033932.json")),
    #"Convertida en tabla" = Table.FromList(Origen, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Se expandió Column1" = Table.ExpandRecordColumn(#"Convertida en tabla", "Column1", {"question_answers", "submitted_on", "spent_time"}, {"question_answers", "submitted_on", "spent_time"}),
    question_answers = #"Se expandió Column1"{0}[question_answers],
    #"Convertida en tabla1" = Table.FromList(question_answers, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Se expandió Column2" = Table.ExpandRecordColumn(#"Convertida en tabla1", "Column1", {"Question", "Answer"}, {"Column1.Question", "Column1.Answer"}),
    #"Tabla transpuesta" = Table.Transpose(#"Se expandió Column2"),
    #"Encabezados promovidos" = Table.PromoteHeaders(#"Tabla transpuesta", [PromoteAllScalars=true]),
    #"Tipo cambiado" = Table.TransformColumnTypes(#"Encabezados promovidos",{{"¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?", Int64.Type}, {"¿Qué tan fácil fue realizar el cambio de tu equipo?", Int64.Type}, {"¿Cómo calificas tu experiencia en general? ", Int64.Type}, {"¿Por qué nos das esta calificación?", type text}, {"Tipo de RollOut (HP/MAC/OTRO)", type text}})
in
    #"Tipo cambiado"

 

 

 

 

 

 

 

 

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Allí, @Syndicate_Admin;

Puede cambiarlo a una tabla de Excel como la siguiente:

questions_answers submitted_on spent_time
{
"QuestionId":"16306365464751",
"Question":"¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
"Answer":"10",
"type":"range"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16306366720030",
"Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
"Answer": "5",
"type": "range"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16306365464752",
"Question": "¿Cómo calificas tu experiencia en general? ",
"Answer": 5,
"type": "webform_rating"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16312899762243",
"Question": "¿Por qué nos das esta calificación?",
"Answer": "La persona que me ayudo con el cambio de mi equipo fue muy amable y el cambio fue muy rápido ",
"type": "textfield"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16327629594800",
"Pregunta": "Tipo de RollOut (HP/MAC/OTRO)",
"Respuesta": "HP",
"tipo": "oculto"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16306365464751",
"Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
"Answer": "10",
"type": "range"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16306366720030",
"Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
"Answer": "5",
"type": "range"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16306365464752",
"Question": "¿Cómo calificas tu experiencia en general? ",
"Answer": 5,
"type": "webform_rating"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16312899762243",
"Question": "¿Por qué nos das esta calificación?",
"Answer": "La anticipación y los webinars para respaldo fueron útiles ",
"type": "textfield"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16327629594800",
"Pregunta": "Tipo de RollOut (HP/MAC/OTRO)",
"Respuesta": "HP",
"tipo": "oculto"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16306365464751",
"Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
"Answer": "10",
"type": "range"
}
2021-10-04T16:55:04.245Z 40
{
"QuestionId": "16306366720030",
"Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
"Answer": "5",
"type": "range"
}
2021-10-04T16:55:04.245Z 40
{
"QuestionId": "16306365464752",
"Question": "¿Cómo calificas tu experiencia en general? ",
"Answer": 5,
"type": "webform_rating"
}
2021-10-04T16:55:04.245Z 40
{
"QuestionId": "16312899762243",
"Question": "¿Por qué nos das esta calificación?",
"Answer": "Por qué el ingeniero que me ayudó sabía bien lo que hacia",
"type": "textfield"
}
2021-10-04T16:55:04.245Z 40
{
"QuestionId": "16327629594800",
"Pregunta": "Tipo de RollOut (HP/MAC/OTRO)",
"Respuesta": "HP",
"tipo": "oculto"
}
2021-10-04T16:55:04.245Z 40

2.A continuación, importe a Power BI.

vyalanwumsft_0-1635388764881.png

3.haga clic en la columna questions_answers y luego tranforme JSON.

vyalanwumsft_1-1635388791186.png

4.Expandirlo

vyalanwumsft_2-1635388845349.png

El resultado final se muestra a continuación:

vyalanwumsft_3-1635388889100.png

https://www.youtube.com/watch?v=ipI6mrWLQKA

https://www.youtube.com/watch?v=6A55DmIHqBY

Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Allí, @Syndicate_Admin;

Puede cambiarlo a una tabla de Excel como la siguiente:

questions_answers submitted_on spent_time
{
"QuestionId":"16306365464751",
"Question":"¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
"Answer":"10",
"type":"range"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16306366720030",
"Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
"Answer": "5",
"type": "range"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16306365464752",
"Question": "¿Cómo calificas tu experiencia en general? ",
"Answer": 5,
"type": "webform_rating"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16312899762243",
"Question": "¿Por qué nos das esta calificación?",
"Answer": "La persona que me ayudo con el cambio de mi equipo fue muy amable y el cambio fue muy rápido ",
"type": "textfield"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16327629594800",
"Pregunta": "Tipo de RollOut (HP/MAC/OTRO)",
"Respuesta": "HP",
"tipo": "oculto"
}
2021-10-04T16:19:36.570Z 28
{
"QuestionId": "16306365464751",
"Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
"Answer": "10",
"type": "range"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16306366720030",
"Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
"Answer": "5",
"type": "range"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16306365464752",
"Question": "¿Cómo calificas tu experiencia en general? ",
"Answer": 5,
"type": "webform_rating"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16312899762243",
"Question": "¿Por qué nos das esta calificación?",
"Answer": "La anticipación y los webinars para respaldo fueron útiles ",
"type": "textfield"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16327629594800",
"Pregunta": "Tipo de RollOut (HP/MAC/OTRO)",
"Respuesta": "HP",
"tipo": "oculto"
}
2021-10-04T16:48:54.886Z 75
{
"QuestionId": "16306365464751",
"Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
"Answer": "10",
"type": "range"
}
2021-10-04T16:55:04.245Z 40
{
"QuestionId": "16306366720030",
"Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
"Answer": "5",
"type": "range"
}
2021-10-04T16:55:04.245Z 40
{
"QuestionId": "16306365464752",
"Question": "¿Cómo calificas tu experiencia en general? ",
"Answer": 5,
"type": "webform_rating"
}
2021-10-04T16:55:04.245Z 40
{
"QuestionId": "16312899762243",
"Question": "¿Por qué nos das esta calificación?",
"Answer": "Por qué el ingeniero que me ayudó sabía bien lo que hacia",
"type": "textfield"
}
2021-10-04T16:55:04.245Z 40
{
"QuestionId": "16327629594800",
"Pregunta": "Tipo de RollOut (HP/MAC/OTRO)",
"Respuesta": "HP",
"tipo": "oculto"
}
2021-10-04T16:55:04.245Z 40

2.A continuación, importe a Power BI.

vyalanwumsft_0-1635388764881.png

3.haga clic en la columna questions_answers y luego tranforme JSON.

vyalanwumsft_1-1635388791186.png

4.Expandirlo

vyalanwumsft_2-1635388845349.png

El resultado final se muestra a continuación:

vyalanwumsft_3-1635388889100.png

https://www.youtube.com/watch?v=ipI6mrWLQKA

https://www.youtube.com/watch?v=6A55DmIHqBY

Saludos
Apoyo a la comunidad Team_ Yalan Wu
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Anonymous
Not applicable

Gracias por la respuesta:

 

En realidad este es el JSON al validarlo en la pagina no me aparece ningun error:

[
  {
    "question_answers": [
      {
        "QuestionId": "16306365464751",
        "Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
        "Answer": "10",
        "type": "range"
      },
      {
        "QuestionId": "16306366720030",
        "Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
        "Answer": "5",
        "type": "range"
      },
      {
        "QuestionId": "16306365464752",
        "Question": "¿Cómo calificas tu experiencia en general? ",
        "Answer": 5,
        "type": "webform_rating"
      },
      {
        "QuestionId": "16312899762243",
        "Question": "¿Por qué nos das esta calificación?",
        "Answer": "La persona que me ayudo con el cambio de mi equipo fue muy amable y el cambio fue muy rápido ",
        "type": "textfield"
      },
      {
        "QuestionId": "16327629594800",
        "Question": "Tipo de RollOut (HP/MAC/OTRO)",
        "Answer": "HP",
        "type": "hidden"
      }
    ],
    "submitted_on": "2021-10-12T15:33:06.479Z",
    "submitted_by": "0",
    "spent_time": 49
  },
  {
    "question_answers": [
      {
        "QuestionId": "16306365464751",
        "Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
        "Answer": "10",
        "type": "range"
      },
      {
        "QuestionId": "16306366720030",
        "Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
        "Answer": "5",
        "type": "range"
      },
      {
        "QuestionId": "16306365464752",
        "Question": "¿Cómo calificas tu experiencia en general? ",
        "Answer": 5,
        "type": "webform_rating"
      },
      {
        "QuestionId": "16312899762243",
        "Question": "¿Por qué nos das esta calificación?",
        "Answer": "La anticipación y los webinars para respaldo fueron útiles ",
        "type": "textfield"
      },
      {
        "QuestionId": "16327629594800",
        "Question": "Tipo de RollOut (HP/MAC/OTRO)",
        "Answer": "HP",
        "type": "hidden"
      }
    ],
    "submitted_on": "2021-10-12T15:33:06.777Z",
    "submitted_by": "0",
    "spent_time": 95
  },
  {
    "question_answers": [
      {
        "QuestionId": "16306365464751",
        "Question": "¿Qué tan probable es que recomiendes tu experiencia de cambio de equipo a un colega?",
        "Answer": "10",
        "type": "range"
      },
      {
        "QuestionId": "16306366720030",
        "Question": "¿Qué tan fácil fue realizar el cambio de tu equipo?",
        "Answer": "5",
        "type": "range"
      },
      {
        "QuestionId": "16306365464752",
        "Question": "¿Cómo calificas tu experiencia en general? ",
        "Answer": 5,
        "type": "webform_rating"
      },
      {
        "QuestionId": "16312899762243",
        "Question": "¿Por qué nos das esta calificación?",
        "Answer": "Por qué el ingeniero que me ayudó sabía bien lo que hacia",
        "type": "textfield"
      },
      {
        "QuestionId": "16327629594800",
        "Question": "Tipo de RollOut (HP/MAC/OTRO)",
        "Answer": "HP",
        "type": "hidden"
      }
    ],
    "submitted_on": "2021-10-12T16:13:38.086Z",
    "submitted_by": "0",
    "spent_time": 64
  }
]

 

 

Ah genial, sí que JSON se ve bien, he intentado seguir los pasos 3 y 4 de mi publicación original y eso funciona para analizar el JSON. Vea la muestra a continuación

dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("7ZZNa9tAEIb/yuBTC/nQtyxfQsglhRY7IafaxoyktbOw2lVWKxK39Mfk2ENOufVSqP5YR1JsnDR2iKE3XcRKM7v7vjPDg8bj3ngiAb7XD4BJ76ZkheFKzlAWt0wXk94Axm1wndVmXjxlfkrrnEnPDlwrcAPfC7zQtye9g9eS29Q/vy/K6icYlJBrFWMsGLAC6G7QLFEZZzKld1MCu8uZpteEI6QMEsxiruoVuyl5rgChlJAowRZ48uLK08bAkzbrRdAsc9aGNMoFLVfBHwfvMRuEjmW5Lw/fanZe3SdcwLzxiYJ/Qw1MbLiqHTfGdpnx/4+XtnHOG17OqsdMkWLB5zzBf3rEJCyYZBrFCWy14G+ Rf8viudLZTKPhcrGPD9vpR1EYOI7nvuFjpDTNG/VFqgJSMkJhXPtKePUod/XgMwKZLpTEZmozBrgsUyqMks87mvHVqNZdz8olYNbM+3IjbxXS1X3O6ZStDTbszsw5E+k+xXGoMJEfeX1r98Be1WpJ+qUSYlga+HA+Ov5yenY8vLocftxRk/PRVt3XPE2Z3BDdLqYHK+wUZZxxY1g6W6lwLMc+qUSYlga+Ha+Ov5yenY8vLocftxRk/PRVt3XPE2Z3BDdLqYHK+wUZZxxY1g6W6lwLMc+q tK1D27my/YHrDqzgyAujr+s7NjfFy3aTtRnNmTQzw7NGgxfV39tidbDrYNfB7l2wQ2l4wvM2l9gl6CBywCXqAnLUSD0uchRpAzNNFKx+GS5orjuWvc6yMAz3ZVnkdyzrWNaxbB+WrbdT+0grk5xotfkPVz1CgXH1gBBTaQh0TfCaTsYOZc9RFgxsd+D2j6x+sC/KAq9B2UROe9PpXw==", BinaryEncoding.Base64), Compression.Deflate)), deje _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [#"JSON Source" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"JSON Source", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "JSON Document", each Json.Document([JSON Source])),
#"Documento JSON expandido" = Table.ExpandListColumn(#"Added Custom", "JSON Document"),
#"Expanded JSON Document1" = Table.ExpandRecordColumn(#"Expanded JSON Document", "JSON Document", {"question_answers", "submitted_on", "submitted_by", "spent_time"}, {"question_answers", "submitted_on", "submitted_by", "spent_time"}),
#"question_answers expandida" = Table.ExpandListColumn(#"Documento JSON expandido1", "question_answers"),
#"Expanded question_answers1" = Table.ExpandRecordColumn(#"Expanded question_answers", "question_answers", {"QuestionId", "Question", "Answer", "type"}, {"QuestionId", "Question", "Answer", "type"})
en
#"question_answers1 expandido"

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Anonymous
Not applicable

He probado la solución pero se presenta un problema amigo:

 

Captura de pantalla 2021-10-26 163524.jpg

 

El codigo que utilice fue el siguiente:

let
Source = Table.FromRows(Json.Document(File.Contents("C:\Users\a0m0plu\Downloads\response_1633623033932.json")), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"JSON Source" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"JSON Source", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "JSON Document", each Json.Document([JSON Source])),
#"Documento JSON expandido" = Table.ExpandListColumn(#"Added Custom", "JSON Document"),
#"Expanded JSON Document1" = Table.ExpandRecordColumn(#"Documento JSON expandido", "JSON Document", {"question_answers", "submitted_on", "submitted_by", "spent_time"}, {"question_answers", "submitted_on", "submitted_by", "spent_time"}),
#"question_answers expandida" = Table.ExpandListColumn(#"Expanded JSON Document1", "question_answers"),
#"Expanded question_answers1" = Table.ExpandRecordColumn(#"question_answers expandida", "question_answers", {"QuestionId", "Question", "Answer", "type"}, {"QuestionId", "Question", "Answer", "type"})
in
#"Expanded question_answers1"

 

Hola @Syndicate_Admin,parece que está cargando los datos directamente desde un archivo .json, por lo que no debería necesitar los pasos que describí.

Desde su publicación original, parecía que tenía una tabla con datos normales que incluía una columna con datos JSON. Si solo está cargando un archivo JSON, eso debería ser sencillo usando Get Data > File > JSON

He tomado la muestra JSON que proporcionaste y la puse en un .json y eso se carga bien para mí

dejar
Source = Json.Document(File.Contents("C:\response_1633623033932.json")),
#"Convertido a tabla" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Columna expandida1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"question_answers", "submitted_on", "submitted_by", "spent_time"}, {"question_answers", "submitted_on", "submitted_by", "spent_time"}),
#"question_answers expandido" = Table.ExpandListColumn(#"Columna expandida1", "question_answers"),
#"Expanded question_answers1" = Table.ExpandRecordColumn(#"Expanded question_answers", "question_answers", {"QuestionId", "Question", "Answer", "type"}, {"question_answers. QuestionId", "question_answers. Pregunta", "question_answers. Respuesta", "question_answers.type"}),
#"Changed Type" = Table.TransformColumnTypes(#"Expanded question_answers1",{{"question_answers. QuestionId", Int64.Type}, {"question_answers. Pregunta", escriba texto}, {"question_answers. Answer", type any}, {"question_answers.type", type text}, {"submitted_on", type datetime}, {"submitted_by", Int64.Type}, {"spent_time", Int64.Type}})
en
#"Tipo cambiado"

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Anonymous
Not applicable

El problema sigue siendo que no puedo organizar las preguntas como culmnas:

hecthor_1-1635372300743.png

Los valores de question_answers.Question deben ser columnas no registros

hecthor_2-1635372390717.png

En el ejemplo son 12 preguntas pero termino teniendo 60 registros.

De esa lista de 60 registros, puede pivotar la columna de la pregunta para que esos valores aparezcan como encabezados de columna

Si tienes un PBIX que puedes compartir, envíalo y puedo echarle un vistazo

Syndicate_Admin
Administrator
Administrator

Hola @Syndicate_Admin, una cosa que podría estar causándote un problema es que tienes una comillas dobles adicionales (") en el ejemplo JSON que diste, lo que está causando que el JSON parezca no válido. Es después "¿Cómo calificas tu experiencia general?". Use algo como JSON Formatter que resaltaría dónde está la falla

https://jsonformatter.curiousconcept.com/

Una vez que se resuelva, debería poder procesar esa columna JSON en Power Query mediante los siguientes pasos

  1. Utilice Text.AfterDelimiter seguido de limpiar/recortar para deshacerse del prefijo [Lista]:
  2. Agregue corchetes de apertura y cierre a eso, para que su JSON se convierta en una matriz JSON
  3. Utilice Json.Document para interpretar el texto como JSON
  4. Expandir a nuevas filas y luego expandirse en columnas

He copiado el Power Query M a continuación para mostrar lo que quiero decir, por supuesto, mi fuente de datos es solo datos ingresados manualmente desde su publicación original

dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("7ZNfa9swFMW/ykVPG6SpLEv+9zLKGGSw0a0UBovDUO2bWNS2gizXNaPffVK80i3JAntuXoS5ujr3pyOf5ZIsP6nOrrK8zdufOfnaY2eVbj+WOckgJ0EU0iiMBI94LIKczOClZ+pY6AFqdY/1CNIgjLoHq8FgoZsG29IXDFiUDXSDskWl2g3g4xaNwrZA3yuh0HWNctPjOzchJ1dtN6D5DUB9yc2y4xankpHtxn0+zU4RRzGjNNwdPgKMshthkB0o6wkaee9IKoSi8tqg1xO2u8O2t2gOscJd5T+ZJhfZP5hKvTPPSIvTdP2ARtb1H27tc4R/MQx4t9am+ eEUnMmnYAKWpGkcMcbDIzDfqvEZZqMeEPrOeaM6mHQPvfD9amelhDu31u4Ge/ZYfLRrhXV5ioo5olSkPKHHnu3G/SPXvXsuJwpvFl8uP1+9v7y+XXy4eXtA5Lb2ACpVluiUnsiMMMqCi4BeUH4bRFmQZmE0FzH97rcSspqdM3HOxOvOBE8ywedJEvlMxOKciXMmXn0mhMgonzMufCY4JavVLw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) en la tabla de tipos [questions_answers = _t, submitted_on = _t, spent_time = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"questions_answers", type text}, {"submitted_on", type datetime}, {"spent_time", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "question_answers_clean", each Text.AfterDelimiter([questions_answers],":")),
#"Texto limpiado" = Table.TransformColumns(#"Added Custom",{{"question_answers_clean", Text.Clean, type text}}),
#"Added Custom2" = Table.AddColumn(#"Texto limpiado", "json_object", cada uno "[" & [question_answers_clean] & "]"),
#"Added Custom1" = Table.AddColumn(#"Added Custom2", "Custom", each Json.Document([json_object])),
#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom1", "Custom"),
#"Expanded Custom1" = Table.ExpandRecordColumn(#"Expanded Custom", "Custom", {"QuestionId", "Question", "Answer", "type"}, {"QuestionId", "Question", "Answer", "type"})
en
#"Personalizado expandido1"

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

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.