Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Codificación

Creé una pequeña extracción de big data ingeniosa de múltiples puntos de conexión a ADLS gen2. Tengo control total de la codificación de los blobs en el punto de conexión del lago de datos.

Actualmente estoy usando iso-8859-1 (UTF-8) ya que tengo caracteres daneses y de Europa oriental en mis extracciones.

Todos los archivos están en formato json, ya que el esquema puede diferir en muchos de los orígenes.

Desafortunadamente, Power BI no reconoce la codificación en los archivos json en ADSL. Esto lleva a caracteres daneses y de Europa oriental que se muestran como ? en las líneas de texto, cuando se importa a Power BI.

Cuando los archivos se abren en la codificación Bloc de notas++ es claramente UTF-8 (como se esperaba), pero ¿cómo consigo que Power BI muestre esta codificación correctamente?

Como alternativa, ¿cómo debo codificar los archivos para que Power BI se reproduzca bien?

Cualquier ayuda sería muy apreciada!

Los datos extraídos de D'namics 365 CRM directamente al mismo ADLS se comportan exactamente igual. También es UTF-8 en el bloc de notas ++, pero muestra caracteres extraños en lugar de los caracteres daneses y de Europa oriental correctos.

  • Anonymous's avatar
    Anonymous
    6 years ago
    En lugar de transformar la columna a JSON, debe usar Add Custom Column y escribir la expresión correcta de acuerdo con esta sintaxis:

    Json.Document(jsonText as any, codificación opcional como número que acepta valores NULL) como cualquier

    Aquí está la documentación de la función:

    https://docs.microsoft.com/en-us/powerquery-m/json-document

    Mejor
    D
  • Anonymous's avatar
    Anonymous
    6 years ago

    En realidad funcionó cuando cambié la línea de arriba de:

    "Añadido Personalizado" - Table.AddColumn("Contenido", "JSON", cada Json.Document([-"Contenido"], TextEncoding.Utf8)),

    Para:

    "Añadido Personalizado" - Table.AddColumn("Contenido", "JSON", cada Json.Document([-"Contenido"], TextEncoding.Windows)),

    ¡Gracias, cariño!

5 Replies

  • Hola @AxelAndersen ,

    si está utilizando la función Json.Document( ... , ...)

    Pruebe TextEncoding.Utf8 como 2nd parámetro.

    Tal vez usted tiene que utilizar el "Editor Avanzado", para ver lo que realmente está pasando dentro de su consulta.

    Con suerte, esto proporciona algunas ideas para abordar su desafío.

    saludos

    Tom

    Manténgase seguro, mantengase saludable y feliz vacaciones

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hola Tom,

      Gracias por nuestra respuesta rápida!

      ¿Adónde va a ir exactamente eso?

      Dejar
      Origen: AzureStorage.DataLake("https://MyDL.dfs.core.windows.net/Endpoint/clients"),
      "Eliminado otras columnas" - Tabla.SelectColumns(Fuente,"Contenido"-),
      "JSON analizado" ? Table.TransformColumns("Eliminado otras columnas", Json.Document),
      "Contenido expandido" - Table.ExpandListColumn("Parsed JSON", "Contenido"),
      "Contenido expandido1", "Table.ExpandRecordColumn("Contenido expandido", "Contenido", "id", "nombre", "is_active", "dirección", "statement_key", "created_at", "updated_at", "moneda", "yo", "id", "nombre", "is_active", "dirección", "statement_key", "created_at", "updated_at", "moneda", "auto")
      En
      "Contenido expandido1"

      • Anonymous's avatar
        Anonymous
        Not applicable
        En lugar de transformar la columna a JSON, debe usar Add Custom Column y escribir la expresión correcta de acuerdo con esta sintaxis:

        Json.Document(jsonText as any, codificación opcional como número que acepta valores NULL) como cualquier

        Aquí está la documentación de la función:

        https://docs.microsoft.com/en-us/powerquery-m/json-document

        Mejor
        D