Vai al contenuto

Come recuperare file Sharepoint in Power Query su Excel

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_ACCOUNT_AUTORIZZATO

    In questa guida vediamo come collegare i tuoi file Sharepoint ai tuoi file Excel, recuperando le informazioni necessarie utilizzando Power Query.

    Queste competenze sono fondamentali per lavorare correttamente in ambito aziendale, permettendoti di sincronizzare in automatico dati in cloud con il tuo pc e velocizzando tutte le procedure di recupero dei file.

    La guida si focalizza su due file Excel con dei dati di salari, ma puoi sperimentare come preferisci - accedendo al tuo Sharepoint aziendale, oppure creando un sito da zero per poi applicare quanto trovi nella guida.

    Come creare un sito in Sharepoint online

    Il metodo più comodo per lavorare con Sharepoint online è creare un sito, ma potresti non avere le autorizzazioni necessarie per crearlo, a seconda del grado di sicurezza della tua azienda. Se invece vuoi solo fare una prova, considera che c'è un account di prova per 30 giorni.

    Ti consiglio di avere un sito dedicato perchè la struttura ad albero di Sharepoint potrebbe considerare un numero di file enorme rispetto a quelli che ti servono - immaginati come fossero diverse cartelle, dove è sicuramente più facile puntare a una cartella rispetto all'intero disco del tuo pc.

    Per l'intera guida faremo finta che il nostro sito si chiami https://filocamoconsulting.sharepoint.com/sites/ambiente_test/ - ti anticipo che il sito non esiste, quindi non puoi collegarti, ma è giusto per spiegarti la struttura. Due punti sono cruciali:

    • filocamoconsulting è il nome aziendale, in linea di massima non puoi modificarlo in alcun modo
    • ambiente_test è il nome del sito che andremo a creare, qui hai molto più spazio di manovra

    Quando ti colleghi a Sharepoint, non devi andare direttamente alla cartella che desideri, ma indicare prima il nome del sito, per poi navigare fin dove ti servano i dati. Vediamo come creare un sito per fare queste operazioni. Come dicevamo, potresti non avere le autorizzazioni per crearne uno, ma nel caso puoi chiedere al tuo reparto IT di realizzarne uno per te.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_CREARE_SITO

    Dal tuo account Microsoft, troverai una sezione chiamata Sharepoint in alto a sinistra, dove ci sono i nove puntini insieme che ci permettono di accedere ai vari software Microsoft. Entrando in Sharepoint, sempre in alto a sinistra, il primo comando è Crea sito. Cliccandolo, ti sarà chiesto se creare:

    • Un sito del team
    • Un sito di comunicazione

    In questo caso creiamo un sito del team.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_CREARE_SITO_STANDARD

    Puoi scegliere un modello, dove prendiamo quello standard, non ci serve niente di particolarmente complesso.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_CREARE_SITO_MODELLO

    Vedrai anche una anteprima, giusto per essere certi della nostra selezione.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_CREARE_SITO_NOME

    Qui scegliamo il nome del sito, ovvero ambiente_test, nel nostro caso. Puoi anche già invitare i tuoi colleghi che potrebbero aver necessità di accedere al sito, così da coordinarsi tutti sullo stesso ambiente.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_CREARE_SITO_LINGUA

    Scegliamo la lingua italiana e creiamo il sito. In genere ci mette pochi secondi.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_ACCESSO_DOCUMENTI

    A questo punto, non ci resta che cliccare su Documenti, che trovi sul lato sinistro.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_VISUALIZZAZIONE_ONLINE

    L'interfaccia ti segnala che ora possiamo inserire i file, chiaramente all'inizio l'intero sito sarà vuoto.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_SINCRONIZZARE_DATI

    Un aspetto fondamentale per lavorare bene con Sharepoint è sincronizzare i dati con il tuo PC. Se clicchi sui tre puntini accanto a Aggiungi collegamento a OneDrive, dovresti trovare la scritta Sincronizza. In questo modo, i tuoi file saranno disponibili anche su locale e sincronizzati automaticamente.

    Se hai dei percorsi condivisi in azienda, dove i percorsi puntano a Sharepoint, puoi quindi agganciarti ai dati in due modi:

    • Seguendo la procedura di questa guida
    • Utilizzando i connettori standard di Power Query, come da CSV, da cartella etc. Questo perchè i dati sono su locale, quindi il passaggio con l'online viene fatto direttametne dalla sincronizzazione, se hai una connessione internet

    Personalmente sincronizzo i siti dei miei clienti, quando posso, perchè mi semplifica notevolmente lavorare da locale anzichè dalle versioni online di Excel, ma potrebbe non essere sempre necessario.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_DETTAGLIO_FILE

    Cliccando su Nuovo inseriamo un file chiamato Database_salari, che useremo per il nostro test. A questo punto c'è un altro passaggio da ricordare, perchè dobbiamo copiare il collegamento diretto cliccando prima sui tre puntini accanto al nome, per poi scorrere tutta la barra sulla destra e andare nella sezione chiamata Percorso. Qui, copiamo il collegamento diretto al file.

    Per semplificare:

    • Seleziona il file
    • Clicca sui tre puntini
    • Scorri la barra laterale fino in fondo e copia il Percorso

    Questo percorso è quello che useremo a breve per recuperare un file da Sharepoint. Nel nostro caso, il percorso è https://filocamoconsulting.sharepoint.com/sites/Ambiente_test/Documenti%20condivisi/SALARI/DATABASE_SALARI.xlsx ma ovviamente cambierà a seconda di cosa selezioni.

    Come noti, sono generati in automatico alcuni caratteri speciali tipo %20 perchè ci sono degli spazi, essendo Documenti condivisi che diventa Documenti%20condivisi. Per questo, meglio copiare il percorso da Sharepoint.

    Come recuperare un singolo file da Sharepoint in Power Query

    Vediamo il caso più semplice, ovvero come recuperare un file da Sharepoint e portarlo in Power Query. Ti mostro questo caso perchè è il più immediato, ma non è il più corretto dato che è meglio agire in maniera sistematica partendo dal sito stesso, anzichè puntare a un singolo file. Di questo, parliamo più avanti.

    Il percorso che useremo è quello recuperato prima, cioè > https://filocamoconsulting.sharepoint.com/sites/Ambiente_test/Documenti%20condivisi/SALARI/DATABASE_SALARI.xlsx

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_CONNETTORE_WEB

    Apri un nuovo file Excel > Dati > Recupera e trasforma dati.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_SCELTA_FILE

    Inserisci il percorso del tuo file, come fosse una pagina web.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_ACCOUNT_AZIENDALE_AUTORIZZARE

    A questo punto Sharepoint ti chiederà di accedere e di autenticarti. Questo passaggio aggiunge un livello di sicurezza fondamentale, se lavori in azienda.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_ACCOUNT_AUTORIZZATO

    Siamo stati riconosciuti, quindi ora possiamo cliccare su connetti e accedere al file.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_PREVIEW

    Da qui la procedura è simile a qualsiasi altro passaggio in Power Query, dato che vedrai l'anteprima del nostro file. Cliccando su Trasforma dati farai l'accesso sul nuovo file.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_WEB_CONTENTS

    = Excel.Workbook(
    Web.Contents( "percorso_file"),
    null,
    true)

    Come noti, il codice M generato è Excel.Workbook(Web.Contents(, che indica come stiamo accedendo a una fonte web e che il file che ci interessa è un file Excel. Fra poco, useremo Sharepoint.Files e Sharepoint.Contents che sono invece proprio dedicate a Sharepoint - ma il vantaggio di Web.Contents è che funziona con qualsiasi sito web, permettendoti di prendere dati da siti come Wikipedia, per citarne uno.

    Come recuperare vari file da Sharepoint in Power Query

    Vediamo ora come recuperare vari file o cartelle da Sharepoint in Power Query in maniera programmatica, partendo dal sito stesso e arrivando poi alle cartelle che ci interessano.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_RECUPERA_DATI

    La procedura per accedere a Power Query è sempre la stessa, da Dati > Recupera dati.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_CONNETTORI_DISPONIBILI

    L'interfaccia potrebbe già suggerirti che puoi accedere a una Cartella di Sharepoint, come vedi nell'immagine. Se non la vedi, non ti preoccupare, è solo una questione di licenze Microsoft ma le funzioni Sharepoint.Files e Sharepoint.Contents sono sempre disponibili. Ti mostro poi come fare, se non vedi niente a schermo di relativo a Sharepoint.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_CONNETTORI_SHAREPOINT

    In particolare, ci sono tre opzioni disponibili per Sharepoint - ma quella che a noi interessa è Cartella di Sharepoint. Clicchiamola.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_INSERIMENTO_URL

    Power Query ci segnala di inserire l'URL del sito, evitando però le sottocartelle. Ammetto che all'inizio questo passaggio non sia intuitivo, ma il concetto è che non dobbiamo puntare direttamente al file, bensì al sito stesso.

    Abbiamo due link possibili:

    • https://filocamoconsulting.sharepoint.com/sites/Ambiente_test/Documenti%20condivisi/SALARI/DATABASE_SALARI.xlsx
    • https://filocamoconsulting.sharepoint.com/sites/Ambiente_test/

    Il primo, però, è sbagliato. Non dobbiamo puntare al file, ma al sito stesso. Inseriamo quindi https://filocamoconsulting.sharepoint.com/sites/Ambiente_test/, seguendo il nostro esempio.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_SCELTA_FILE

    Vedrai un'anteprima di quanto contenuto nel sito Sharepoint, clicca pure su Trasforma dati in modo da entrare poi nell'interfaccia.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_SHAREPOINT_FILES

    Qui Power Query fa uno spaccato di tutto ciò che è contenuto nel tuo Sharepoint. Essendo il nostro uno Sharepoint di test, hai solo un file, ma potresti vederne centinaia.

    Nota come il codice generato sia simile a questo:

    =Sharepoint.Files("nome_sito", [ApiVersion=15])

    Sharepoint.Files va a recuperare tutti i file inseriti in un sito Sharepoint. La parte di ApiVersion è per tecnici, ma in linea di massima per Sharepoint online la 15 è lo standard, mentre su installazioni on-premise può esserci anche la 14. Questo tema non è rilevante per noi perchè in linea di massima sarà sempre 15, ma devi ricordarti di dichiarare la ApiVersion se scrivi da codice e non utilizzando i pulsanti di Power Query per creare la tua query.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_FOLDER_PATH

    Un aspetto che potresti trovare rilevante è la colonna sulla destra chiamata Folder Path. In questa sezione puoi filtrare per cartelle e percorsi, ad esempio andando a prendere tutti i file in una sottocartella automaticamente. Hai quindi sempre una bussola per navigare all'interno del tuo Sharepoint, anche se i file sembrano tutti accatastati insieme.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_BINARY

    Cliccando su Binary, il tuo file si aprirà in Power Query e potrai accedere al contenuto, modificandolo come preferisci.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_FILE_SALARI

    Dopo vari passaggi, ripuliamo il nostro database dei salari con vari step che vedi sul lato destro in Impostazioni query.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_OUTPUT

    L'output sarà quindi una tabella con tutti i salari dei nostri dipendenti, ottimo!

    Ma come facciamo se dobbiamo inserire anche i dipendenti della nostra sede estera? I due file hanno lo stesso formato, ma vanno accodati insieme e vogliamo farlo tramite Sharepoint.

    Come recuperare più file da Sharepoint in Power Query

    Vediamo come recuperare più file da Sharepoint in Power Query, sempre sfruttando Sharepoint.Files. In questo caso sarebbe ideale avere una cartella dedicata con i file sorgenti, in modo da poterla filtrare con il Folder Path e poi prendere tutti i file che ci servono.

    La procedura è uguale alla precedente, almeno nella prima fase: Dati > Recupera Dati > Cartella di Sharepoint > Sito.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_VARI_FILE

    Come noti i file ora sono tre, ma a noi interessano solo i primi due.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_FILTRO

    Filtriamo REVIEW_SALARI, in modo da non considerare il file nella nostra analisi.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_SELEZIONE_FILE

    Qui bisogna fare attenzione, perchè Power Query ha interpretato il nostro gesto come "prendi tutti i file che non sono REVIEW_SALARI", anzichè "prendi i due database con i salari". Per questo, è consigliabile usare il Folder Path così potremmo avere un percorso del tipo sito/sorgenti/salari e prendere tutti i dati da là.

    Rivedi sempre queste condizioni di filtro, se poi noti che c'è qualcosa che non torna nel tuo file, anche per rimuovere eventualmente file che non ti interessano - potendo filtrare per estensione, puoi togliere tutte le immagini, ad esempio.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_ESEMPIO

    Una volta che vedi solo i file utili per la tua analisi, clicca su Content nella sezione con le due frecce verso il basso. Ti si aprirà una anteprima dove puoi scegliere il tuo file di esempio, similarmente a come succede quando selezioni i file da cartella. Clicca su OK.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_ACCODAMENTO_FINALE

    A questo punto, Power Query prenderà tutti i dati dai due file, accodandoli. Abbiamo anche un'indicazione della sorgente in Source.Name, un'opzione comoda per poi rivedere eventuali errori o incogruenze.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_TUTTI_DATI_INSIEME

    Possiamo poi rivedere tutti i nostri dati e sistemarli, in modo da avere solo un database finale. Se dovessimo poi aggiungere altri database, basta andare a controllare le nostre condizioni di filtro e di selezione delle cartelle in modo da poi considerarli. In alcuni progetti di consulenza, ho accodato 600+file con questa procedura, quindi non dovresti avere limiti a livello di dimensione.

    Abbiamo detto, però, che potresti non vedere l'opzione Cartella di Sharepoint. Vediamo come fare, in questo caso.

    Come recuperare file da Sharepoint in Power Query da codice

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_NUOVA_QUERY

    Possiamo recuperare i file da Sharepoint e portarli in Power Query anche se non visualizzi niente nella parte iniziale dove vedi i connettori. Dovrai però creare una Query vuota, possibile in almeno due modi:

    • Excel: Dati > Recupera dati > Da altre origini > Query vuota
    • Power Query: Tasto destro sul lato sinistro dove c'è l'elenco di query, in basso > Nuova query > Altre origini > Query vuota
    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_NUOVA_QUERY_QUERY1_START

    Ti basterà inserire il codice che abbiamo già utilizato, come fosse una formula Excel:

    =Sharepoint.Files("nome_sito", [ApiVersion=15])

    Da qui, la procedura è esattamente come la precedente. Hai solo questo ostacolo iniziale, ma è tutto esattamente uguale per il resto, non ci sono funzionalità bloccate se non hai una licenza Office specifica.

    Come recuperare file da Sharepoint in Power Query usando Sharepoint.Contents

    Una alternativa a tutte le procedure viste in precedenza è utilizzare Sharepoint.Contents anzichè Sharepoint.Files, sempre per recuperare file da Sharepoint e portarli in Power Query.

    COME_COLLEGARE_SHAREPOINT_POWER_QUERY_MICROSOFT_EXCEL_365_MARCOFILOCAMO_SHAREPOINT_CONTENTS

    In questo caso il codice è diverso, dato che la funzione ha proprio un altro nome:

    =Sharepoint.Contents("nome_sito", [ApiVersion=15])

    Come vedi, l'anteprima è completamente diversa perchè anzichè focalizzarsi sui file, questa funzione si focalizza proprio sulla struttura del tuo sito in Sharepoint. Puoi quindi accedere comunque ai Documenti condivisi e replicare quanto visto in precedenza, ma hai parecchie altre opzioni che con Files non sono disponibili.

    Vi sono alcuni temi da considerare se utilizzi Sharepoint.Contents anzichè Sharepoint.Files:

    • Sicurezza: a volte, Sharepoint.Contents è bloccata dall'IT, quindi non puoi utilizzarla. Capita di avere problemi di autenticazione non sempre facili da risolvere, soprattutto quando sono poi coinvolte persone terze
    • Velocità: Sharepoint.Contents può essere più performante di Sharepoint.Files proprio perchè permette di segmentare più velocemente le varie cartelle. Dovresti però fare dei test, prima di scegliere una delle due funzioni
    • Conoscenza: se il sito è ben strutturato, puoi andare molto velocemente dove ti interessa evitando di utilizzare Folder Path, se usi Sharepoint.Contents, perchè puoi semplicemente cliccare sull'interfaccia e creare nuovi livelli per poi arrivare alla tua cartella di riferimento

    Conclusione

    Abbiamo visto come recuperare file da Sharepoint e come portarli in Power Query su Excel in tre modi diversi:

    • Utilizzando Web.Contents, cioè il connettore web
    • Utilizzando Sharepoint.Files, filtrando i singoli file che ci interessano per poi eventualmente accodarli
    • Utilizzando Sharepoint.Contents, lavorando sulla struttura del sito per recuperare poi i dati necessari

    Idealmente, il tuo file presenterebbe poi dei parametri in Power Query per ottimizzare il tutto, ma sono certo che potrai già migliorare i tuoi processi applicando le varie procedure anche sui tuoi processi quotidiani.

    Spero che le indicazioni ti aiutino a velocizzare le tue operazioni su Excel, in particolare pescando senza errori file presenti sul tuo Sharepoint in maniera efficace - ora, tocca a te!

    Lascia un commento

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

    Excel per Professionisti
    Panoramica privacy

    This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.