Domanda Estrazione dati

MARCOLINO

Utente abituale
4 Marzo 2017
161
18
viterbo
2013
0
Buonasera ragazzi c' e qualche novità per quanto riguarda la possibile estrazione da dati xml con radici diverse e conversione in automatico su tabelle excel ? Dalla scheda Sviluppo Importazione dati la cosa funziona ma io cercavo un sistema più speditivo , sapete in alternativa se Aruba permette con qualche estensione in acquisto la possibilità di conversione in automatico .grazie Marco
 

MARCOLINO

Utente abituale
4 Marzo 2017
161
18
viterbo
2013
0
Interessante ho guardato un po' ma tu ci sei riuscito ?Ho visto che c' è anche la possibilità di installare componenti aggiuntivi e Import Tabular Data non mi è sembrato male .. ma Gogle poi avverte che non è stato ancora controllato ..
 

Andrea Guerri

Utente abituale
19 Febbraio 2019
605
30
Excel2019+Sheet
22
Già ci vorrebbe una sezione dedicata a questo...
La sezione già c'è ... è questa!

M @MARCOLINO
Se hai sbagliato sezione, fallo presente sposto la discussione in quella giusta.
Grazie mille, intendevo che se parliamo di alternative ma che arrivano a risolvere la cosa per M @MARCOLINO visto che sembra un OT parlare di importxml ma su altra piattaforma...:occhispalancati:
 

MARCOLINO

Utente abituale
4 Marzo 2017
161
18
viterbo
2013
0
https://www.forumexcel.it/forum/threads/estrarre-alcuni-dati-da-xml-provenienti-da-fatturazione-elettronica.27972/#post-226315

Buon giorno a tutti non so in questo caso quale sia la sezione più corretta per parlare di dati xml da importare cmq mi farebbe piacere approfondire questo link in discussione a settembre 2019 da parte di klinglang

Provo a fare i passaggi descritti della query ma quanto provo a scrivere ExpandAll come funzione personalizzata non la riconosce , ho provato anche Table.expandtablecolumn ma qualcosa non va , mi potreste aiutare ?Credo che il percorso di Kling sia ottimo !
Ciao, io per cominciare a fare qualcosa ti allego la procedura in Power Query per importare una cartella di file xml con le colonne da te indicate. Se guardi il filmato, alla fine creo un po' di copie del file per simulare la presenza di altre fatture, e cliccando "aggiorna tutti" mi importa tutto quello che trova nella cartella, applicando le medesime elaborazioni.
Se vuoi provare questo sistema, devi prendere il file che ti allego e adattare la query (in realtà dovrai solo cambiare il percorso dei file), in quanto vi ho inserito una funzione personalizzata che serve a "spacchettare" tutte le colonne dell'xml, una volta caricato.
Partiamo da qui, poi vediamo! Saluto_saluto

 

Rubik72

Excel/VBA Expert
Supermoderatore
Expert
12 Dicembre 2015
7.819
245
48
Cosenza
Excel 2016
432
Ok sposto la discussione nella sezione Power Query

Provo a fare i passaggi descritti della query ma quanto provo a scrivere ExpandAll come funzione personalizzata non la riconosce
questa è una funzione personalizzata creata con Power Query:
Visual Basic:
let
    //Define function taking two parameters - a table and an optional column number 
    Source = (TableToExpand as table, optional ColumnNumber as number) =>
    let
     //If the column number is missing, make it 0
     ActualColumnNumber = if (ColumnNumber=null) then 0 else ColumnNumber,
     //Find the column name relating to the column number
     ColumnName = Table.ColumnNames(TableToExpand){ActualColumnNumber},
     //Get a list containing all of the values in the column
     ColumnContents = Table.Column(TableToExpand, ColumnName),
     //Iterate over each value in the column and then
     //If the value is of type table get a list of all of the columns in the table
     //Then get a distinct list of all of these column names
     ColumnsToExpand = List.Distinct(List.Combine(List.Transform(ColumnContents, 
                        each if _ is table then Table.ColumnNames(_) else {}))),
     //Append the original column name to the front of each of these column names
     NewColumnNames = List.Transform(ColumnsToExpand, each ColumnName & "." & _),
     //Is there anything to expand in this column?
     CanExpandCurrentColumn = List.Count(ColumnsToExpand)>0,
     //If this column can be expanded, then expand it
     ExpandedTable = if CanExpandCurrentColumn 
                         then 
                         Table.ExpandTableColumn(TableToExpand, ColumnName, 
                                ColumnsToExpand, NewColumnNames) 
                         else 
                         TableToExpand,
     //If the column has been expanded then keep the column number the same, otherwise add one to it
     NextColumnNumber = if CanExpandCurrentColumn then ActualColumnNumber else ActualColumnNumber+1,
     //If the column number is now greater than the number of columns in the table
     //Then return the table as it is
     //Else call the ExpandAll function recursively with the expanded table
     OutputTable = if NextColumnNumber>(Table.ColumnCount(ExpandedTable)-1) 
                        then 
                        ExpandedTable 
                        else 
                        ExpandAll(ExpandedTable, NextColumnNumber)
    in
     OutputTable
in
    Source
 

Rubik72

Excel/VBA Expert
Supermoderatore
Expert
12 Dicembre 2015
7.819
245
48
Cosenza
Excel 2016
432
Questa piccola aggiunta è una funzione personalizzata chiamata ExpandAll con il codice già suggerito al post#10.
Segui il video suggerito da klingklang @klingklang per importare tutti i file della stessa cartella
 

klingklang

Excel/Power BI Expert
Expert
20 Ottobre 2017
5.999
245
43
San Giovanni in Persiceto (BO)
www.mondobi.it
2016, 365
452
Ciao, purtroppo è un po' difficile orientarsi, se non hai proprio idea di quello che stai facendo. Se prendi il mio file di esempio, è già tutto predisposto e devi solo cambiare la cartella da cui prelievi i file, e probabilmente eliminare il passaggio che seleziona le colonne, in quanto le tue avranno nomi diversi.

In ogni caso ti consiglio di seguire un corso introduttivo di Power Query come ad esempio questo, per imparare almeno a muoverti un po' nell'interfaccia e capire cosa può fare lo strumento
 
  • Like
Reactions: Rubik72

MARCOLINO

Utente abituale
4 Marzo 2017
161
18
viterbo
2013
0
ciao Kling , ti ringrazio della risposta ,due domande : l' aggiunta di Rubik è un di piu ?
Io in questi minuti ho fatto tutti i tuoi passaggi e poi sono andato manualmente a cliccare su ogni colonna generata dalla connessione di query in modo da espanderle e poi o caricato che ne dici ?
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!