Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Filtro tabella pivot cap.2

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Filtro tabella pivot cap.2

Postdi fastbike73 » 14/04/18 08:46

Buongiorno a tutto il Forum, vorrei sapere se è possibile utilizzare uno stesso Filtro per 2 tabelle pivot che attingono dati da fogli differenti e nel caso sia possibile mi potreste gentilmente dire come fare?
Nella fattispecie nella mia cartella di lavoro ho il foglio Dati da cui ho creato la tabella pivot (inserita nel foglio Dashboard) e il relativo filtro sequenza temporale, dal foglio Dati1 ho creato un'altra tabella pivot (anch'essa inserita nel foglio Dashboard) e vorrei collegare anche questa tabella al filtro sequenza temporale creato per la prima...
Spero di essere stato abbastanza felice nella spiegazione e confido in un vostro aiuto....
Colgo l'occasione per augurare a tutto il forum un buon we...
fastbike73
fastbike73
Win 7 & Office 2013
Filemaker Pro v. 13
fastbike73
Utente Senior
 
Post: 247
Iscritto il: 23/04/14 10:54

Sponsor
 

Re: Filtro tabella pivot cap.2

Postdi Anthony47 » 14/04/18 18:44

Il time slicer (filtro sequenza temporale) lavora sui dati cache della tabella pivot, quindi puoi collegarlo a tutte le tabelle che hanno la stessa origine dati e la stessa pivotcache (non e' questo il caso che hai descritto); altrimenti la connessione non e' possibile: questa e' la tua situazione.

Puoi pero' impostere un secondo time slicer da far lavorare su una seconda pivotcache e subordinare le impostazioni del secondo time slicer a quelli del primo.

Ad esempio (agganciandomi a quanto avevi descritto qui viewtopic.php?f=26&t=109622 e al file lì pubblicato):
-Il tuo file ha gia un time slicer; tramite Menu /Formule, Gestione nomi cambiagli il nome da SequenzaTemporaleNativa_Data (o come si chiama) in TS_Data1
-Associa un time slicer anche alla tabella pivot avente altra origine dati (e quindi un'altra pivotcache); poi, sempre tramite Menu /Formule, Gestione nomi, cambiagli il nome in TS_Data2

Ora vai nel modulo vba del foglio Dashboard; qui avevamo gia' inserito questa Sub Worksheet_PivotTableUpdate:
Codice: Seleziona tutto
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)     'VECCHIO CODICE
If Target.Name = "Top10_Fam" Then
Application.EnableEvents = False
    If Me.CheckBox1 Then Call CBCheck
Application.EnableEvents = True
End If
End Sub


Aggiungiamoci all'interno il codice per sincronizzare TT_Data2 con i valori di TT_Data1, e diventera':
Codice: Seleziona tutto
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
If Target.Name = "Top10_Fam" Then
Application.EnableEvents = False
    If Me.CheckBox1 Then Call CBCheck
    ActiveWorkbook.SlicerCaches("TS_Data2").ClearDateFilter
    resp = ActiveWorkbook.SlicerCaches("TS_Data2").TimelineState. _
        SetFilterDateRange(Format(ActiveWorkbook.SlicerCaches("TS_data1").TimelineState.StartDate, "dd/mm/yyyy"), _
        Format(ActiveWorkbook.SlicerCaches("TS_data1").TimelineState.EndDate, "dd/mm/yyyy"))
Application.EnableEvents = True
End If
End Sub

Ricorda che la Worksheet_PivotTableUpdate di cui parlo e' quella che si attiva sull'aggiornamento della pivot "Top10_Fam"; se il progetto a cui fai riferimento non e' lo stesso allora devi fare qualche piccolo adattamento al codice per farlo intervenire sull'aggiornamento di una delle pivot pilotate dal time slicer master.

Valuta tu se alla fine e' meglio nascondere il secondo time slicer (io non lo farei)

Ricordo a chi ci legge che parliamo di una prestazione disponibile solo a partire da Excel 2013

Ciao

keywords:
time slicer to work on several pivottables having different data source origin data
Stesso Filtro sequenza temporale su tabelle pivot aventi dati origine diversi
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 15582
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Filtro tabella pivot cap.2

Postdi fastbike73 » 16/04/18 08:46

Buongiorno Anthony, provato ieri a casa su un foglio qualunque ha funzionato. Ti ringrazio per l'aiuto. Perchè non nasconderesti il secondo time slicer? Magari mi puoi insegnare qualche trucco che non so.... ;)
fastbike73
Win 7 & Office 2013
Filemaker Pro v. 13
fastbike73
Utente Senior
 
Post: 247
Iscritto il: 23/04/14 10:54

Re: Filtro tabella pivot cap.2

Postdi fastbike73 » 16/04/18 14:02

Ciao Anthony, ho trovato un evento che causa un errore. Se, dopo aver filtrato per un determinato mese (es. gennaio), tolgo il filtro da TS_Data1 il debug dell'errore mi porta alle seguenti righe di codice:
Codice: Seleziona tutto
 resp = ActiveWorkbook.SlicerCaches("TS_Data2").TimelineState. _
        SetFilterDateRange(Format(ActiveWorkbook.SlicerCaches("TS_Data1").TimelineState.StartDate, "dd/mm/yyyy"), _
        Format(ActiveWorkbook.SlicerCaches("TS_Data1").TimelineState.EndDate, "dd/mm/yyyy"))


Ho fatto anche la prova togliendo prima il filtro da TS_Data2 e poi da TS_Data1 ma l'errore persiste...
Infine, in codice che mi hai fornito per il filtro sequenza temporale può essere usato anche per il "Filtro dati negozio" se ne inserisco un altro connesso alla seconda tabella?
fastbike73
Win 7 & Office 2013
Filemaker Pro v. 13
fastbike73
Utente Senior
 
Post: 247
Iscritto il: 23/04/14 10:54

Re: Filtro tabella pivot cap.2

Postdi Anthony47 » 17/04/18 14:01

Eh gia', il set del secondo time slicer va messo sotto If:
Codice: Seleziona tutto
    ActiveWorkbook.SlicerCaches("TS_Data2").ClearDateFilter
'Segue parte modificata>>>
    If Not ActiveWorkbook.SlicerCaches("TS_data1").FilterCleared Then
    resp = ActiveWorkbook.SlicerCaches("TS_Data2").TimelineState. _
        SetFilterDateRange(Format(ActiveWorkbook.SlicerCaches("TS_data1").TimelineState.StartDate, "dd/mm/yyyy"), _
        Format(ActiveWorkbook.SlicerCaches("TS_data1").TimelineState.EndDate, "dd/mm/yyyy"))
    End If
'<<< Fine parte modificata
Application.EnableEvents = True

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 15582
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Filtro tabella pivot cap.2

Postdi fastbike73 » 17/04/18 15:03

Grazie Anthony, adesso funziona perfettamente.

Buona serata.
fastbike73
Win 7 & Office 2013
Filemaker Pro v. 13
fastbike73
Utente Senior
 
Post: 247
Iscritto il: 23/04/14 10:54


Torna a Applicazioni Office Windows


Topic correlati a "Filtro tabella pivot cap.2":


Chi c’è in linea

Visitano il forum: Nessuno e 21 ospiti