No data found in sorgente dati PQ

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel

Rispondi
Avatar utente

Davide.par
Messaggi: 21 | Topic creati
Iscritto il: ven 25 dic 2020, 8:38
Ringraziato: 2 volte
Contatta:

No data found in sorgente dati PQ

Messaggio da Davide.par »

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
Allegati
Accodamento.xlsx
(20.15 KiB) Scaricato 10 volte


Avatar utente

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

No data found in sorgente dati PQ

Messaggio da Andrea90 »

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
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
Avatar utente

Autore del topic
Davide.par
Messaggi: 21 | Topic creati
Iscritto il: ven 25 dic 2020, 8:38
Ringraziato: 2 volte
Contatta:

No data found in sorgente dati PQ

Messaggio da Davide.par »

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 :D

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"
In allegato il File "Accodamento corretto"
Grazie per l'aiuto,
Ciao, buona giornata
Davide
Allegati
Accodamento corretto.xlsx
(20.23 KiB) Scaricato 11 volte
Avatar utente

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

No data found in sorgente dati PQ

Messaggio da Andrea90 »

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:

Codice: Seleziona tutto

try #”Modificato Tipo” otherwise #table({“Articolo”, “Regione”, “Venduto”}, {{null, null, null}})
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
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