Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago

Convertir datos binarios

Hay expertos,

Tengo un problema con la conversión de datos binarios a un archivo PDF legible. Lo que he hecho hasta ahora:

En una tabla MS SQL con líneas de transacción financiera, tengo una columna con los datos binarios del documento que se adjunta a la fila con la transacción financiera. La longitud de los datos binarios es de aproximadamente 34.000 posiciones.

En PBI Desktop los datos tienen un máximo de 1024 posiciones en la columna [Documento]. He añadido una nueva columna con la fórmula:

Binary.ToText([documento], BinaryEncoding.base64)

En esta nueva columna (llamada: [Document_Def]) solo tengo errores. Al hacer clic junto a [Error] veo los detalles:

Exression.Error: No se puede convet el valor "JVBERi0xLjQKJeLjz9MN..." a Tipo binario. Después de eso siguió bij el texto completo de este campo y termina con Type=[Type].

¿Hay alguna solución para esto? Al final quiero que los datos se muestren como un documento PDF por PDF Viewer.

Muchas gracias por las respuestas / sugerencias!

Grtz, Alfred

10 Replies

  • Hay @AltusTellus,

    Compruebe si el tipo de columna [documento] es binario.

    vkkfmsft_0-1632793929682.png

    O puede probar la siguiente fórmula para ver si funciona.

    Binary.ToText(Binary.From([Document]), BinaryEncoding.Base64)

    Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

    Saludos
    Winniz

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

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Después de la importación en PBI Desktop, de hecho, la columna [Documento] es del tipo binario. También utilicé su fórmula, desafortunadamente con el mismo problema. Aquí puede encontrar los datos originales y los datos en PBI después de la importación.

      Ejemplo de documento SQL a PBI

      Verá que la longitud total del documento original es de aproximadamente 34.000 caracteres. En la columna PBI es de 1.024 caracteres después de su fórmula.

      Esperando su respuesta, muchos thnx!

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Administrator

        Hay @AltusTellus,

        No puedo reproducir su problema, ¿podría permitir la edición del Excel compartido? De esa manera puedo probarlo en función de sus datos. Actualmente solo puedo leer el excel y no puedo copiar los datos.

        Saludos
        Winniz

  • Hola a todos

    Lo siento, no puedo explicar en inglés 😉 Por mi parte, estaba teniendo exactamente el mismo problema porque estaba pasando por "Transformar archivo" y de repente era binario. Encontré una manera de evitarlo no pasando por "Transformar archivo", sino importando el libro de Excel. Aquí está el código M que utilicé para evitar el error:

    let
        Source = SharePoint.Files("xxxxx", [ApiVersion = 15]),
        #"Lignes filtrées" = Table.SelectRows(Source, let latest = List.Max(Source[Date modified]) in each [Date modified] = latest),
        #"BDD_Reseau_20240108_PARTAGE xlsm_https://xxxxcom/sites/xxxxx/Documents partages/General/" = #"Lignes filtrées"{[Name="BDD_Reseau_20240108_PARTAGE.xlsm",#"Folder Path"="https://transportsagglomerationde.sharepoint.com/sites/BaseArretTaM/Documents partages/General/"]}[Content],
        #"Classeur Excel importé" = Excel.Workbook(#"BDD_Reseau_20240108_PARTAGE xlsm_https://xxxx/sites/xxxxx/Documents partages/General/"),
        #"Lignes filtrées1" = Table.SelectRows(#"Classeur Excel importé", each ([Name] = "Offre")),
        Offre_Sheet = #"Lignes filtrées1"{[Item="Offre",Kind="Sheet"]}[Data]
    in
        Offre_Sheet