Dati meteo

Il software per la BI di Microsoft, leader nel mercato
Rispondi

obertimanuel
Messaggi: 2 | Topic creati
Iscritto il: sab 27 lug 2024, 14:49

Dati meteo

Messaggio da obertimanuel »

Ciao a tutti,
Vorrei creare un grafico che visualizzi i dati meteo estrapolato dalla api https://api.met.no/weatherapi/locationf ... =60&lon=11
E fin qui tutto bene , finché si tratta di lat e lon fisse nessun problema.

Ho una query con 3 colonne : nome comune, lat e lon di molti paesi.

Vorrei che ogni volta che seleziono un comune dal filtro dati basato sul comune , in automatico i dati meteo nel grafico cambino , prendendo i valori di lat e lon corretti del paese selezionato.

I valori meteo li ricavo da :

Codice: Seleziona tutto

let
    // Definisci i parametri di latitudine e longitudine
    Latitude = <NomeParametroLatitudine>,
    Longitude = <NomeParametroLongitudine>,

    // Crea l'URL dell'API con i parametri
    url = "https://api.met.no/weatherapi/locationforecast/2.0/compact?lat=" & Text.From(Latitude) & "&lon=" & Text.From(Longitude),
    
    // Recupera i dati dall'API
    Source = Json.Document(Web.Contents(url)),
    
    // Naviga fino ai dati necessari
    timeseries = Source[properties][timeseries],

    // Trasforma i dati in una tabella
    #"Converted to Table" = Table.FromList(timeseries, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"time", "data"}, {"time", "data"}),
    #"Expanded data" = Table.ExpandRecordColumn(#"Expanded Column1", "data", {"instant", "next_1_hours"}, {"instant", "next_1_hours"}),
    #"Expanded instant" = Table.ExpandRecordColumn(#"Expanded data", "instant", {"details"}, {"details"}),
    #"Expanded details" = Table.ExpandRecordColumn(#"Expanded instant", "details", {"air_temperature", "wind_speed"}, {"air_temperature", "wind_speed"}),

    // Gestisci i dati di precipitazione
    #"Added Custom" = Table.AddColumn(#"Expanded details", "precipitation", each try Record.FieldOrDefault([next_1_hours][details], "precipitation_amount") otherwise 0),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"next_1_hours"}),

    // Rinomina le colonne
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{
        {"time", "Time"},
        {"air_temperature", "Temperature"},
        {"wind_speed", "WindSpeed"},
        {"precipitation", "Precipitation"}
    })
in
    #"Renamed Columns"
Vorrei prendere latitude e longitude da un'altra tabella con il comune selezionato


Grazie


Avatar utente

Andrea90
Messaggi: 2547 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 702 volte
Contatta:

Dati meteo

Messaggio da Andrea90 »

@obertimanuel

Potresti crearti nella tabella che contiene i comuni un campo chiave dato dalla combinazione di latitudine e longitudine.

Stessa cosa farai con i dati che estrapoli dall'api.

Metti poi in relazione queste due tabelle con il campo chiave appena creato. Ora filtrando il comune che ti interessa dalla tabella dimensionale (che conterrà i dati univoci di ciascun comune) potrai filtrare la tabella dei fatti.

Nota di servizio: il codice che inserisci nei messaggi va inserito utilizzando i tag code. Per questa volta faccio io, la prossima lo devi fare tu. Se non sai come fare leggi i tutorial nella sezione degli annunci di staff.

EDIT: Rileggendo meglio il tuo messaggio non mi è chiara una cosa, dalla api non ti scarichi l'intero dataset meteo dei comuni, ma solo i record presi con la latitudine e longitudine che selezioni da quel parametro che usi come selettore? Se è così non funziona quello che ti ho scritto, perché ogni volta dovresti rilanciare il "refresh" dei dati.

Fornisci qualche info in più in merito alla tabella che usi con la lista dei comuni (allega un file demo con qualche riga di esempio).

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link

Autore del topic
obertimanuel
Messaggi: 2 | Topic creati
Iscritto il: sab 27 lug 2024, 14:49

Dati meteo

Messaggio da obertimanuel »

Grazie per il tag.....
Esatto , scarico i dati meteo solamente per il comune selezionato

Ecco il file meteo dei comuni
Allegati
italy_geo.xlsx
(372.54 KiB) Scaricato 8 volte
Avatar utente

Andrea90
Messaggi: 2547 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 702 volte
Contatta:

Dati meteo

Messaggio da Andrea90 »

@obertimanuel

Non penso si possa fare.

Esistono i "Dynamic M query parameters" che farebbero al caso tuo:

https://learn.microsoft.com/en-us/power ... parameters

Ma funzionano su modalità Direct Query e non su Import come invece stai importando tu.

Ti lascio un ulteriore link di approfondimento:

https://blog.crossjoin.co.uk/2021/04/25 ... -rest-api/

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Rispondi