








































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti dettagliati presi durante le lezioni
Tipologia: Appunti
1 / 48
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!









































Lezione 1 Vi è un unico file excel “Dataset02” con dentro più fogli di lavoro (tab): Sales-Product-Customer- Calendar, che sono composti da insiemi di celle con dei valori (non vengono definite tabelle secondo il database). Questi dati si trovano all’interno di software rigidi dell’azienda. Lo scopo è quello di estrarre i dati dai gestionali e rappresentarli in modo utile. Una tabella è fatta da colonne, le quali devono avere un’intestazione non vuota e univoca; excel permette di avere 2 colonne con la stessa intestazione. Ogni colonna può contenere delle date, un testo e dei numeri. La prima riga è occupata dall’intestazione delle colonne (metadati). Sales A. Cust No = customer number, ovvero l’identificativo di un cliente, ma non il nome, per evitare che 2 persone abbiano lo stesso nome. Ad esempio, su Amazon, l’identificativo è l’e-mail, mentre all’università la matricola. B. Product = prodotto, ciò che è stato acquistato con il codice identificativo C. Production Plant = stabilimento di produzione (il prodotto della colonna B, comprato dal cliente in colonna A, è stato fisicamente costruito in questo stabilimento). Per Amazon, ad esempio, lo stabilimento è il magazzino. D. Order Entry Date = data in cui l’ordine è stato inserito a sistema E. Scheduled Ship Date = data in cui si pensa di spedire il prodotto F. Invoice Date = data di fatturazione, ovvero la data in cui la proprietà dell’oggetto acquistato passa da colui che l’ha prodotto al compratore e solitamente coincide con la data di spedizione, ma non sempre G. Actual Ship Date = data in cui viene spedito veramente il prodotto H. Order Quality = unità del prodotto acquistato I. Sales AMT = importo totale della transazione, dato dalla quantità e il prezzo unitario J. Unit Price = prezzo unitario K. Product Series = famiglie di prodotti (es. IPhone) Ogni riga rappresenta uno scambio tra chi produce e chi compra, ovvero una transazione. Per vedere quante transazioni ci sono e quindi quante righe utilizzare il tasto Control + tasto fine e poi togliere 1 dal conteggio poiché la prima è dedicata all’intestazione, per cui 13307. Le tabelle Product-Customer-Calendar sono tabella anagrafiche o dimensionali, mentre la tabella Sales è una tabella dei fatti o transazionale. La tabella dei fatti è composta da record, ovvero righe e da colonne (campi). Nella tabella Customer, ad esempio, non ho dei fatti, ma delle descrizioni dei clienti. In sostanza, nella tabella di fatti ci sono dei numeri e cose da aggregare, nella tabella dimensionale ci sono entità di business e attributi. Per trovare la somma di Sales AMT è necessario cliccare sulla lettera che la identifica, evidenziando così l’intera colonna, e trovando in basso a destra la somma che ammonta a 37369634,24 € (ricavi). Il totale della quantità venduta (riga H) ammonta a 129.557,585, mentre il prezzo medio unitario è pari a 10,9 723 , per cui è impossibile che i ricavi siano pari 37 milioni, in quanto dovrebbero essere
pari a 129.557,585 x 10,9723 = 1421544,69. Uno dei valori non è giusto, ovvero la media del prezzo unitario, in quanto non è pesata per la quantità. Per trovare il prezzo medio di vendita ponderato è necessario fare le vendite/quantità, in quanto non è possibile utilizzare solo la colonna prezzo, ma anche la quantità. Per evidenziare solo le celle che mi interessano è necessario andare nella prima cella interessata che possiede un valore, premere il tasto Control + shift + freccia giù oppure tasto Control + shift + freccia su e poi shift + freccia giù per togliere l’intestazione. Per scrivere la funzione somma per trovare la somma dei ricavi è necessario posizionarsi nella cella sotto alla colonna relativa (se si vuole che venga valutato ciò che viene inserito nella cella si parte con l’=) =SOMMA(num1; [num2],…) : tale funzione ci dice che vuole un input obbligatorio, poiché non in parentesi quadre, mentre se in parentesi quadre vuol dire che è opzionale. Procedere a scrivere la funzione, utilizzando tasto Control + shift + freccia su e poi shift + freccia giù
Se per caso il pannello sulla destra dovesse sparire e manco cliccando sulla tabella riapparisse, allora basterà cliccare con il tasto destro sulla tabella e su “Mostra campo valori” Per trovare ad esempio la somma delle vendite è necessario trascinare “Sales AMT” in Valori, stessa cosa per la quantità venduta. Per quanto riguarda il prezzo medio non ha senso fare la somma, per cui è necessario cliccare sul valore di “Unit Price”, tasto destro, “Impostazioni campo valore” e clicco su “Media”. Non è possibile calcolare il prezzo medio con una sola colonna, in quanto sono necessarie almeno 2 colonne per calcolare il prezzo medio ponderato. Togliere qualunque dato in Valori e tornare ad un report completamente vuoto. Mostriamo interesse verso una colonna non numerica, come “Product Series” e la trasportiamo in Righe, non in Valori, non essendo un numero, e in questo caso la tabella riporta la lista delle famiglie di prodotto. Successivamente togliere la serie e fare la stessa cosa con “Production Plant”, trovando l’elenco dei valori distinti dello stabilimento. Se invece trasporto “Product” posso osservare quanti prodotti ho venduto, ovvero 3118 , facendo tasto Control + shift + freccia giù e poi shift + freccia su per non contare il totale.
Quanti filtri sono attivi su questa cella e quali sono? 2, c’è un filtro su Plant (PLT01) e un altro filtro sulla serie (P2). Quanti qua? 1, c’è soltanto il filtro su Plant (PLT01). L’unico punto in cui non ci sono filtri è il totale! Quand’è che si incomincia ad andare in Colonne? Quando, ad esempio, ho serie e stabilimenti, ponendo le serie in Colonne e gli stabilimenti in Righe. La parte in Colonne si utilizza solo quando si ha già qualcosa in Righe, per generare una tabella a doppia entrata e rendere più proporzionale un report. Le Righe producono elenchi verticali, mentre le Colonne elenchi orizzontali. Mai avere qualcosa in Colonne e più calcoli in Valori, poiché diventa complicato da leggere. Se si cambia un valore nella tabella originale, la tabella pivot non cambia, ma è necessario fare un aggiornamento, ovvero cliccare su una qualsiasi cella della pivot sul tasto destro e poi su “Aggiorna”. Dopo aver posizionato “Sales AMT” in Valori, “Product Series” e “Production Plan” in Righe mi rendo conto che la Serie 3 produce 3.781.035,08€, ovvero molto meno rispetto alle altre serie e cerco di capire il motivo. Noto inoltre, dopo averli ordinati dal più grande al più piccolo (tasto destro
Per gestire al meglio un filtro e ottenere un filtro visivo, è possibile posizionarsi in “Production Plan” e in “Production Series” direttamente nel Campo della tabella pivot e cliccare su “Aggiungi come filtro dei dati”. Per vedere tutto ciò che ha contribuito a quel numero, in questo caso 278401, basta cliccare 2 volte su tale numero e apparirà in un nuovo foglio questa tabella (Pivot Sales dettaglio):
Lezione 2 Come faccio a fare il calcolo di prezzo medio ponderato? Il prezzo medio pesato deve essere alimentato almeno da 2 colonne. ( fare la media di unit price è sbagliato!!! ) Per introdurre un campo calcolato bisogna essere fisicamente sopra alla pivot con il cursore in una qualsiasi cella comprensiva di calcoli, poi andare in “Home”, “Inserisci”, “Inserisci campo calcolato…”. Tale nuovo campo apparirà nei campi tabella pivot, per cui si potrebbe pensare che sia una colonna come tutte le altre, ma in realtà sarà solo una formula. Questa nuova entità verrà nominata “Prezzo medio ponderato CALC” e nella formula dovrà essere inserito (non a mano, ma cliccando con un doppio click sui campi) = ‘Sales AMT’/ ’Order Quantity’. Dopo aver dato l’OK, inserire i decimali. Per controllare che i calcoli siano giusti scrivere a mano la lettera e il numero della cella, dividendo la somma delle vendite per la somma delle quantità Il calcolo funziona! Se io elimino Sales AMT dalla pivot, il prezzo medio collassa? No, esso sopravvive. Per quale ragione la formula che abbiamo scritto non ha senso? E da dove esce la scritta “somma”? Sales AMT (è una collezione di numeri) identifica una colonna, ma una colonna non è un valore, per cui non è possibile dividere 2 colonne. Come dovrebbe essere scritta la formula affinché avesse senso? Al numeratore avrei dovuto scrivere “sommami tutti i valori di Sales AMT” e al denominatore “sommami le Order Quantity”. Riscrivere la formula con = SOMMA ‘Sales AMT’/ SOMMA ’Order Quantity’. Nei campi della pivot si trova “SalesArea”? No, perché la nostra pivot è basata sulla tabella Sales. La tabella dei fatti deve contenere numeri, prezzi, quantità, ricavi e le cosiddette chiavi , ovvero delle colonne che mi permettono di recuperare informazioni aggiuntive da altre tabelle. Del cliente, nella tabella delle vendite, io so poco, so solo il suo identificativo. La SalesArea (indirizzo del cliente) è un attributo del cliente e si trova nella tabella “Customer”. Nella tabella Sales si hanno dei duplicati del Cust no e si è felice di averli, perché vuol dire che il cliente ha acquistato più volte, mentre nella tabella Customer non si hanno duplicati di Cust no, perché essa è una tabella anagrafica. La tabella dei fatti solitamente possiede molte righe, ma è piuttosto stretta come quantità di colonne, mentre le
Successivamente è necessario portare all’interno della tabella Sales, e poi nella pivot, il “Country”. Fare la stessa cosa fatta per “Customer SalesArea”, inserendo un’altra colonna nominata “Customer Country” e scrivendo la funzione: =CERCA.VERT(A2;Customer!A:H;8;FALSO). Ciò che abbiamo appena fatto viene definito Join tra 2 tabelle, sostanzialmente si intende usare una colonna come chiave di comunicazione tra 2 tabelle; affinché si faccia un join tra 2 tabelle è indispensabile che esista almeno una colonna comune fra le 2 tabelle. Questa colonna che si chiama chiave non è uguale dalle 2 parti, perché prima di tutto le 2 tabelle non sono uguali e in secondo luogo perché da un lato avrò dei duplicati e in tal caso si chiama chiave straniera, come la colonna “Cust No” in Sales, mentre la colonna “Cust No” in Customer si chiama chiave primaria. Versione nuova e più comoda rispetto a CERCA.VERT è CERCA.X: =CERCA.X(A2;Customer!A:A;Customer!H:H) Oltre ai ricavi, io voglio vedere anche dei margini. Per ottenere dei margini (profitti) ho bisogno di fare una sottrazione tra i ricavi e i costi, ma i costi nella tabella Sales non ci sono. I costi (costo unitario per quantità) si trovano nella tabella Product. Mi posiziono, nella tabella Sales, dopo “Production Plant”, creo una nuova colonna e la nomino “Unit Var Cost” (costo variabile unitario: materiale e il lavoro). Qual è la colonna comune alle 2 tabelle per poter trasportare il costo unitario della tabella Product nella tabella Sales? Ci sono 2 colonne comuni, “Production Plant” e “Product” ed inoltre la colonna Product possiede dei duplicati. Se io utilizzassi soltanto la colonna “Product” il database non mi prenderebbe i valori corretti, per cui si ha la necessità di avere la chiave primaria, in quanto è necessario stabilire una relazione 1 a molti tra la tabella Sales e la tabella Product, dove il lato 1 è quello della tabella Product (prima Customer) e il lato a molti quello della tabella Sales. Prima di utilizzare la funzione CERCA.VERT bisogna verificare che ci sia univocità nelle dimensioni. Come capire se in una colonna ci sono duplicati?
Per verificare se nella tabella dimensionale, non quella dei fatti, la colonna che si pensa di utilizzare per fare da chiave ha dei duplicati o meno creo una tabella pivot, cliccando su una qualsiasi cella della tabella Customer “Inserisci”, “Tabella pivot” e posiziono “Cust No” in Righe e “Cust No” in Valori e ordino dal più grande al più piccolo: se rimangono tutti gli 1 è una chiave primaria, in assenza anche di un 1 non vi è una chiave primaria! Solitamente le pivot non si fanno sulle dimensioni, poiché non si hanno numeri, ma si fanno sui fatti. Prendendo ora in considerazione la tabella Product e creando una pivot, se si posiziona “Product” sia in Righe sia in Valori, e dopo aver ordinato dal più grande al più piccolo, si può notare la presenza di 3 - 2 - 1. Per capire perché ci sono 3 righe nel primo valore basta fare il doppio click e si aprirà una tabella dettaglio. Per generare una colonna primaria, sarà necessario mettere insieme “Product” e “Production Plan” creando una colonna con i valori univoci, concatenando tali colonne. Dopo aver creato una nuova colonna nella tabella Product, dopo Product, e averla nominata “Chiave primaria”, utilizzeremo un operatore E. Commerciale che concatena 2 stringhe. Se faccio nella tabella Product, Product-ProductionPlant, dovrò fare la stessa sottrazione e nella stessa sequenza anche nella tabella Sales, se li inverto da una parte o dall’altra il match non ci sarà mai. Successivamente verificare che sia primaria, creando sempre una pivot (funziona). Creare ora una colonna nella tabella Sales prima di “Unit Var Cost”, nominandola “Foreign key product”, ovvero la chiave straniera del prodotto e nella prima cella fare la sottrazione tra Product- ProductionPlant (D2&E2). Ora è possibile fare la ricerca su “Unit Var Cost” tramite la funzione =CERCA.VERT(G2;Product!C:G;5;FALSO) o G2: prima cella di “Foreign key product” o Product!C:G: tabella Product, C è la colonna “Chiave primaria” e G la colonna “Unit Variable Cost” o 5 è il numero di colonne che vanno da “Chiave primaria” a “Unit Variable Cost”
campo calcolato anche qui. “Inserisci”, “inserisci campo calcolato”, e lo nomino “Contr. Margin. CALC”, nella formula invece verrà inserito ‘Contr. Margin. AMT’/’Sales AMT’. Le % si sommano soltanto se sono riferite allo stesso denominatore. L’area che ha il margine migliore sono senza dubbio gli Stati Uniti, però possiede il fatturato più basso. Il BANDING è una tecnica che consente di collassare tanti valori in una quantità limitata di valori, ovvero una categorizzazione e può essere applicata nel caso in cui il capo chieda “io vorrei sapere di questi 26 milioni di ricavi dell’Europa, quanti di essi sono quelli che mi danno un margine positivo e quali un margine negativo”. È necessario inserire una nuova colonna nella tabella Sales, nominata “Contr. Margin. Pct Class” e verrà inserita nella prima cella e poi prolungata nelle successive la funzione SE(test; [se_vero]; [se_falso]) 𝐶𝑜𝑛𝑡𝑟. 𝑀𝑎𝑟𝑔𝑖𝑛. 𝑃𝑐𝑡 𝐶𝑙𝑎𝑠𝑠 = 𝑆𝐸(𝐼 2 < 0 ; NEG; 𝑃𝑂𝑆/0") o I2 = Contr. Margin. Pct Ritornando sulla pivot e inserendo ora la colonna “Contr. Margin. Pct Class” in Righe, al posto del “SalesArea”, mi darà come risultato: Inserendo la “SalesArea” nelle Righe: Non basta distinguere ciò che porta perdite e ciò che non ce ne porta, ma è necessario distinguere 3 livelli: I. Il business negativo, ovvero dove il prezzo è minore del costo variabile [<0]
II. Il business positivo, ovvero quando il prezzo è talmente maggiore del costo variabile che mi comporta degli utili (vendite positive ma non abbastanza) [0<x<40] III. Vendite che sono al di sopra del 40% (se il target è quello) [>40] La formula dovrà essere modificata nel seguente modo: 𝐶𝑜𝑛𝑡𝑟. 𝑀𝑎𝑟𝑔𝑖𝑛. 𝑃𝑐𝑡 𝐶𝑙𝑎𝑠𝑠 = 𝑆𝐸(𝐼 2 < 0 ; "𝑁𝐸𝐺"; 𝑆𝐸(𝐼 2 < 40%; "𝑃𝑂𝑆/0"; "𝑊𝑂𝑊")) Vendere 2.350.013 mi comporterebbe un margine di contribuzione pari a - 391. Il rapporto viene negativo perché è stato trovato facendo il rapporto tra margine di contribuzione in valuta/somma delle vendite - 391.703/2.350.013. Non basta avere un margine di contribuzione percentuale, ma è necessario averlo anche in valuta, il quale può essere trovato inserendo la “Somma di Contribuzione Marginale AMT” in Valori e poi nominandola “Margine”. (scritto in maniera più chiara) Se clicco su “Margine %” o su “Margine” e successivamente su “Impostazione Campo valore” posso trovare il nome di origine.
Per prima cosa non è possibile paragonare un mese con 3 mesi (1° quarter completo, il 2° no), ciò che è possibile paragonare però è gennaio con aprile e si può notare che è migliore il 2°. La data è un concetto temporale, per cui è necessario qualificarla. Tolgo “Invoice Date Quarter” e tengo solo “Invoice Date YearMonth” in Righe, cosa si può notare? Che si hanno i mesi però senza l’anno di riferimento, quindi non si può sapere quale anno osservo, per cui l’anno deve essere senza esplicito, la stessa cosa vale per il Quarter (anno-mese, anno- trimestre, anno-settimana). Per cui è stato necessario inserire un’ulteriore colonna “Invoice Fiscal Year QRT” e faccio la solita funzione =CERCA.VERT(N2;Calendar!A:L;12;FALSO), dove la L si riferisce alla colonna “FYQuarter” di Customer. Ora ritorno nella tabella pivot Sales, aggiorno e inserisco in Righe “Invoice Fiscal Year QRT”, oltre “Invoice Year Month”, mantenendo sempre “Sales” in Valori. Per creare un grafico è necessario cliccare sulla tabella pivot e poi su “Analizza”, “Grafico pivot”, “Colonne”, “Cambio tipo di grafico”, ed infine “Linee”. Clicco il tasto destro su “Customer SalesArea”, “Aggiungi come filtro dei dati” e clicco su “EURO”. Limiti :
POTENZIAMENTO EXCEL (POWER PIVOT e POWER QUERY) Il primo passaggio è collegarsi ai dati tramite una sorgente esterna (in questo caso il file di excel “Dataset02”). Le sorgenti sono separate dall’analisi e son di diverso tipo, in diverse location.
tabelle si collegano tra di loro in un cosiddetto modello dati. In sostanza, tra le tabelle creo delle relazioni, in modo da poter recuperare dei dati da ciascuna tabella senza scrivere una riga di CERCA.VERT. Dentro il Data Modeling si arricchiscono i dati tramite colonne, misure (l’equivalente dei campi calcolati ma estremamente più evolute) e volendo, ma non possibile con Power Pivot, tabelle calcolate (con Power BI)
Dopo la BI, viene il BA (Business Analytics). — In Power Pivot, la fase ETL viene eseguita da Power Query. — Il Data Modeling verrà eseguito da Power Pivot, colui che permette di collegare le tabelle. — Il Data Viz verrà eseguito da una tabella Pivot. Per inserire “Power Pivot” nella barra, cliccare su “File”, “Opzioni”, “Componenti aggiuntivi” e poi su Gestisci clicco la freccetta in basso a destra e su “Componenti aggiuntivi COM”, poi su “Vai” e spuntare “Microsoft Power pivot for Excel”. Power Query serve a connettersi ai dati esterni e a recuperare e ripulire dati. Clicco su “Dati” “Recupera Dati”, “Da file” e “Data cartella di lavoro”. Nello Strumento di navigazione appaiono i fogli di lavoro Calendar-Customer-Product-Sales e poiché mi servono tutti, clicco su “Seleziona più elementi” e clicco su tutti i quadratini. Questo processo indica la fase di estrazione. Dopo aver identificato le tabelle, clicco su “Trasforma Dati” poiché ho un problema con la tabella Customer, che in seguito verrà risolto. Se clicco sulla query Sales mi si aprono le Impostazioni della query: Il riquadro Impostazioni Query produce l’elenco dei passaggi applicati nella quary selezionata. Cliccando su ogni passaggio è possibile visualizzare l’anteprima del risultato dello stesso. Passaggi applicati
Come posso pensare che un filtro della colonna Customer (tipo SalesArea) abbia effetto su Sales se non le collego in qualche modo? Per creare una relazione tra tabelle è necessario andare in “Power Pivot”, “Gestisci”, e vedere il modello sul punto di vista del diagramma, posizionare Sales (tabella dei fatti) in basso e in alto le 3 dimensioni. Collego “Cust No” di Sales con “Cust no” di Customer, poiché sono rispettivamente chiave primaria e chiave esterna di una relazione. L’1 indica la chiave primaria, mentre * indica i duplicati. Per vedere le Sales AMT nel tempo, è necessario collegare “Date” di Calendar con “Invoice Date” di Sales. 8336040,42 si riferisce ai ricavi del mese di gennaio, ossia il totale fatturato a gennaio, poiché ho utilizzato “Invoice Date”. Per vedere tutti gli ordini che mi sono arrivati a gennaio avrei dovuto collegare “Order Entry Date” con “Date”. Se faccio il doppio click sulla relazione si apre una finestra che mostra le 2 colonne collegate e cliccando sopra all’intestazione è possibile modificarla. Power Pivot non permette di collegare “Product” di Product con “Product” di Sales, poiché da nessuno dei 2 lati c’è una chiave primaria. La chiave primaria non deve avere valori duplicati e non deve avere valori vuoti.
In tal caso sarà necessario concatenare “Product” e “Production Plan” come su excel, creando la prima colonna calcolata. Per generare una colonna andare su “Vista dati”, seleziono la tabella Product, inserisco una colonna vicino a “Product” e la nomino “Chiave primaria” e nella prima casella inserire ='Product'[Product]&'Product'[Production Plant]; ignorare sempre quando sono nominate senza considerare la tabella. o Prima il nome della tabella e poi il nome della colonna Fare la stessa cosa nella tabella Sales, nominando la nuova colonna con “Chiave straniera Product” (colonna calcolata) e inserire nella prima cella =Sales[Product]&Sales[Production Plant]. Ora è possibile ritornare su “Vista diagramma” e collegare “Chiave primaria” con “Chiave straniera Product”. d’ora in poi in Valori ci vanno solo misure ed è vietato mettere in Colonne, Filtri e Righe colonne che vengono dai fatti, possono essere solo delle dimensioni. Sempre su “Power pivot”, cliccare su “Misure” e su “Nuova misura” per crearne una e su “Gestisci misura” per rinominarla, cancellarla o modificarla. Dopo aver scritto la formula e averla nominata, prima di chiudere cliccare sempre su “Controlla formula” per verificare che non ci siano errori. Se modifico la misura Sales, aumentando i ricavi del 50%, =SUM(Sales[Sales AMT]) *1,5 i ricavi da 37369 634 passano a 56054451, ma perché il prezzo medio non cambia? Poiché nella formula c’è scritto Sales AMT e questo spiega anche il motivo per cui per “Sales” ho creato una nuova misura. Per cui è necessario modificare la formula del Prezzo medio che sarà pari a =[Sales]/[QTY] oppure è possibile scriverla anche in questo seguente modo =DIVIDE([Sales];[QTY]), il significato è lo stesso. — L’annotazione delle colonne è (nome tabella [nome colonna]) — L’annotazione delle misure è [nome misura] Ora si può osservare l’aumento del prezzo. Il prezzo medio è legato ai ricavi, se i ricavi cambiano, il prezzo medio cambia. Togliendo l’1,5 dalla formula della misura Sales i risultati tornano come quelli di partenza.