PowerPivot e DAX          Marco Pozzan          BI Analyst , 1NN0VA          info@marcopozzan.it          www.marcopozzan....
Agenda:      Che cosa è PowerPivot?      Installazione PowerPivot      Demo su powerpivot      Che cosa è DAX?      C...
PowerPivot per l’utente        Free AddIn per Microsoft Excel 2010        Diverse versioni per 32/64 bit        Non ser...
PowerPivot per il tecnico       Client: SSAS Engine gira in-process con        Excel       Server: Integrato su SharePoi...
Nuovo engine SSAS 2012       PowerPivot = DB colonnare Vertipaq             Database colonnare alta compressione       ...
Installazione       Si scarica da www.powerpivot.com       Si esegue il setup       Compare un nuovo tab nel ribbon di ...
CLIPBOARD           DATI ESTERNI              CREA PIVOT TABLE        ORGANIZZA              ABILITA            APRE      ...
Demo 0      Demo       Importare i dati       Relazioni tra tabelle       Slicer       Colonne calcolate       Misure...
Vantaggi PowerPivot       Rapidità             No ETL             Modello metadati             Integrazione sorgenti e...
Svantaggi PowerPivot       Non ci sono Etl per pulire i dati       Qualità del dato?       Volume di dati      Attenzio...
Che cosa è DAX?       Progettato per lavorare all’interno di        una PivotTable       PowerPivot si programma in DAX ...
Tipi di dato in DAX 2/2       Operator Overloading (pericoloso )             Gli operatori non sono strongly typed     ...
Tipi di dato in DAX 2/2       Currency       Integer       Real       String       Date (DateTime)       TRUE / FALS...
Colonne in DAX 1/2       TableName’[ColumnName]       Gli apici possono essere omessi solo se        la TableName non co...
Colonne in DAX 2/2       TableName può essere omesso e        quindi cercherà nella tabella corrente            Meglio no...
Colonne calcolate 1/2       Usano altre colonne       Lavorano sempre nella «riga corrente»             In SSAS sono vi...
Colonne calcolate 2/2       Se scriviamo la seguente espressione:           intendiamo:             Il valore della colo...
Misure       Si scrivono con DAX       Non sono memorizzate sul database       Non lavorano riga per riga       Usano ...
Problema       Supponiamo di voler calcolare il        margine con una colonna calcolata:          Per poi voler calcolar...
Demo 1      Applicazione nella Pivot       Usiamo la colonna del        margine in percentuale        nella tabella pivot...
Proviamo con una misura ?Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
modiche alla formula       Il valore del SalesAmount non può        essere calcolato nel contesto corrente        perché ...
Demo 1      Soluzione con le misure         Devo usare una funzione per          trasformare il riferimento di colonna in...
Conclusioni       colonne calcolate puntano a colonne e        le misure necessitano di aggregazioni       le colonne us...
Quando usare colonne o      misure ?       C:Il valore deve rimanere scritto nella        tabella (filtrare o fare slicin...
Funzioni conteggio       Funzioni per contare i valori:             COUNTROWS: conta le righe in tabella             CO...
Funzioni sulle date       DATE, DATEVALUE, DAY, EDATE,       EOMONTH, HOUR, MINUTE,       MONTH, NOW, SECOND, TIME,    ...
Demo 1      Problema con le funzioni       Non posso aggregare su espressioni       tipo: SUM([SalesAmount] * [Quantity]) ...
Soluzione       (SUMX,MINX,…) sono le funzioni X       Scorrono la tabella e calcolano        l’espressione di ogni riga...
Considerazioni funzioni X       Le colonne devono essere tutte sulla        stessa tabella oppure uso related (se        ...
Evaluation context 1/3       Caratterizza DAX da qualsiasi altro        linguaggio.       Sono simili alle clausole wher...
Evaluation context 2/3       Filter Context:             Set di righe attive per il calcolo che poi              vengono...
Demo 2   Filter context per ottenere 46 e 13: Filtra i   dati per anno 2010 e 2011 e prendi la squadra   locale «bari» e n...
Evaluation context 3/3       Row Context:             Contiene una sola riga             Riga corrente durante i loop  ...
Demo 2   Creiamo una misura «Finalizzazione»   Rappresenta la media tra la differenza dei    tiri in porta e dei gol per...
Demo   Filter context per 11: Filtra i dati per          AVERAGEX   20 – 5 = 15   anno 2010 e 2011 e prendi la squadra    ...
I due esistono sempre       Filter context:             Filtra le tabelle             Può essere vuoto: si vede solo il...
E con più tabelle?       Filter context:             Il filtro segue le relazioni             Esempio (Ordini –> Prodot...
Sono modificabili?       Sono modificabili dall’ utente usando        la PivotTable o da codice in questo        modo:   ...
Operatività di Filter       filter opera su intere tabelle             1-Prendono una tabella 2-Aggiungono un           ...
Demo 3   Creiamo una misura «Aggiungi Filtro»   Rappresenta la media tra la differenza dei    tiri in porta e dei gol pe...
Demo 3   Creiamo una misura «Rimuovi Filtro»   Rappresenta la media tra la differenza dei    tiri in porta e dei gol per...
Demo 3   Creiamo una misura «Mescolare Filtri»   Rappresenta la media tra la differenza dei    tiri in porta e dei gol p...
Funzione Calculate       E’ una funzione molto potente e        complicata       Sintassi:             CALCULATE(      ...
Demo 4   Creiamo una misura «Calculate»   Rappresenta la media tra la differenza dei    tiri in porta e dei gol per la s...
Esempio praticoProblema: Media punteggio       Per calcolare la media mobile del        punteggio devo sapere giorno per ...
Esempio pratico      Soluzione: Numero giorni      =COUNTROWS(             FILTER( SerieA,SerieA[Date] <= EARLIER(SerieA[D...
Soluzione: 1 del range      =Calculate(           values(SerieA[Date]),           filter(SerieA,SerieA[Numero di giorni] =...
Esempio pratico      Soluzione: Media 14 gg      =CALCULATE(         AVERAGE(SerieA[Punteggio]),        FILTER(SerieA,Seri...
Esempio pratico      Risultato formuleSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Esempio praticoSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
Book       Power Pivot for Excel 2010              Autori: Marco Russo e Alberto Ferrari              ISBN: 978-0735640...
Upcoming SlideShare
Loading in …5
×

PowerPivot e Dax

1,765 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,765
On SlideShare
0
From Embeds
0
Number of Embeds
491
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PowerPivot e Dax

  1. 1. PowerPivot e DAX Marco Pozzan BI Analyst , 1NN0VA info@marcopozzan.it www.marcopozzan.itSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  2. 2. Agenda:  Che cosa è PowerPivot?  Installazione PowerPivot  Demo su powerpivot  Che cosa è DAX?  Colonne calcolate  Evaluation Context  Esempio pratico in DAXSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  3. 3. PowerPivot per l’utente  Free AddIn per Microsoft Excel 2010  Diverse versioni per 32/64 bit  Non servono SQL Server o altri prerequisiti  Scaricabile dal www.powerpivot.com  Versione corrente: 1.0Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  4. 4. PowerPivot per il tecnico  Client: SSAS Engine gira in-process con Excel  Server: Integrato su SharePoint e SQL Server 2008 R2 e Sql Server 2012  Interrogabile in MDX/DAX e programmabile in DAX  Potente motore di analisi basato su SSAS 2012Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  5. 5. Nuovo engine SSAS 2012  PowerPivot = DB colonnare Vertipaq  Database colonnare alta compressione  Lavora completamente in memoria  Niente I/O, aggregazioni o altro…  Ottimizzazioni su cache L2 single core  IMBI = Nuovo modo di pensare agli algoritmiSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  6. 6. Installazione  Si scarica da www.powerpivot.com  Si esegue il setup  Compare un nuovo tab nel ribbon di excel 2010: PowerPivotSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  7. 7. CLIPBOARD DATI ESTERNI CREA PIVOT TABLE ORGANIZZA ABILITA APRE RELAZIONI METADATI COLONNE RICALCOLO CONESSIONE TRA TABELLE AUTOMATICOSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  8. 8. Demo 0 Demo  Importare i dati  Relazioni tra tabelle  Slicer  Colonne calcolate  Misure  Linked TableSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  9. 9. Vantaggi PowerPivot  Rapidità  No ETL  Modello metadati  Integrazione sorgenti eterogenee  Condivisione  Soprattutto con sharepoint  Espressività  Relazioni e DaxSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  10. 10. Svantaggi PowerPivot  Non ci sono Etl per pulire i dati  Qualità del dato?  Volume di dati Attenzione che questi non sono problemi!!! Come potrebbero sembrare. Cari i miei consulenti rimarrete senza lavoro? Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  11. 11. Che cosa è DAX?  Progettato per lavorare all’interno di una PivotTable  PowerPivot si programma in DAX  Simile ad Excel (Dicono )  Nessun concetto di «riga» e «colonna»  Diverso sistema di tipiSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  12. 12. Tipi di dato in DAX 2/2  Operator Overloading (pericoloso )  Gli operatori non sono strongly typed  Il risultato dipende dall’input  Esempio di conversioni  1 & 2 = "12"  "1" + "2" = 3Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN) www.1nn0va.netCodice fiscale: 91068510931 info@1nn0va.net
  13. 13. Tipi di dato in DAX 2/2  Currency  Integer  Real  String  Date (DateTime)  TRUE / FALSE (Boolean)Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  14. 14. Colonne in DAX 1/2  TableName’[ColumnName]  Gli apici possono essere omessi solo se la TableName non contiene spazi (Non lo fate )Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  15. 15. Colonne in DAX 2/2  TableName può essere omesso e quindi cercherà nella tabella corrente Meglio non farlo in quanto si fatica a capire le formule  Le parentesi quadre sono obbligatorieSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  16. 16. Colonne calcolate 1/2  Usano altre colonne  Lavorano sempre nella «riga corrente»  In SSAS sono viste locali (DSV) su riga corrente, in PowerPoint ho l’accesso totale al modello dati.Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  17. 17. Colonne calcolate 2/2  Se scriviamo la seguente espressione: intendiamo:  Il valore della colonna SalesAmount  Nella tabella FactInternetSales  Vale sulla riga corrente  Ha un valore diverso per ogni rigaSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  18. 18. Misure  Si scrivono con DAX  Non sono memorizzate sul database  Non lavorano riga per riga  Usano tabelle ed aggregatori  Non hanno il concetto di «riga corrente»Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  19. 19. Problema  Supponiamo di voler calcolare il margine con una colonna calcolata: Per poi voler calcolare la % del margine rispetto al fatturato con una colonna calcolata:Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  20. 20. Demo 1 Applicazione nella Pivot  Usiamo la colonna del margine in percentuale nella tabella pivot (errore)Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  21. 21. Proviamo con una misura ?Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  22. 22. modiche alla formula  Il valore del SalesAmount non può essere calcolato nel contesto corrente perché non sono in una tabella ma nella tabella pivot e quindi non c’è:  Concetto di Riga  Concetto di Riga corrente  Non c’è il valore in quel momentoSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  23. 23. Demo 1 Soluzione con le misure  Devo usare una funzione per trasformare il riferimento di colonna in un valore!!!Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  24. 24. Conclusioni  colonne calcolate puntano a colonne e le misure necessitano di aggregazioni  le colonne usano spazio le misure CPU  Vengono calcolate in momenti diversi  Hanno scopi diversi  Hanno strutture diverse  Vengono gestite in modi diversiSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  25. 25. Quando usare colonne o misure ?  C:Il valore deve rimanere scritto nella tabella (filtrare o fare slicing)  C:L’espressione deve essere calcolata riga per riga  M: Servono aggregazioni un po’ strane (Last Child ….)  M:Calcolare rapporti, percentuali..Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  26. 26. Funzioni conteggio  Funzioni per contare i valori:  COUNTROWS: conta le righe in tabella  COUNTBLANK: conta i bianchi  COUNTA: conta tutto anche gli spazi  COUNT : conta solo le colonne numericheSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  27. 27. Funzioni sulle date  DATE, DATEVALUE, DAY, EDATE,  EOMONTH, HOUR, MINUTE,  MONTH, NOW, SECOND, TIME,  TIMEVALUE, TODAY, WEEKDAY, WEEKNUM, YE AR, YEARFRAC Funzioni statistiche  Lavorano solo su colonne numeriche  Per aggregare valori: SUM,AVERANGESede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  28. 28. Demo 1 Problema con le funzioni Non posso aggregare su espressioni tipo: SUM([SalesAmount] * [Quantity]) Motivo: In DAX tutto ciò che non è ottimizzato non è nel sistema => colpa vostra se non va Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  29. 29. Soluzione  (SUMX,MINX,…) sono le funzioni X  Scorrono la tabella e calcolano l’espressione di ogni riga aggregando  hanno sempre due parametri la tabella su cui ciclare e la formula da valutare  SUMX(FactInternetSales, [SalesAmount] * [Quantity])Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  30. 30. Considerazioni funzioni X  Le colonne devono essere tutte sulla stessa tabella oppure uso related (se c’è una relazione)  Sono molto lente ma non uso spazio  In alternativa alle funzioni x devo creare una colonna calcolata e poi aggregare su quella  molto veloce ma uso spazioSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  31. 31. Evaluation context 1/3  Caratterizza DAX da qualsiasi altro linguaggio.  Sono simili alle clausole where delle query MDX in SSAS.  Contesto in cui viene valutata una formula.  Filter Context , RowContextSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  32. 32. Evaluation context 2/3  Filter Context:  Set di righe attive per il calcolo che poi vengono aggregate  Uno per ogni cella della PivotTable  Definito da filtri, righe ,colonne e slicersSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  33. 33. Demo 2 Filter context per ottenere 46 e 13: Filtra i dati per anno 2010 e 2011 e prendi la squadra locale «bari» e nella prima riga filtra per pareggio (0) e nella seconda riga per vittoria dei locali (1). Filter context per totale: Filtra i dati per anno 2010 e 2011 e prendi la squadra locale «bari» e nella prima riga filtra per pareggio (0) e nella seconda riga per vittoria dei locali (1).Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  34. 34. Evaluation context 3/3  Row Context:  Contiene una sola riga  Riga corrente durante i loop  Definito dalle formule x non dalla tabella Pivot  Questo concetto è nuovo rispetto MDX perché non siamo abituati a lavorare foglia per foglia ma solo sul contesto.Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  35. 35. Demo 2  Creiamo una misura «Finalizzazione»  Rappresenta la media tra la differenza dei tiri in porta e dei gol per la squadra locale  Utilizziamo la AVERAGEXSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  36. 36. Demo Filter context per 11: Filtra i dati per AVERAGEX 20 – 5 = 15 anno 2010 e 2011 e prendi la squadra 15 – 8 = 7 locale «bari» e filtra per vittoria dei locali (15 +7) / 2 = 11 (1). =AVERAGEX(vw_fact_per_powerpivot,vw_ fact_per_powerpivot[T squadra locale]- vw_fact_per_powerpivot[T in porta locale])Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  37. 37. I due esistono sempre  Filter context:  Filtra le tabelle  Può essere vuoto: si vede solo il totale  Row context:  Naviga le righe attive nel filter context  Può essere vuoto: non ci sono interazioniSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  38. 38. E con più tabelle?  Filter context:  Il filtro segue le relazioni  Esempio (Ordini –> Prodotti)  si applica una volta sola (+ performance)  Row context:  Se ne frega delle relazioni  - performance (row context ha velocità)  Posso usare il comando RELATEDSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  39. 39. Sono modificabili?  Sono modificabili dall’ utente usando la PivotTable o da codice in questo modo:  Aggiungendo condizioni (restringo il filtro) FILTER  Rimuovendo condizioni (allargo il filtro) ALL  Creare un nuovo filtro completamente diverso FILTER + ALLSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  40. 40. Operatività di Filter  filter opera su intere tabelle  1-Prendono una tabella 2-Aggiungono un filtro e 3-restituiscono la tabella Considerazioni su ALL  Per eliminare un filtro usiamo ALL  Ritorna tutta la tabella  E’ una limitazione e non possiamo rimuovere il filtro di una sola colonnaSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  41. 41. Demo 3  Creiamo una misura «Aggiungi Filtro»  Rappresenta la media tra la differenza dei tiri in porta e dei gol per la squadra locale soltanto nelle partite in cui ha segnato un gol Filtro da applicare Tabella su cui iterare=AVERAGEX( FILTER( vw_fact_per_powerpivot, vw_fact_per_powerpivot[G squadra locale] = 1 ), vw_fact_per_powerpivot[T squadra locale]-vw_fact_per_powerpivot[G in porta locale] )Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  42. 42. Demo 3  Creiamo una misura «Rimuovi Filtro»  Rappresenta la media tra la differenza dei tiri in porta e dei gol per la squadra rimuovendo tutti i filtri presenti Filtro da applicare Tabella su cui iterare=AVERAGEX( ALL(vw_fact_per_powerpivot), vw_fact_per_powerpivot[T squadra locale]-vw_fact_per_powerpivot[G in porta locale] )Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  43. 43. Demo 3  Creiamo una misura «Mescolare Filtri»  Rappresenta la media tra la differenza dei tiri in porta e dei gol per la squadra mettendo assieme i due filtri visti Filtro da applicare Rimuovendo i filtri poi itera su tutta la tabella=AVERAGEX( FILTER( ALL(vw_fact_per_powerpivot), vw_fact_per_powerpivot[G squadra locale] = 1 ), vw_fact_per_powerpivot[T squadra locale]-vw_fact_per_powerpivot[G in porta locale] )Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  44. 44. Funzione Calculate  E’ una funzione molto potente e complicata  Sintassi:  CALCULATE( Expression, Filter1, …. FilterN )Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  45. 45. Demo 4  Creiamo una misura «Calculate»  Rappresenta la media tra la differenza dei tiri in porta e dei gol per la squadra locale ignorando solo il filter context del anno Filtro da applicare Calcola la media sulle righe filtrate=CALCULATE( AVERAGEX( vw_fact_per_powerpivot, vw_fact_per_powerpivot[T squadra locale]-vw_fact_per_powerpivot[G in porta locale] ), vw_fact_per_powerpivot[G squadra locale] = 1, vw_fact_per_powerpivot[Risultato] = 0 )Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  46. 46. Esempio praticoProblema: Media punteggio  Per calcolare la media mobile del punteggio devo sapere giorno per giorno quale è il risultato che sta 14 risultati prima.  In excel si fa riferimento alla riga corrente – 14 ... Ma non ho il concetto di riga e colonna non abbiamo riferimenti assoluti  Uso le colonne calcolate!!!!Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  47. 47. Esempio pratico Soluzione: Numero giorni =COUNTROWS( FILTER( SerieA,SerieA[Date] <= EARLIER(SerieA[Date]) && SerieA[Squadra in casa] = EARLIER( SerieA[Squadra in casa]) ) ) Earlier = entra nel row context precedente a quello introdotto dalla filterSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  48. 48. Soluzione: 1 del range =Calculate( values(SerieA[Date]), filter(SerieA,SerieA[Numero di giorni] = EARLIER( SerieA[Numero di giorni])- 14 && SerieA[Squadra in casa] =EARLIER( SerieA[Squadra in casa]) ) ) Values = calcola il valore di una colonna se ne ho tanti fa la distinctSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  49. 49. Esempio pratico Soluzione: Media 14 gg =CALCULATE( AVERAGE(SerieA[Punteggio]), FILTER(SerieA,SerieA[Date] >= EARLIER(SerieA[Primo giorno del range di 14]) && SerieA[Date] <= EARLIER(SerieA[Date]) && SerieA[Squadra in casa]=EARLIER( SerieA[Squadra in casa] ) ) ) calcola la media di tutti i punteggi nelle varie date tra la data corrente e quella che sta 14 giorni primaSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  50. 50. Esempio pratico Risultato formuleSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  51. 51. Esempio praticoSede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931
  52. 52. Book  Power Pivot for Excel 2010  Autori: Marco Russo e Alberto Ferrari  ISBN: 978-0735640580Sede Legale: Via Monte Coglians, 8 – PORCIA – (PN)Codice fiscale: 91068510931

×