Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
1 year ago

Cómo lidiar con columnas irregulares en JSON desde la API REST

Principiante en Power BI y Rest Api,
Tenemos esta API REST del cliente que está conectada a Sql Server para obtener datos demográficos de los usuarios (como la edad del responsable, el sexo del encuestado, etc.) y el modelo JSON (que contiene columnas de respuestas de respuesta como a quién votó en las elecciones, a quién votó la última vez, etc.) de MongoDB.

El cliente espera visualizar lo siguiente:
1. Identificar grupos de personas que podrían alinearse políticamente, personas que se oponen completamente al partido, que no apoyan ni se oponen.
2. Encuentre su alineación política en cuanto a grupo de edad, género, etnia.

3. Encuentre Swing o Retainship a lo largo de los años y prediga la semejanza de la persona para balancear o retener en función de los datos.

4. Identificar los planes del gobierno que a la gente le gustaron u odiaron.

5. Elección Revisión del candidato a lo largo de los años y su rango sobre otros candidatos de la(s) área(s) dada(s).
¿Cómo preproceso esto? ¿Transformarse en algo útil y luego hacer Visuales de esto?
Solo 6-10 columnas son comunes, todas las demás columnas son una amalgama de varias preguntas políticas formuladas desde 2007, lo que solo da un 80% de valores nulos para estas columnas irregulares.
Estoy absolutamente poco preparado para esta tarea, el cliente tiene licencia PPU y probablemente no invertiría en ningún paso de almacenamiento de datos o preprocesamiento de Azure Data Factory para dar sentido a estos datos.
Los datos tienen un tamaño de alrededor de 50 millones, se han observado pocos individuos a lo largo de los años, pero la mayoría ha respondido solo una vez.

2 Replies

  • Hola @amilpbi : use el conector de API REST de Power BI para acceder a los datos. Si es necesario, use Postman para probar la API y comprender su estructura de respuesta antes de integrarla en Power BI.
    En el caso de las respuestas JSON de MongoDB, el conector JSON de Power BI puede acoplar estructuras anidadas. Transforme columnas irregulares en una estructura más uniforme, como pares de preguntas y respuestas.

    GitHub - microsoft/PowerBI-CSharp: Bienvenido a la comunidad de desarrolladores de .NET para Power BI. Aquí encontrará recursos para los SDK de .NET para Power BI Embedded V2.0.0

    Manejar valores nulos:

    • Quite las columnas con porcentajes de valores nulos sistemáticamente altos (por ejemplo, >80% de valores nulos).
    • Use DAX o Power Query para rellenar los valores que faltan siempre que sea posible o use categorías "Desconocidas".
    • Filtrar datos relevantes:

      Concéntrese en los encuestados que respondieron preguntas básicas a lo largo del tiempo (p. ej., historial de votación, reseñas de candidatos).
      En el caso de los datos demográficos, asegúrese de que la coherencia con los identificadores comunes (por ejemplo, el ID del encuestado).
      Datos agregados:

      Use Power Query o SQL para crear tablas agregadas para el análisis, como:
      Grupo de edad vs. alineamiento político.
      Año vs. patrones de votación.

  • Gracias por la respuesta de rajendraongole1 , por favor permítame proporcionar otra idea:

    Hola, @amilpbi
    Gracias por ponerse en contacto con el foro de la comunidad de Microsoft Fabric.

    1.Aquí hay un ejemplo de cómo convertí los datos JSON en una tabla, que espero que le sea útil:

    1.Here is an example of how I converted JSON data into a table, which I hope will be helpful to you:
    let
        Source = Json.Document("{""EventId"":12345,""EventType"":""Error"",""IsCritical"":1,""StartTime"":""2023-10-01T12:00:00"",""EndTime"":""2023-10-01T13:30:00"",""DurationMinutes"":90}"),
        Table = Table.FromRecords({
            [EventId = Source[EventId], EventType = Source[EventType], IsCritical = Source[IsCritical], StartTime = Source[StartTime], EndTime = Source[EndTime], DurationMinutes = Source[DurationMinutes]]
        }),
        #"Unpivoted Columns" = Table.UnpivotOtherColumns(Table, {}, "Attribute", "Value")
    in
        #"Unpivoted Columns"

    2. En segundo lugar, aquí está la documentación oficial para el procesamiento de datos en Power Query:

    Las tareas comunes incluyen:

    Eliminación de duplicados:

    Trabajar con valores duplicados - Power Query | Microsoft Learn

    Cambios en los tipos de datos:

    Tipos de datos en Power BI Desktop - Power BI | Microsoft Learn

    3.A continuación, con respecto a la visualización, puede consultar lo siguiente:

    Para el análisis de inclinación política, puede crear un gráfico circular para mostrar las proporciones de apoyo, oposición y neutralidad. Esto le permite ver visualmente la distribución de las diferentes inclinaciones políticas.

    Para el análisis de grupos de edad, puede utilizar un gráfico de barras apiladas para mostrar la distribución de las diferentes inclinaciones políticas por grupo de edad. Esto le permite comparar las inclinaciones políticas de diferentes grupos de edad.

    Para el análisis de tendencias, puede utilizar un gráfico de líneas para mostrar la tendencia de las oscilaciones o inclinaciones estables a lo largo de diferentes años. Esto le permite observar los cambios en las inclinaciones políticas a lo largo del tiempo.

    Para obtener más detalles, consulte:

    Gráfico combinado en Power BI - Power BI | Microsoft Learn

    Gráficos de anillos en Power BI - Power BI | Microsoft Learn

    Tutorial de visualizaciones de personas influyentes clave - Power BI | Microsoft Learn


    Por supuesto, si tiene algún descubrimiento nuevo o pregunta, no dude en ponerse en contacto con nosotros.

    Saludos

    Leroy Lu

    Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.