Menu

La NON vana ricerca del PowerPivot per comuni mortali

La NON vana ricerca del PowerPivot per comuni mortali

Il potente add-in PowerPivot permette di ovviare a una limitazione delle normali tabelle pivot, che agiscono solo su una singola tabella del foglio di lavoro. PowerPivot invece consente analisi multidimensionali su tabelle multiple, attinte da un determinato database. Per chi non dispone, per vari motivi, di PowerPivot può emularlo con un trucco cui non tutti pensano.

di Gianni Giaccaglini

Credo che non tutti conoscano PowerPivot, che in origine fu fornito in forma di (potente) componente aggiuntivo di Excel 2010. Esso potenzia all’estremo la già presente funzionalità tabelle pivot proiettando lo spreadsheet su più avanzate regioni di Business Intelligence (BI). A tale proposito merita di essere segnalato un valido testo dedicato, a cura di due autori italiani (ma finora non ci sembra esista la versione italiana): "POWERPIVOT FOR EXCEL – Give your Data Meaning" di Marco Russo e Alberto Ferrari, Ed. Microsoft Press.

Informazioni sull’add-in (anche in Italiano) si ottengono da: www.powerpivot.com, da cui evinco che attualmente è fruibile sulle piattaforme Office 365, SharePoint e SQL Server con possibilità di eseguire funzioni analitiche sulle basi di dati dell’ultimo.

In un passato non recente ho potuto usare con successo il sottocitato link diretto che gli ha permesso il download in italiano, su un PC Windows 7 (poi up-gradato a Windows 8) dotato di Office 2010:
http://www.microsoft.com/downloads/details.aspx?FamilyID=e081c894-e4ab-42df-8c87-4b99c1f3c49b&displayLang=it

Oggi come oggi, ho provato a eseguire lo stesso accesso da un altro PC Windows XP (macchina tuttora in produzione), ma stavolta senza successo. Ne ho dedotto che per me come, temo, per altra gente PowerPivot è un sogno...

E con Excel 2013? Una specifica versione del famoso add-in era disponibile solo per la speciale edizione Pro. Faticosamente ho da ultimo scoperto che queste funzioni si hanno oggi anche nell'edizione per comuni mortali. I dettagli del tormentone che mi ha portato a tale conclusione per non annoiare li riporto in fondo a questo articolo.

Wikipedia continua a dire che PowerPivot è nativo su una speciale edizione Pro, oltre che su Office 365 & C. Delucidazioni in merito richieste al responsabile Office di Microsoft Italia ha prodotto solo un silenzio, imbarazzante per costui, che qui non voglio nominare. Cerca e ricerca ho scoperto quest’altro URL:
http://office.microsoft.com/it-it/excel-help/start-power-pivot-in-microsoft-excel-2013-add-in-HA102837097aspx

Tale pagina web conferma a prima vista quanto dice Wikipedia: PowerPivot per Excel 2013 è presente nella versione Professional Plus di Office 2013, oltre che in Office 365, sempre in edizione pregiata.

Più sotto, si parla di un add-in ad hoc che va caricato in quanto assente per difetto. L’informazione mi ha indotto a sperare che il dannato additivo fosse ottenibile pure con la mia normale edizione Home & Student. Seguendo le istruzioni fornite l’ho cercato invano tra i componenti aggiuntivi COM.

Dunque per studiare PowerPivot è gioco forza accontentarsi dell’Excel 2010 che attrezzai col sospirato add-in? NIENTE AFFATTO! Con un po' di pazienza ho scoperto le mosse seguenti:

  1. Dalla Tab Dati scagliere Da Access, quindi reperire sul proprio PC Northwind.mdb e dare l'OK
  2. Dalla finestra Seleziona tabella già vista all'inizio spuntare la casella in alto Abilita la selezione di più tabelle. Sorpresa! Compaiono ora i campi di TUTTE le tabelle Northwind, recanti sulla sinistra caselline di spunta.
  3. Spuntare, secondo ragione, i campi che interessano di ciascuna tabella e, al termine, dare l'OK.

PowerPivot-01

Primo tentativo del trucco, con un Database Access

Vediamo subito le operazioni necessarie. Attivato, se occorre, il Foglio1 di Excel dalla tab Dati optare per Da Access, quindi reperire il ben noto FPNWIND.mdb (Northwind, per gli amici) presente in tutti o quasi i PC.

Dalla finestra Seleziona tabella di Northwind scegliere poi Categorie. Successivamente si attivi il secondo foglio ripetendo le stesse operazioni con un’altra tabella Excel, riversandola sul Foglio2.

Per non farla lunga, nella figura 2 illustro il risultato finale di un mio antico procedimento.

La cosa è stata ottenuta partendo da una tabella originaria posta in A:E nel foglio denominato DettagliOrdini, ovverosia i campi da IDOrdine a Sconto, e aggiungendo in colonna F un ulteriore campo Nome, nei cui record da riga 2 in giù è stata inserita la formula seguente:

=CERCA.VERT(B2;Prodotti!$A$2:$B$78;2)

PowerPivot-Fig-02.

 

Che cos’è mai Prodotti? È il nome, sempre temporibus illis, da me affibbiato al primo foglio posto alla sinistra di DettagliOrdini ove scaricai un’omonima tabella. Questa nelle due prime colonne si presenta grossomodo così (taluni nomi sono fantasiosi):

IDOrdine

Nome

1

Lasagne alla bolognese

2

Chang

3

Carciofi alla giudia

4

Pommes de terre aux truffes

5

Kebup turco

6

Chartreuse verte

7

Quel che vi pare

Eccetera

 

I buoni intenditori cui mi rivolgo ben intendono che la predetta funzione CERCA.VERT “pesca” il campo nome dalla seconda tabella sita nel Foglio1.

A quel punto si può applicare la normale funzionalità tabelle pivot, incrociando anche il Nome, in prima battuta mancante negli ordini.

Il terzo foglio Tabella pivot lo lascio all’immaginario collettivo (i manzoniani 25 lettori di questo post). Infine l’estensione del metodo a una terza tabella, diciamo la Categoria di Northwind, viene lasciata per esercizio: basta scaricarla in un ulteriore foglio di lavoro e via di questo passo.

Un semplice esercizio didattico

Per comprendere in modo diretto, didatticamente, il trucco proposto si compiano i passi seguenti.
Si crei nel Foglio1 di un modello Excel, a partire dalla cella A1 la semplicissima tabella di ordinativi seguente (si noti che lo Sconto è in formato percentuale, ma i valori di fatto sono valori da 0 a 1):

IdProd

Cliente

Quant

Sconto

2

Rossi

25

5,00%

4

Verdi

34

2,00%

1

Pieri

50

4,00%

3

Rossi

27

 

1

Pieri

48

10,00%

1

Verdi

20

2,00%

3

Pieri

20

 

4

Rossi

48

2,00%

Ricordo e insisto che in problemi come questo è importante che, una volta creato un intervallo del genere, lo si traduca in una tabella vera e propria tramite

1. Selezionare lo stesso;

2.Dalla tab Inserisci scegliere Tabella;

3. Nella finestra Crea Tabella spuntare la casellina Con intestazioni.

Sul Foglio2 vanno compiute analoghe mosse per ottenere una tabella di prodotti risibile (ma a beneficio di noi pigri) come in figura:

IdProd

Prodotto

Prezzo

1

Mele

€ 2,00

2

Pere

€ 3,00

3

Pesche

€ 3,50

4

Susine

€ 2,50

5

Ciliegie

€ 4,00

In entrambe le tabelline dovrebbero venir automaticamente assegnati i nomi Tabella1 e, rispettivamente, Tabella2, relativi – si badi bene – ai soli record, ovvero al netto delle testate dei campi.

Tornando al primo foglio di lavoro si aggiungano sulla destra i campi Importo e Prodotto. Per la magia degli oggetti tabella di Excel è sufficiente inserire, nelle due celle accanto alla testata Sconto, le etichette predette, dopo di che si assiste all’apparizione delle tipiche freccine di caselle a discese nelle neonate intestazioni e, nelle celle sottostanti, il regolare alternarsi di fondi azzurrini e bianchi per lettura facilitata.

La situazione, dopo le operazioni che mi accingo a descrivere, sarà la seguente (e si noti, en passant, che il nome Tabella1 comprende ora pure i record dei campi aggiuntivi).

IdProd

Cliente

Quant

Sconto

Importo

Prodotto

2

Rossi

25

5,00%

€ 71,25

Pere

4

Verdi

34

2,00%

€ 83,30

Susine

1

Pieri

50

4,00%

€ 96,00

Mele

3

Rossi

27

 

€ 94,50

Pesche

1

Pieri

48

10,00%

€ 86,40

Mele

1

Verdi

20

2,00%

€ 39,20

Mele

3

Pieri

20

 

€ 70,00

Pesche

4

Rossi

48

2,00%

€ 117,60

Susine

Nel nuovo campo Prodotto la formula è questa:
=CERCA.VERT([@IdProd];Tabella2[[IdProd]:[Prodotto]];2)

Mentre nei record dell’Importo se ne ha una ancor più sofisticata:
=CERCA([@IdProd];Tabella2[#Tutti])*[@Quant]*(1-[@Sconto])

Entrambe le formule, più parlanti della CERCA.VERT applicata a un (normale) intervallo sono state ricavate selezionando interattivamente, e con precisione e pazienza, i vari argomenti. La prima dice che il lookup del campo IdProd della tabella corrente (@IdProd) attinge dai campi da IndProd a Prodotto ma inerenti alla Tabella2.

La seconda formula usa la più semplice funzione CERCA, con pescaggio sempre dalla Tabella2 ma con l’argomento [#Tutti], che confesso di aver fin qui ignorato. Esso fa sì che il risultato sia prelevato dall’ultima colonna di Tabella2. Il tutto viene moltiplicato per la quantità (@Quant) e infine scontato col coefficiente (1-[@Sconto]).

Insomma, chi non l’avesse capito, in partenza avevamo solo la quantità e lo sconto e l’importo è stato valorizzato con il prezzo standard.

A questo punto non resta che lanciare i noti comandi per creare una pivot con tanto di grafico pivot, incrociando tutti e tre i campi, Cliente, Importo e Prodotto.

Il risultato, sul terzo foglio, è auto-evidente:

PowerPivot-Fig-03

Nota. Il file PowerPivotEmulato.xlsx, caricato sul table Surface, funziona regolarmente. Si aggiunga che sotto il sistema RT di Surface PowerPivot è supportato manco per niente, lo dice chiaramente il succitato link relativo a PowerPivot.

Ultim’ora: PowerPivot esiste pure su un normale Excel 2013

Wikipedia continua a dire che PowerPivot è nativo su una speciale edizione Pro, oltre che su Office 365 & C. Delucidazioni in merito richieste al responsabile Office di Microsoft Italia ha prodotto solo un silenzio, imbarazzante per costui, che qui non voglio nominare.

Cerca e ricerca, frugando sul sito Microsoft ho scoperto una pagina che conferma a prima vista quanto dice Wikipedia: PowerPivot per Excel 2013 è presente nella versione Professional Plus di Office 2013, oltre che in Office 365, sempre in edizione pregiata. Più sotto si parla di un add-in ad hoc che va caricato in quanto assente per difetto. L’informazione mi ha indotto a sperare che il dannato additivo fosse ottenibile pure con la mia normale edizione Home & Student. Seguendo le istruzioni fornite l’ho cercato invano tra i componenti aggiuntivi COM.

Dunque per studiare PowerPivot è gioco forza accontentarsi dell’Excel 2010 che attrezzai col sospirato add-in?

NIENTE AFFATTO! Con un po' di pazienza ho scoperto le mosse seguenti:

  1. Dalla Tab Dati scagliere Da Access, quindi reperire sul proprio PC Northwind.mdb e dare l'OK
  2. PowerPivot-04Dalla finestra Seleziona tabella già vista all'inizio spuntare la casella in alto Abilita la selezione di più tabelle. Sorpresa! Compaiono ora i campi di TUTTE le tabelle Northwind, recanti sulla sinistra caselline di spunta.
  3. Spuntare, secondo ragione, i campi che interessano di ciascuna tabella e, al termine, dare l'OK.
  4. Scegliere Importa dati > Nel foglio ciorrente. Seconda sorpresa! Compare sutomaticamente lo schema per creazione di tabelle pivot. La novità è che sul riquadro di destra Campi tabella pivot l'utente dispone di tutti i campi scelti delle tabelle multiple di cui al passo 3.

Alla fine si ottiene sul foglio di lavoro la tabella pivot progettata. Si noterà che viene saltato qualsiasi passaggio di caricamento delle tabelle prescelte.

ULTIME PRECISAZIONI

Il PowerPivot più potente è, di fatto, caratterizzato da uno speciale ambiente,. ESTERNO agli spreadsheet normali, dalle seguenti caratteristiche:

- le tabelle attinte da uno o più database sono caricate in formato compresso, il che riduce drasticamente lo spazio occupato;

- le formule e funzioni Excel NON sono supportate, mentre esiste un particolare linguaggio specifico.

I pro e i contro delle tabelle pivot sul foglio o sul predetto ambiente speciale sono chiare: usabilità del vasto repertorio classico di Excel nel primo caso, mentre nel secondo alla riduzione dello spazio (basilare coi grandi basi di dati) si unisce la necessità di apprendere nozioni nuove.

Per queste faccende si veda il libro Microsoft Presse POWER PIVOT FOR EXCEL 2010 di Ferrari e Russo.

Sul sito Microsoft troviamo poi informazioni secondo cui tale PowerPivot, diciamo così, "verace" può essere caricato anche in Excel 2013, in aggiunta alle funzioni "native" per tabelle pivot descritte al paragrafo precedente. Noi però abbiamo constatato che tale speciale add-in (del tipo .com) NON fa parte del repertoria della versione  Home & Student 2013. Ne arguiamo che occorre una misteriosa versione Professional oppure Office 365, sempre professional.

Concludendo...

Il metodo visto non rivaleggia certo col le funzionalità PowerPivot che oggi sono disponibili anche per il normale Excel 2013. Tuttavia il metodo descritto, oltre che a vantaggio di chi non lo possiede né ha pototo scaricare l'add-in per Excel 2010 ha due piccoli pregi:
- semplicità del procedimento (facilitato dalla vista delle tabelle scaricate sui vari fogli;
- possibilità di campi aggiuntivi CALCOLATI, che salvo errori neanche in Excel 2013 sembra possibile.

Ultima modifica ilGiovedì, 19 Giugno 2014 16:07

Aggiungi commento


Codice di sicurezza
Aggiorna

Torna in alto