Alcune procedure che permettono di utilizzare in modo più semplice le tabelle pivot anche nel caso siano collegate a dati PowerBI e ottenere dati per le elaborazioni successive.
Elenco delle funzioni presenti in questo modulo
- Mf_Pivot_Filtro : modifca del filtro su una tabella Pivot
- Mf_PBI_Filtro : modifca del filtro su una tabella Pivot collegata a PowerBI
- Mf_PBI_TogliFiltri : toglie filtri da una tabella Pivot collegata a PowerBI
- Mf_Array_Uguale : verifica se due vettori hanno gli stessi elementi (usata in Mf_PBI_Filtro)
- Mf_FiltroAnnoMese : crea un filtro Anno-Mese a partire dall'intervallo fra due date
- Mf_FiltroGiorni : crea un filtro Giorno a partire dall'intervallo fra due date
Come si utilizzano:
Le due procedure sono strutturate per avere lo stesso tipo di parametri in modo da rendere più semplice possibile l'impostazione dei filtri.
I parametri delle due funzioni saranno:
- la tabella pivot;
- il filtro da modificare;
- il valore o l'elenco di valori da impostare
Volendo togliere un filtro sarà sufficiente assegnargli un valore vuoro ("").
Un esempio di impostazione dei filtri di una
tabella Pivot, il filtro Categoria viene tolto e il filtro Gruppo viene impostato ai valori a1 e c1:
Dim PivotExcel
As PivotTable
Set PivotExcel = Fi.PivotTables("PivotExcel")
PivotExcel.ManualUpdate = True
Pivot_Filtro PivotExcel, "Categoria", ""
Pivot_Filtro PivotExcel, "Gruppo", "a1,c1"
PivotExcel.ManualUpdate = False
Nel caso di tabelle collegate a
PowerBI per i nomi dei campi dovremmo usare la sintassi completa del nome della tabella [Tabella].[Campo]. Per aumentare la velocità di esecuzione la procedura effettua una verifica (con Mf_Array_Uguale) e modifica solo il fitri necessari.
Dim PivotPBI
As PivotTable
Set PivotPBI = Fi.PivotTables("PivotPBI")
PivotPBI.ManualUpdate = True
Mf_PBI_Filtro PivotPBI, "[Calendario].[Anno]", "2022,2023"
Mf_PBI_Filtro PivotPBI, "[Prodotto].[Famiglia]", "Congelato,Fresco,Bibite"
PivotPBI.ManualUpdate = False
Volendo togliere più di un filtro alla volta possiamo usare questa funzione, elencando i campi separati da vergole.
Mf_PBI_TogliFiltri PivotPBI, "[Calendario].[Anno],[Prodotto].[Famiglia]"
Per creare un filtro anno-mese per i mesi da gennaio a mazo '24 di questo tipo "202401,202402,202403" possiamo usare questo codice:
DataDal =
DateSerial(2024, 1, 1)
DataAl =
DateSerial(2024, 3, 1)
FiltroMesi = Mf_FiltroAnnoMese(DataDal, DataAl)
Per creare un filtro per singole giornate possiamo usare la funzione Mf_FiltroGiorni:
FiltroGiorni = Mf_FiltroGiorni(DataDal, DataAl)
I file scaricabili associati a questo articolo e il codice delle funzioni sono riservati agli utenti abbonati del sito.
Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.