Almacenar data obtenida desde la web

  • sfnavarrete

    Hola Tamara, espero que te encuentres bien, te sugiero que tal vez obtengas los datos así:

    • Obtener datos desde la web, copias el link y luego ya en la pantalla donde se escoge las tablas vas a tener un botón que dice: Add Table Using Examples.
      (Si tal vez no encuentras los datos que necesitas en la tablas que Power BI lo interpreta puedes ir a la opción de Add Table Using Example)

     

     

     

     

    Luego en cada columna escoges los campos que necesites, yo escogí como modo de ejemplo F. Estimación y la Estimación (Fondo A). Escribes los dos o tres datos y Power BI lo interpreta (para las dos columnas haces lo mismo)

     

     

    Luego vas a ver que tienes una custom table.

     

    Espero que sea lo que estabas buscando.

    Cualquier novedad no dudes en escribirnos.

    Saludos,
    Santiago

    Tam

    Muchas gracias por tu respuesta Santiago!! … Creo que no me expresé bien. Mi problema es que esos datos se actualizan diariamente y al actualizarse en PBI se borra el dato del día anterior y ese es el que quiero almacenar con su fecha. ¿Sabrás cómo hacer eso?

    sfnavarrete

    Tam Tranquila yo creo que lo entendí mal. Estoy entendiendo y quieres que Power BI se comporte cómo una base de datos para almacenar los datos cada día verdad ?
    No se si me equivoco pero en general Power BI no se comporta como un gestor de base de datos, pero seguro habrá como realizarlo ya voy a buscar en Internet un poco de material.

    Saludos,
    Santiago

    Diego

    Hola Tam :raised_hands:t2:
    Es correcto lo que dice Santiago … Power BI no tiene la funcionalidad de almacenar valores con este comportamiento.

    En este caso debes de buscar la manera de almacenar los valores diarios en algo como un “Data warehouse”, o base de datos.

    La manera más sencilla sería ir almacenando el valor en una hoja de Excel por ejemplo, o de Google Sheets, por día. Sin embargo sería un trabajo manual, diario.

    En BI ELITE hay un video donde puede realizar algo parecido a esto utilizando un comando hacia la base de datos SQL. Para serte muy sincero, es un desarrollo muy técnico, que requieren de conocimientos de SQL, además de un usuario con los permisos adecuados hacia la base de datos. Te dejo el video en caso de que estés interesada.

    sfnavarrete

    Hola Tamara, encontré una manera que se podría almacenar los datos en Power BI pero requiere de realizar ciertos pasos, que te podrían tomar más o menos un minuto cada día de tu parte para el almacenamiento.

    Lo que se puede hacer en desde Power Query con un poco de programación en Lenguaje M.

    Antes de los pasos que te voy a detallar debes duplicar (clic derecho y duplicar) a tu DataSet y le podrías renombrar “Historico”

    Ya con esto, esto son los pasos a seguir:

    Día 1. (donde se encuentra los datos en mi caso lo tengo en excel)

    Power Query: Tabla DataSet

    Pasos:

    1. A tu DataSet lo copiamos (como esta en las imagenes)

    1. Clic en Enter Data

    2.1 Control + V

     

     

    2.2 Clic en botón OK, y vamos a ver que se nos creo una tabla.

    2.3 Clic en: Advanced Editor

    2.4 Copiar el Código (tu código que te saldrá a ti, yo voy a dejar como me salio a mi)

    let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUNzTQNzIwMlDSUTLQMVSK1YEIGiIEjSGCRiiCpkqxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Fecha = _t, Valor = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Fecha", type date}, {"Valor", type number}})
    in
    #"Changed Type"
    

    2.5 Clic en la Tabla: Historico y vamos al Editor Avanzado y copiamos el código

     

    2.6 Eliminar la tabla creada (Table)

    1. En esta parte debemos modificar el código M de nuestra tabla: DataSet ( igual en Editor Avanzado)
       let
           Source = Excel.Workbook(File.Contents("C:\Users\Laura Cordova\Desktop\Alcenamiento.xlsx"), null, true),
           Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
           #"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
           #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Fecha", type date}, {"Valor", Int64.Type}}),
           NewData = Table.TransformColumnTypes(#"Promoted Headers",{{"Fecha", type date},{"Valor", Int64.Type }}),
           TablaUnion = Table.NestedJoin(Historico,{"Fecha"},NewData,{"Fecha"},"NewColumn",JoinKind.RightAnti),
            Combined = if Table.IsEmpty(TablaUnion) then Historico else Table.Combine({Historico, TablaUnion[NewColumn]{0}}),
           #"Changed Type1" = Table.TransformColumnTypes(Combined,{{"Valor", type number}})
          
       in
           #"Changed Type1"
      

    Esto es lo que deberías hacer la primera vez.

    Día 2.

    Click en

    y vas a ver en la tabla de DataSet tienes la unión de la tabla Historico con los nuevos datos en la tabla DataSet

    Y aquí solo debemos hacer los siguientes pasos:

    1. Copiar la tabla completa
    2. Click en Especificar datos y Control + V
    3. Luego click en Editor Avanzado y copiar código

       

    4. Pegar código en el Editor Avanzado de la tabla Hitorico

    1. Eliminar table.

      Espero que te ayude, esto te puede ayudar en el caso que si o si quisieras tener a Power BI como un medio para almacenar datos.

    Saludos,
    Santiago

    Diego

    Interesante desarrollo Santiago, gracias por compartirlo :raised_hands:t2:
    Porfa Tam, coméntanos cómo te fue con este tema, y si alguna opción sirve para tu caso de uso.

    Tam

    Millones de gracias!

Viendo 7 respuestas - de la 1 a la 7 (de un total de 7)
  • Debes estar registrado para responder a este debate.