Almacenar data obtenida desde la web

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