Importazione file Excel.Workbook() --> Problema gestione Headers

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

Gian Jo
Messaggi: 16 | Topic creati
Iscritto il: mar 14 set 2021, 13:52
Ringraziato: 3 volte

Importazione file Excel.Workbook() --> Problema gestione Headers

Messaggio da Gian Jo »

Ciao,
Vi scrivo perchè benchè abbia risolto la problematica con un trucchetto vorrei capire il perchè del seguente problema se qualcuno può darmi una mano.
Sto importando dei file Excel con Power Query per creare la tabella dei fatti di un modello. Quando importo le tabelle con la funzione Excel.Workbook() , vado a crearmi la colonna aggiuntiva dove vado ad analizzare il Content e mi prendo la colonna Data dove ci sono le tabelle corrispondenti ai dati presenti nei vari Excel. Successivamente espando la tabella per prendermi i dati.
Il problema è relativo al riconoscimento dei nomi dei vari campi delle tabelle. All'inizio non mi riconosceva gli headers e quindi dovevo utilizzare "usa la prima riga come intestazione" nei vari passaggi. Successivamente ho preso lo stesso file scaricato da Internet e rifacendo i vari passaggi le intestazioni dei campi sono riconosciute. Ho provato a capire il perchè tutta la mattinata ma ancora la questione non mi è chiara.
I 2 file che hanno comportamenti diversi hanno le stesso opzioni in "Opzioni Query"--> "Caricamento Dati" -->"Rileva i tipi di colonna e le intestazioni per le origini non strutturate in base alle impostazioni di ogni file". I 2 File Excel che utilizzo per l'importazione sono gli stessi in tutti e 2 i casi
Quindi mi chiedo come mai Power Query in un caso mi riconosce le intestazioni di colonna ed in un altro no?
Grazie in anticipo!

Codice: Seleziona tutto

let
    Origine = Folder.Files("C:\Users\Utente\Desktop\Cartella File\Programming\Prova"),
    #"Rimosse altre colonne" = Table.SelectColumns(Origine,{"Content"}),
    #"Aggiunta colonna personalizzata" = Table.AddColumn(#"Rimosse altre colonne", "GetData", each Excel.Workbook([Content])),
    #"Rimosse colonne" = Table.RemoveColumns(#"Aggiunta colonna personalizzata",{"Content"}),
    #"Tabella GetData espansa" = Table.ExpandTableColumn(#"Rimosse colonne", "GetData", {"Name", "Data", "Item", "Kind", "Hidden"}, {"Name", "Data", "Item", "Kind", "Hidden"}),
    #"Rimosse altre colonne1" = Table.SelectColumns(#"Tabella GetData espansa",{"Data"}),
    #"Tabella Data espansa" = Table.ExpandTableColumn(#"Rimosse altre colonne1", "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"}, {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"}),
    #"Intestazioni alzate di livello" = Table.PromoteHeaders(#"Tabella Data espansa", [PromoteAllScalars=true]),
    #"Modificato tipo" = Table.TransformColumnTypes(#"Intestazioni alzate di livello",{{"Date", type date}, {"Product", type text}, {"Revenue Discount", type number}, {"Net Cost Equivalent", type number}, {"County Code", type text}, {"Units", Int64.Type}}),
    #"Filtrate righe" = Table.SelectRows(#"Modificato tipo", each [Product] <> "Product")
in
    #"Filtrate righe"
Allegati
headers.JPG
headers.JPG (74.95 KiB) Visto 140 volte
noHeaders.JPG
noHeaders.JPG (52.09 KiB) Visto 140 volte


Rispondi