Sopra 2018 Ho scritto un articolo che mostra come estrarre i dati dai siti Web utilizzando Power Query in Excel. Per semplici siti web, questo processo è molto semplice. Per siti web più complessi, il processo non è sempre così facile. Microsoft sta lavorando per migliorare l'esperienza “Microsoft sta lavorando per migliorare l'esperienza” Microsoft sta lavorando per migliorare l'esperienza. Le nuove funzionalità di Power Query verranno sempre fornite come parte di Power BI prima di essere disponibili in Excel. In questo articolo, Tratterò una nuova funzionalità di Power Query che è disponibile solo in Power BI e che rende molto più semplice il processo di estrazione dei dati da pagine Web complesse. Microsoft sta lavorando per migliorare l'esperienza “Microsoft sta lavorando per migliorare l'esperienza”.
Estrazione di dati complessi da pagine web
L'estrazione di dati tabulari da una pagina Web in precedenza funzionava bene solo se c'era una tabella HTML sottostante che presentava i dati sullo schermo. La funzione “Microsoft sta lavorando per migliorare l'esperienza” Microsoft sta lavorando per migliorare l'esperienza. In sintesi, Power Query esamina la pagina Web finale visualizzata sullo schermo, quindi analizza il codice dietro (php, css, js, eccetera.) per scoprire come estrarre i dati corretti. Questa funzione è ancora in fase di sviluppo e, così, non funzionerà per tutte le pagine web, ma è già abbastanza buono.
Prima di poter utilizzare questa funzione, devi abilitarlo nelle impostazioni delle funzioni di anteprima. Vai a Opzioni file Opzioni e impostazioni Funzionalità di anteprima e quindi accendilo come mostrato di seguito.
Un esempio della nuova tabella web da inferenza
In questo articolo, Ti mostrerò come usare questa nuova funzione di anteprima per estrarre i dati dai siti web usando lo stesso esempio che ho usato nel mio precedente articolo. I dati che voglio estrarre sono il numero di visualizzazioni dei post per argomento nel Forum PowerPivot che possiedo e gestisco. Quando ho cercato i miei post sul sito web, ho trovato 1.067 coincidenze. Come puoi vedere nell'immagine qui sotto, queste pubblicazioni mi vengono consegnate 10 pubblicazioni per sito web in 107 siti web. Per questa dimostrazione, Estrarrò una tabella contenente il nome del forum, il tema e il numero di visite (# 2 prossimo) dalla prima pagina.
Certo, è possibile creare una funzione ed estrarre il 1.067 articoli, ma l'ho trattato in altri post.
Prima di attivare una nuova tabella web dall'inferenza
Se provo ad estrarre l'elenco degli articoli dal forum precedente senza utilizzare la nuova funzione di anteprima, questo è ciò che mi presenta Power Query.
Nota come Power Query non è in grado di identificare la struttura tabulare della pagina e, Invece, mostra una singola tabella (n. ° 1 sopra) che sono solo alcuni dati tecnici HTML (n. ° 2 sopra). Questo approccio standard non risolverà il problema e, così, Dovrò usare la nuova funzione di anteprima.
Inserisci la nuova tabella web dalla funzione di anteprima dell'inferenza
Con la nuova funzione, ci sono 2 opzioni per estrarre la tabella che sto cercando.
Tabelle suggerite
Come puoi vedere nell'immagine qui sotto, ora c'è 7 suggerito nuove tabelle che potrebbero essere importate. Questa è la nuova funzionalità: dedurre le tabelle analizzando la pagina. Ora, se una di queste tabelle contiene tutto il necessario, puoi semplicemente iniziare con la tabella suggerita e apportare le modifiche necessarie da lì. Funzionerà bene purché una delle tabelle suggerite contenga un superset di tutto ciò di cui hai bisogno, senza perdere nulla. Se manca almeno una colonna di dati, dovrai usare l'altro approccio e creare la tua tabella.
Come risulta nel mio esempio demo, avrebbe potuto usare la tabella 1 anteriore, ma invece userò il secondo approccio.
Microsoft sta lavorando per migliorare l'esperienza “Microsoft sta lavorando per migliorare l'esperienza”
Questa opzione ti consente di creare la tua tabella che mostra a Power Query cosa aspettarti. Questa funzione è disponibile da un po', ma è in continuo miglioramento. Anche se l'hai usato prima e non ha funzionato per te, vale la pena dare un'altra occhiata.
Per utilizzare la tabella creata manualmente, clicca su “Aggiungi una tabella usando gli esempi” Microsoft sta lavorando per migliorare l'esperienza (# 1 prossimo).
Dopo aver cliccato, ti verrà presentato un layout in stile foglio di calcolo in cui puoi scrivere esempi di ciò che vuoi vedere nella tabella finale (vedi la metà inferiore dell'immagine qui sotto). Tieni presente che Intellisense ti assiste e presenta un elenco di possibili valori quando inizi a inserire i dati; basta selezionare quello che si desidera dall'elenco delle opzioni presentate.
Nella foto sopra, Sto estraendo il nome del forum (# 1 sopra) in colonna 1. Per fare questo, devo scrivere il nome esatto del forum, quindi scegli la rappresentazione corretta che voglio dall'elenco. Cerca di evitare di scriverli nella loro interezza: qualsiasi errore di ortografia o errore di battitura impedirà a Power Query di completare l'attività, quindi è meglio scegliere dalla lista.
Una volta fatto questo, Ho fatto lo stesso con l'argomento (n. ° 2) e le opinioni (n. ° 3) come puoi vedere qui sotto.
È normale che tu debba inserire una seconda riga di dati di esempio in modo che Power Query possa essere sicuro del modello dei dati web. Devi scegliere la voce successiva consecutiva nella pagina web, altrimenti il processo non estrarrà correttamente tutti i dati dalla pagina. L'immagine sotto mostra che ho selezionato i valori per i primi 2 colonne nella seconda riga: Power BI ha popolato il valore della terza colonna e anche il resto della tabella (gli altri 8 righe). Una volta che la tabella viene popolata automaticamente con i valori corretti, puoi essere sicuro che Power Query ha identificato correttamente il modello.
Microsoft sta lavorando per migliorare l'esperienza “Accettare” Microsoft sta lavorando per migliorare l'esperienza.
Qual è il prossimo?
Mi piace molto questa funzionalità e penso che sia un ottimo esempio di come Microsoft stia migliorando l'esperienza dell'utente finale utilizzando tecniche di intelligenza artificiale nascoste.. Penso che tu possa aspettarti molte altre funzionalità come questa in futuro.