Buongiorno a tutti,
mi trovo spesso ad importare in Power Query delle tabelle dati generate in Excel dal sistema BI dell'azienda in cui lavoro, ad esempio per accodare report di vendita relativi ai diversi canali.
In alcuni casi una o piu' di queste tabelle restituiscono solo il messaggio "No data found", poiche' per quella selezione non vi sono dati disponibili, andando a perdere anche l'intestazione con il nome delle colonne.
A questo punto la relativa Query in PQ e tutte le operazioni ad essa associate (Join, ecc,) vanno in errore.
Sapete se c'e' un modo per evitarlo, riuscendo per esempio ad accodare solo le query per cui ci sono dati?
Ho riprodotto questo comportamento nel file allegato, dove la Query n.2 va in errore.
Grazie, buona giornata
Davide
No data found in sorgente dati PQ
Moderatore: Utilizzo_prof_Excel
-
- Messaggi: 21 | Topic creati
- Iscritto il: ven 25 dic 2020, 8:38
- Ringraziato: 2 volte
- Contatta:
-
- Messaggi: 2244 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 672 volte
- Contatta:
No data found in sorgente dati PQ
Ciao Davide.par,
puoi aggiungere un passaggio in ciascuna query di tipo record.
Questo passaggio conterrà un try….otherwise in maniera tale che se il report riporta un errore potrai creare una tabella vuota tramite il codice:
#table({“Articolo”, “Regione”, “Venduto”}, {{null, null, null}})
Poi nella query report aggiungi un passaggio in fondo per eliminare eventuali righe vuote.
Andrea
puoi aggiungere un passaggio in ciascuna query di tipo record.
Questo passaggio conterrà un try….otherwise in maniera tale che se il report riporta un errore potrai creare una tabella vuota tramite il codice:
#table({“Articolo”, “Regione”, “Venduto”}, {{null, null, null}})
Poi nella query report aggiungi un passaggio in fondo per eliminare eventuali righe vuote.
Andrea
-
Autore del topic - Messaggi: 21 | Topic creati
- Iscritto il: ven 25 dic 2020, 8:38
- Ringraziato: 2 volte
- Contatta:
No data found in sorgente dati PQ
Ciao Andrea90 , grazie mille!
Il passaggio di tipo record non sono riuscito ad inserirlo, non l'ho capito bene.
Sono pero' ruscito ad inserire una funzione Table.FromRows che porta allo stesso stesso risultato.
Come da te consigliato ho modificato il codice in questo modo. Funziona come desiderato
In allegato il File "Accodamento corretto"
Grazie per l'aiuto,
Ciao, buona giornata
Davide
Il passaggio di tipo record non sono riuscito ad inserirlo, non l'ho capito bene.
Sono pero' ruscito ad inserire una funzione Table.FromRows che porta allo stesso stesso risultato.
Come da te consigliato ho modificato il codice in questo modo. Funziona come desiderato
Codice: Seleziona tutto
try
let
Quelle = Excel.CurrentWorkbook(){[Name="Report2"]}[Content],
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"Venduto", Int64.Type}})
in
#"Geänderter Typ"
otherwise
let
Quelle = Table.FromRows({{null,null,null}}, {"Articolo", "Regione", "Venduto"}),
#"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{ {"Venduto", Int64.Type}})
in
#"Geänderter Typ"
Grazie per l'aiuto,
Ciao, buona giornata
Davide
- Allegati
-
- Accodamento corretto.xlsx
- (20.23 KiB) Scaricato 11 volte
-
- Messaggi: 2244 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 672 volte
- Contatta:
No data found in sorgente dati PQ
Ciao Davide.par,
Molto più semplicemente, se l’ultimo passaggio della tua query (una di quelle che poi andrai ad accodare) si chiama #“Modificato Tipo” tu puoi aggiungere uno step dove scrivi:
In questo modo se tutti i passaggi prima hanno funzionato allora avrai il tuo risultato uguale identico al #”Modificato Tipo”, altrimenti se è successo qualcosa che ha portato in errore la tua query, avrai una tabella vuota con le colonne che ti servono per l’accodamento.
Andrea
Molto più semplicemente, se l’ultimo passaggio della tua query (una di quelle che poi andrai ad accodare) si chiama #“Modificato Tipo” tu puoi aggiungere uno step dove scrivi:
Codice: Seleziona tutto
try #”Modificato Tipo” otherwise #table({“Articolo”, “Regione”, “Venduto”}, {{null, null, null}})
Andrea