Creazione elemento calcolato in tabella pivot

Anonimo
2022-06-15T23:47:24+00:00

Sto provando a creare un elemento calcolato su una tabella pivot in cui non sto usando campi ripetuti, ma ricevo questo errore:

"Se uno o più campi nella tabella pivot contengono elementi calcolati, non è possibile utilizzare alcun campo nell'area dati due o più volte oppure nell'area dati e in un'altra area contemporaneamente. Se si sta tentando di aggiungere un campo, rimuovere gli elementi calcolati e aggiungerlo di nuovo. Se si sta tentando di aggiungere un elemento calcolato, modificare il rapporto di tabella pivot in modo che nessun campo venga utilizzato più volte, quindi aggiungere l'elemento."

Nessuna di queste eventualità si applica al mio caso. Sto prendendo i dati per la pivot da una tabella ottenuta da Power Query a partire da un CSV, su cui ho svolto alcune operazioni con il power query editor:

  1. Analizzato un campo che conteneva una data
  2. Cambiato tipo a una colonna
  3. Diviso una colonna tramite delimitatore
  4. Rinominate le due nuove colonne
  5. Sostituito il valore null con una stringa
  6. Effettuato il trim di una colonna di testo

Ho provato, su un nuovo workbook a importare il CSV con Power Query ma senza fare modifiche con l'editor e riesco a creare l'elemento calcolato.

Può essere una delle operazioni che ho fatto a creare problemi?

Microsoft 365 e Office | Excel | Altro | MacOS

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più utili
  1. Anonimo
    2022-06-17T15:21:45+00:00

    Ciao Enrico,

    Ho scaricato i tuoi file.

    Il problema che hai riscontrato è dovuto al fatto che la tabella di origine per la tabella pivot contiene un elemento di calcolo implicito: la query che crea la tabella Games divide tutte le Openings tra il nome dell'Opening padre e la variazione.

    Fortunatamente, il tuo problema è soggetto a una soluzione semplice: copia la tabella Games su un nuovo foglio e utilizza il nuovo foglio come origine per la tabella pivot.

    L'aspetto negativo di questo suggerimento è che la tabella di dati copiata non verrà aggiornata automaticamente quando viene aggiornata la query che crea la tabella Games. Per ovviare a questo possibile inconveniente:

    • Fai click sulla linguetta del foglio Data
    • Seleziona l'opzione Visualizza Codice dal **** menu contestuale risultante
    • Incolla il seguente codice:

    '========>>

    Option Explicit

    '-------->>

    Private Sub Worksheet_Change(ByVal Target As Range)

    Dim destSH As Worksheet, pivotSH As Worksheet 
    
    Dim oTable As ListObject, oTable2 As ListObject 
    
    Dim oPivot As PivotTable 
    
    Const sFoglio\_Destinazione As String = **"Data2"               '<<=== Modifica** 
    
    Const sFoglio\_NewPivot As String = **"Pivot2"                    '<<=== Modifica** 
    
    Const sTabella As String = **"Games"                                   '<<=== Modifica** 
    
    Const sTabella2 As String = **"Games2"                               '<<=== Modifica** 
    
    Const sTabella\_NewPivot As String = **"PivotTable2"          '<<=== Modifica** 
    
    With ThisWorkbook 
    
        Set destSH = .Sheets(sFoglio\_Destinazione) 
    
        Set pivotSH = .Sheets(sFoglio\_NewPivot) 
    
    End With 
    
    Set oTable = Me.ListObjects(sTabella) 
    
    Set oTable2 = destSH.ListObjects(sTabella2) 
    
    Set oPivot = pivotSH.PivotTables(sTabella\_NewPivot) 
    
    On Error Resume Next 
    
    oTable2.DataBodyRange.Delete 
    
    On Error GoTo 0 
    
    oTable.DataBodyRange.Copy Destination:=oTable2.Range.Cells(2, 1) 
    
    oPivot.RefreshTable 
    

    End Sub

    '<<========

    • Alt+Q per chiudere l'editor di VBA e tornare a Excel.
    • Salva il file con l'estensione xlsm.

    Ora, ogni volta che i dati della query sul foglio dati vengono aggiornati, la tabella sul foglio Data2 verrà aggiornata in modo corrispondente e verrà aggiornata anche la tabella pivot sul foglio Pivot2.

    Potresti scaricare il mio file di prova Enrico20220617.xlsm

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento