QUERY ACCESS & PIVOT EXCEL: ACCOPPIATA VINCENTE PER GOVERNARE I DATI IN AZIENDA

15 luglio 2014

immagine di copertina

di Alessandro Pacifici

Ogni azienda, raggiunta una minima dimensione operativa, è dotata di un gestionale più o meno completo e sofisticato.

Accanto ad esso convivono spesso altre applicazioni utilizzate da specifiche aree aziendali, che a volte dialogano, con opportune interfacce (real-time o batch) con il gestionale principale.

Molto spesso le analisi tipiche del controllo di gestione hanno bisogno di reperire informazioni incrociando dati provenienti da diversi database estratti dal gestionale principale e/o dai sistemi complementari.

Quando l’analisi ha una cadenza abbastanza frequente ed è riconosciuta come necessaria dal management dell’azienda, vale sicuramente la pena di spingere sull’EDP locale per la generazione automatica del report richiesto.

Tuttavia la molteplicità dei “clienti” interni e la continua mutevolezza delle condizioni di business, unita a volte alla scarsa disponibilità di risorse EDP, fa sì che questa strada sia nella pratica spesso difficilmente percorribile.

Skill tipica del controller è però appunto la gestione e l’incrocio dei dati per ottenere i report desiderati.

Tuttavia non sempre si arriva al risultato richiesto in maniera efficiente. Mi sono più volte imbattuto in rocamboleschi CERCA.VERT con chiavi combinate di due campi che cercavano dati in una Pivot (dinamica per definizione!).

Partendo dal presupposto che il controller non è un programmatore, è però opportuno almeno utilizzare in maniera efficiente i tools che la suite di Office ci offre.

Detto che lo scopo di quest’articolo non è una lezione sugli applicativi office (c’è una numerosa letteratura specializzata), desidero invece condividere un metodo di lavoro che reputo efficiente, probabilmente già seguito da molti dei colleghi che leggono.

Di solito “lavoro” i dati nei seguenti steps:

  • estraggo dal gestionale o dagli altri applicativi, i DB necessari alla mia analisi;
  • importo/collego le estrazioni in un DB Access;
  • imposto le opportune query, fino a generare la tabella con tutti i dati necessari per l’analisi richiesta
  • Genero una Tabella Pivot in Excel, che punti la tabella Access creata
  • Infine, quando necessario, passo i risultati nel PowerPoint per la presentazione con il layout aziendale.

Cioè sfruttiamo Access per gestire, uniformare e creare query sui database, poi usiamo le potentissime pivot Excel per “girare” i dati a nostro piacimento, e infine eventualmente Power Point per presentarli.

Per rendere più concreto questo processo, facciamo un esempio.

Pensiamo ad un’analisi sulla profitability a livello di singolo prodotto finito/mercato/cliente/mese o di ogni loro aggregazione superiore determinata dalla segmentazione prodotto/cliente/ mercato presente in azienda.

Potremmo avere una situazione nella quale abbiamo:

  • un DB delle vendite;
  • un DB dei costi Standard;
  • un DB che raggruppa i clienti per gruppi (potremmo avere il cliente x e il cliente y, con due legal entities diverse ma appartenenti allo stesso gruppo, o comunque associabili per una diversa logica).

In un modello Excel-centrico, dovremmo far perno sulla tabella delle vendite ed agganciare col CERCA.VERT e/o INDICE, le info relative al costo standard e al gruppo di clienti.

Fortunatamente Excel2010 ci mette a disposizione, per ogni foglio di lavoro, ben 1.048.576 righe (record) e 16.384 colonne (campi), e ciò lo renderebbe atto a gestire DB abbastanza ampi, sufficienti per una PMI.

Ma ogni volta che manipoliamo il database, riparte il calcolo del CERCA.VERT, scaldando i nostri processori e lasciando il nostro sguardo fisso sullo stato di avanzamento del calcolo.

In aggiunta ipotizziamo che nel DB scaricato dal gestionale [codice Cliente] e [descrizione Cliente] siano inseriti in un unico campo, separati solo da uno spazio o altro carattere.

In Excel dovremmo procedere manualmente con la funzione:

FUNZIONE TESTO IN COLONNE

oppure utilizzare le opportune funzioni di testo (Destra, Sinistra, Stringa.Estrai), facendo poi attenzione che il campo chiave sia dello stesso tipo (numerico o alfanumerico) del campo ricercato nella tabella richiamata dal CERCA.VERT. Anche qui Excel ci agevola con le funzioni Testo o Valore.

Ma Access lo può fare in maniera automatica ad ogni upload di dati con un campo aggiuntivo creato ad hoc.

Vediamo nell’esempio a lato, come possiamo agevolmente splittare in Access il campo “Customer” estratto dal gestionale, nei due campi necessari per le nostre analisi: “Customer_code” e “Customer_Description”, inizialmente presenti in “Customer” e separati da uno spazio.

Con semplici funzioni creiamo 2 campi separati e ciò avviene automaticamente ogni volta che importiamo i dati e facciamo girare la query, senza trascinare ogni volta le formule ai record aggiunti in append (Excel). 

FIGURA 1

Ora vediamo come, nel nostro esempio, linkare i campi nesessari per ottenere la nostra tabella delle sales, agganciando ad ogni record il relativo “Standard” e “Customer Group”. 

FIGURA 2

Creare dei Legami (Left Join nel caso sopra per evitare di perdere dati dalla tabella cardine delle sales), risulta assai più efficiente che fare dei CERCA.VERT, specie in database molto ampi.

Questa query può automaticamente generare una tabella:

 TABELLA

sulla quale poi faremo puntare la nostra pivot, selezionandola come origine dati esterna.

PIVOT

La pivot che ne conseguirà sarà direttamente manipolabile nei campi pagina, riga, colonna in Excel, ma il database risiederà nell’Access, a sua volta impostato per catturare e lavorare i dati ‘grezzi’ estratti direttamente dal gestionale.

Non ho voluto entrare nel dettaglio dei tecnicismi Access o Excel, ma dare una direzione per l’operatività quotidiana utile per ogni controller: gestire i database e generare le query con Access, poi filtrare e manipolare i dati con le Pivot in Excel.

Con un semplice “aggiorna Pivot”, una volta caricate e manipolate le tabelle in Access, avremo costantemente un’analisi aggiornata, flessibile e veloce!

 

ARTICOLO CONTENUTO IN “SFC – Rivista di Strategia Finanza e Controllo”  N° 2 – Sfoglia la Rivista