NuCoin - Papo Aberto (parte 2)

No Excel, eu puxo os dados do json usando o recurso de consultas e conexões.

Para guardar dados antigos, eu crio duas consultas. Uma delas é a consulta propriamente dita que só pega os dados do json, com as informações dos últimos 30 dias. A outra delas sendo a mescla da primeira com os dados da planilha (que vai incluir os dados antigos), e depois eu elimino as duplicatas.

Segue as duas consultas conforme estão na minha planilha:

Consulta price_history:

let
    Fonte = Json.Document(Web.Contents("https://explorer.nucoin.com.br/files/blockchain/price_history.json")),
    #"Convertido para Tabela" = Record.ToTable(Fonte),
    Value = #"Convertido para Tabela"{1}[Value],
    #"Convertido para Tabela1" = Record.ToTable(Value),
    #"Value Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela1", "Value", {"min", "max", "avg", "totalLiquidity","brlBalance","ncnBalance"}, {"Value.min", "Value.max", "Value.avg", "Value.totalLiquidity","Value.brlBalance","Value.ncnBalance"}),
    #"Tipo Alterado" = Table.TransformColumnTypes(#"Value Expandido",{{"Name", type date}, {"Value.min", type number}, {"Value.max", type number}, {"Value.avg", type number}, {"Value.totalLiquidity", type number}}),
    #"Colunas Renomeadas" = Table.RenameColumns(#"Tipo Alterado",{{"Name", "price.Date"}, {"Value.min", "price.min"}, {"Value.max", "price.max"}, {"Value.avg", "price.avg"}, {"Value.totalLiquidity", "price.totalLiquidity"}})
in
    #"Colunas Renomeadas"

Consulta GrandeHistorico:

let
    Fonte = Excel.CurrentWorkbook(){[Name="GrandeHistorico"]}[Content],
    #"Tipo Alterado" = Table.TransformColumnTypes(Fonte,{{"price.Date", type date}, {"price.min", type number}, {"price.max", type number}, {"price.avg", type number}, {"price.totalLiquidity", type number}, {"Value.brlBalance", type number}, {"Value.ncnBalance", type number}}),
    #"Outras Colunas Removidas" = Table.SelectColumns(#"Tipo Alterado",{"price.Date", "price.min", "price.max", "price.avg", "price.totalLiquidity", "Value.brlBalance", "Value.ncnBalance"}),
    #"Consulta apensada" = Table.Combine({price_history,#"Outras Colunas Removidas"}),
    #"Duplicatas Removidas" = Table.Distinct(#"Consulta apensada", {"price.Date"}),
    #"Linhas Classificadas" = Table.Sort(#"Duplicatas Removidas",{{"price.Date", Order.Ascending}})
in
    #"Linhas Classificadas"

Obs: para funcionar da primeira vez, é necessário que já exista uma planilha de nome GrandeHistorico no arquivo, com os dados de uma primeira consulta, ou pelo menos o cabeçalho. A dica é criar primeiro a consulta price_history. Duplicar a planilha price_history gerada e renomear para GrandeHistorico. Somente depois, criar a consulta GrandeHistorico.

10 curtidas