Condividi tramite


Aggiungere una colonna condizionale

Con Power Query è possibile creare nuove colonne i cui valori sono basati su una o più condizioni applicate ad altre colonne della tabella.

Il comando Colonna condizionale si trova nella scheda Aggiungi colonna nel gruppo Generale .

Screenshot of the Power Query ribbon with the Add column tab open and the Conditional column option emphasized.

Aggiunta di una colonna condizionale

In questo esempio si usa la tabella illustrata nell'immagine seguente.

Screenshot of the sample table to use when adding a conditional column.

In questa tabella è presente un campo che fornisce il CustomerGroup. Sono inoltre disponibili prezzi diversi applicabili al cliente nei campi Tier 1 Price, Tier 2 Price e Tier 3 Price . In questo esempio l'obiettivo è creare una nuova colonna con il nome Final Price in base al valore trovato nel campo CustomerGroup . Se il valore nel campo CustomerGroup è uguale a 1, si vuole usare il valore del campo Livello 1 Prezzo . In caso contrario, si usa il valore del prezzo di livello 3.

Per aggiungere questa colonna condizionale, selezionare Colonna condizionale. Nella finestra di dialogo Aggiungi colonna condizionale definire le sezioni seguenti:

  • Nome nuova colonna: definisce il nome della nuova colonna. In questo esempio usare il nome Final Price.
  • Clausole condizionali: definisce le clausole condizionali. È possibile aggiungere altre clausole selezionando Aggiungi clausola. Ogni clausola condizionale viene testata nell'ordine visualizzato nella finestra di dialogo, dall'alto verso il basso. Ogni clausola ha quattro parti:
    • Nome colonna: nell'elenco a discesa selezionare la colonna da usare per il test condizionale. Per questo esempio, selezionare CustomerGroup.
    • Operatore: selezionare il tipo di test o operatore per il test condizionale. In questo esempio, il valore della colonna CustomerGroup deve essere uguale a 1, quindi selezionare uguale a .
    • Valore: immettere un valore o selezionare una colonna da usare per il test condizionale. Per questo esempio, immettere 1.
    • Output: se il test è positivo, il valore immesso qui o la colonna selezionata è l'output. Per questo esempio, se il valore di CustomerGroup è uguale a 1, il valore di Output deve essere il valore della colonna Tier 1 Price .
  • Clausola Final Else: se nessuna delle clausole precedenti restituisce un test positivo, l'output di questa operazione è quello definito qui, come valore immesso manualmente o come valore di una colonna. In questo caso, l'output è il valore della colonna Tier 3 Price.In this case, the output is the value from the Tier 3 Price column.

Screenshot of the Add conditional column dialog with all of the example values filled in.

Il risultato di questa operazione offre una nuova colonna Final Price contenente i valori delle colonne Tier 1 Price e Tier 3 price.

Screenshot of the table with the Final Price column containing the Any data type produced by the example conditional clauses.

Nota

Le nuove colonne condizionali non hanno un tipo di dati definito. È possibile aggiungere un nuovo passaggio per definire un tipo di dati per questa colonna appena creata seguendo i passaggi descritti in Tipi di dati in Power Query.

Aggiunta e organizzazione di più clausole

Per questo esempio, è possibile modificare l'obiettivo. Le nuove clausole condizionali sono:

  • Se il valore della colonna CustomerGroup è uguale a 1, l'output è il valore della colonna Tier 1 Price.
  • Se il valore della colonna CustomerGroup è uguale a 2, l'output è il valore della colonna Tier 2 Price.
  • Se nessuno dei test precedenti è positivo, l'output è il valore della colonna Livello 3 Price.

Screenshot of Add conditional column with two different conditional clauses defined for the values of the Final Price column.

Nota

Alla fine di ogni clausola, è possibile selezionare il pulsante con i puntini di sospensione (...) per eliminare, spostare verso l'alto o spostare verso il basso la clausola.

Il risultato di questa operazione fornisce la colonna Prezzo finale con i prezzi delle colonne Tier 1 Price, Tier 2 Price e Tier 3 price.

Screenshot of the table with the Final Price that contains the Any data type produced by the multiple conditional clauses.