Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Aggiunta di campi calcolati
Crea campi calcolati per trasformare i dati utilizzando uno o più opzioni tra le seguenti:
Puoi aggiungere campi calcolati a un set di dati durante la preparazione dei dati oppure dalla pagina di analisi. Un campo calcolato aggiunto a un set di dati durante la preparazione dei dati è disponibile per tutte le analisi che utilizzano quel set di dati. Un campo calcolato aggiunto a un set di dati in un'analisi è disponibile solo per quell'analisi.
Le analisi supportano sia operazioni su riga singola che operazioni di aggregazione. Le operazioni su riga singola sono operazioni che restituiscono un risultato (potenzialmente) diverso per ogni riga. Le operazioni di aggregazione restituiscono risultati che sono sempre identici per i set di righe nel loro complesso. Ad esempio, se utilizzi una funzione di stringa semplice senza condizioni, ogni riga risulta modificata. Se utilizzi una funzione di aggregazione, essa verrà applicata a tutte le righe di un gruppo. Se richiedi l'importo totale delle vendite per gli Stati Uniti, lo stesso numero è valido per l'intero set. Se richiedi i dati relativi a uno stato specifico, l'importo totale delle vendite cambia in base al nuovo raggruppamento. Viene comunque restituito un risultato per l'intero set.
La creazione di un campo calcolato aggregato all'interno dell'analisi ti consentirà quindi di eseguire il drill-down dei dati. Il valore del campo aggregato viene ricalcolato in modo appropriato per ogni livello. Questo tipo di aggregazione non è possibile durante la preparazione del set di dati.
Ad esempio, supponiamo che si desideri calcolare la percentuale del profitto per ogni paese, regione e stato. All'analisi puoi aggiungere un campo calcolato (sum(salesAmount - cost)) / sum(salesAmount)
. Questo campo viene quindi calcolato per ogni paese, regione e stato nel momento in cui l'analista esegue il drill-down nell'area geografica.
Argomenti
Aggiunta di campi calcolati a un'analisi
Quando aggiungi un set di dati a un'analisi, ogni campo calcolato esistente nel set di dati viene aggiunto all'analisi. È possibile aggiungere campi calcolati aggiuntivi a livello di analisi per creare campi calcolati disponibili solo in quell'analisi.
Aggiunta di un campo calcolato a un'analisi
-
Apri la QuickSight console
. -
Apri l'analisi che desideri modificare.
-
Nel riquadro Dati, scegli Aggiungi in alto a sinistra, quindi scegli + CAMPO CALCOLATO.
-
Nell'editor di calcoli che si apre, procedi come segue:
-
Inserisci un nome per il campo calcolato.
-
Inserisci una formula utilizzando i campi del set di dati, delle funzioni e degli operatori.
-
-
Al termine, scegli Save (Salva).
Per ulteriori informazioni su come creare formule utilizzando le funzioni disponibili in QuickSight, consultaFunzione di campo calcolata e riferimento dell'operatore per Amazon QuickSight .
Aggiunta di campi calcolati a un set di dati
QuickSight Gli autori di Amazon possono generare campi calcolati durante la fase di preparazione dei dati della creazione di un set di dati. Quando crei un campo calcolato per un set di dati, il campo diventa una nuova colonna nel set di dati. Tutte le analisi che utilizzano il set di dati ereditano i campi calcolati del set di dati.
Se il campo calcolato funziona a livello di riga e il set di dati è archiviatoSPICE, QuickSight calcola e materializza il risultato in. SPICE Se il campo calcolato si basa su una funzione di aggregazione, QuickSight conserva la formula ed esegue il calcolo quando viene generata l'analisi. Questo tipo di campo calcolato è chiamato campo calcolato non materializzato.
Aggiunta o modifica di un campo calcolato per un set di dati
-
Aprire il set di dati che si desidera utilizzare. Per ulteriori informazioni, consulta Modifica di set di dati.
-
Nella pagina di preparazione dei dati, completa una delle seguenti operazioni:
-
Per creare un nuovo campo, scegli Aggiungi campo calcolato sulla sinistra.
-
Per modificare un campo calcolato esistente, selezionalo da Campi calcolati sulla sinistra, quindi scegli Modifica dal menu contestuale (fai clic con il pulsante destro del mouse).
-
-
Nell'editor di calcolo, inserisci un nome descrittivo in Aggiungi titolo per assegnare un nome al nuovo campo calcolato. Questo nome apparirà nell'elenco dei campi del set di dati, quindi dovrebbe essere simile agli altri campi. Per questo esempio, assegnamo un nome al campo
Total Sales This Year
. -
(Facoltativo) Aggiungi un commento, ad esempio per spiegare a cosa serve l'espressione, racchiudendo il testo tra barre e asterischi.
/* Calculates sales per year for this year*/
-
Identifica i parametri, le funzioni e gli altri elementi da utilizzare. Per questo esempio, dobbiamo identificare quanto segue:
-
Il parametro da usare
-
Le funzioni
ifelse
edatediff
Vogliamo creare una istruzione del tipo "Se la vendita è avvenuta durante quest'anno, mostra le vendite totali, altrimenti mostra 0".
Per aggiungere la funzione
ifelse
, apri l'elenco Funzioni. Scegli Tutto per chiudere l'elenco di tutte le funzioni. Ora dovresti vedere i gruppi di funzioni: Aggregato, Condizionale, Data e così via.Scegli Condizionale, quindi fai doppio clic su
ifelse
per aggiungerlo all'area di lavoro.ifelse()
-
-
Posiziona il cursore all'interno della parentesi nell'area di lavoro e aggiungi tre righe vuote.
ifelse( )
-
Posiziona il cursore sulla prima riga vuota, individua la funzione
dateDiff
. È elencata in Funzioni in Date. Puoi trovarla anche inserendodate
in Cerca funzioni. La funzionedateDiff
restituisce tutte le funzioni che hanno
come parte del loro nome. Non restituisce tutte le funzioni elencate in Date; ad esempio, la funzionedate
now
non è presente nei risultati della ricerca.Fai doppio clic su
dateDiff
per aggiungerla alla prima riga vuota dell'istruzioneifelse
.ifelse( dateDiff() )
Aggiungi i parametri utilizzati da
dateDiff
. Posiziona il cursore all'interno delle parentesidateDiff
per iniziare ad aggiungeredate1
,date2
eperiod
:-
Per
date1
: il primo parametro è il campo che contiene la data. Individualo in Campi e aggiungilo all'area di lavoro facendo doppio clic su di esso o inserendone il nome. -
Per
date2
, aggiungi una virgola, quindi sceglitruncDate()
per Funzioni. All'interno della parentesi, aggiungi periodo e data, in questo modo:truncDate( "YYYY", now() )
-
Per
period
: aggiungi una virgola dopodate2
e inserisciYYYY
. Questo è il periodo dell'anno. Per visualizzare un elenco di tutti i periodi supportati, cercadateDiff
nell'elenco Funzioni e apri la documentazione scegliendo Scopri di più. Se stai già visualizzando la documentazione, come stai facendo ora, consulta dateDiff.
Aggiungi degli spazi per una maggiore leggibilità, se lo desideri. L'espressione avrà un aspetto simile al seguente.
ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) )
-
-
Specifica il valore di ritorno. Per il nostro esempio, il primo parametro in
ifelse
deve restituire il valoreTRUE
oFALSE
. Poiché vogliamo l'anno corrente e lo stiamo confrontando con quest'anno, specifichiamo che l'istruzionedateDiff
deve restituire0
. La parteif
diifelse
viene valutata true per le righe in cui non vi è differenza tra l'anno di vendita e l'anno corrente.dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) =
0
Per creare un campo
TotalSales
per l'anno passato, puoi cambiare0
in1
.Un altro modo per fare la stessa cosa è usare
addDateTime
invece ditruncDate
. Quindi, per ogni anno precedente, si modifica il primo parametro peraddDateTime
in modo che rappresenti ciascun anno. A tale scopo, si utilizza-1
per l'anno scorso,-2
per l'anno precedente e così via. Se si utilizzaaddDateTime
, si lascia la funzionedateDiff
= 0
per ogni anno.dateDiff( {Discharge Date},
addDateTime(-1, "YYYY", now() )
,"YYYY" ) = 0 /* Last year */ -
Sposta il cursore sulla prima riga vuota, appena sotto
dateDiff
. Aggiungi una virgola.Per la parte
then
dell'istruzioneifelse
, dobbiamo scegliere la misura (parametro) che contiene l'importo delle vendite,TotalSales
.Per scegliere un campo, apri l'elenco Campi e fai doppio clic su un campo per aggiungerlo allo schermo. Oppure puoi inserire il nome. Aggiungi parentesi graffe
{ }
attorno ai nomi che contengono spazi. È probabile che il parametro abbia un nome diverso. Puoi sapere quale campo è un parametro dal simbolo numerico che lo precede (#).L'espressione dovrebbe avere il seguente aspetto.
ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 ,{TotalSales} )
-
Aggiungi una clausola
else
. La funzioneifelse
non ne richiede una, ma vogliamo aggiungerla. Ai fini della rendicontazione, di solito non si desidera avere valori nulli, perché a volte le righe con valori null vengono omesse.Abbiamo impostato la parte else di ifelse su
0
. Il risultato è che questo campo è0
per le righe che contengono le vendite degli anni precedenti.Per fare ciò, nella riga vuota aggiungi una virgola e poi un
0
. Se hai aggiunto il commento all'inizio, l'espressioneifelse
completa dovrebbe essere simile alla seguente./* Calculates sales per year for this year*/ ifelse( dateDiff( {Date}, truncDate( "YYYY", now() ) ,"YYYY" ) = 0 ,{TotalSales} ,0 )
-
Salva il tuo lavoro selezionando Salva in alto a destra.
Se ci sono errori nell'espressione, l'editor visualizza un messaggio di errore in basso. Controlla se nell'espressione è presente una linea ondulata rossa, quindi posiziona il cursore su quella linea per vedere qual è il messaggio di errore. Gli errori più comuni includono punteggiatura mancante, parametri mancanti, errori di ortografia e tipi di dati non validi.
Per uscire senza apportare modifiche, scegli Annulla.
Aggiunta di un valore di parametro a un campo calcolato
-
Puoi fare riferimento ai parametri nei campi calcolati. Aggiungendo il parametro all'espressione, si aggiunge il valore corrente di quel parametro.
-
Per aggiungere un parametro, apri l'elenco Parametri e seleziona il parametro di cui desideri includere il valore.
-
(Facoltativo) Per aggiungere manualmente un parametro all'espressione, digita il nome del parametro. Quindi racchiudilo tra parentesi graffe
{}
e aggiungi il prefisso$
, ad esempio${parameterName}
.
È possibile modificare il tipo di dati di qualsiasi campo del set di dati, inclusi i tipi di campi calcolati. Puoi scegliere solo i tipi di dati che corrispondono ai dati presenti nel campo.
Modifica del tipo di dati di un campo calcolato
-
Per Campi calcolati (a sinistra), scegli il campo che desideri modificare, quindi scegli Cambia tipo di dati dal menu contestuale (clic con il pulsante destro del mouse).
A differenza degli altri campi del set di dati, i campi calcolati non possono essere disabilitati. Invece, eliminali.
Eliminazione di un campo calcolato
-
Per Campi calcolati (a sinistra), scegli il campo che desideri modificare, quindi scegli Elimina dal menu contestuale (clic con il pulsante destro del mouse).
Gestione dei valori decimali nei campi calcolati
Quando il set di dati utilizza la modalità query diretta, il calcolo del tipo di dati decimale è determinato dal comportamento del motore di origine da cui proviene il set di dati. In alcuni casi particolari, QuickSight applica gestioni speciali per determinare il tipo di dati del calcolo di output.
Quando il set di dati utilizza la modalità di interrogazione SPICE e viene materializzato un campo calcolato, il tipo di dati del risultato dipende dagli operatori di funzione specifici e dal tipo di dati dell'input. Le tabelle seguenti mostrano il comportamento previsto per alcuni campi calcolati numerici.
Operatori unari
La tabella seguente mostra quale tipo di dati viene emesso in base all'operatore utilizzato e al tipo di dati del valore immesso. Ad esempio, se si immette un numero intero in un calcolo abs
, il tipo di dati del valore di output è intero.
Operatore | Input type (Tipo input) | Output type (Tipo di output) |
---|---|---|
abs |
Fisso con valori decimali | Fisso con valori decimali |
Int | Int | |
Flottante decimale | Flottante decimale | |
ceil |
Fisso con valori decimali | Int |
Int | Int | |
Flottante decimale | Int | |
exp |
Fisso con valori decimali | Flottante decimale |
Int | Flottante decimale | |
Flottante decimale | Flottante decimale | |
floor |
Fisso con valori decimali | Int |
Int | Int | |
Flottante decimale | Int | |
ln |
Fisso con valori decimali | Flottante decimale |
Int | Flottante decimale | |
Flottante decimale | Flottante decimale | |
log |
Fisso con valori decimali | Flottante decimale |
Int | Flottante decimale | |
Flottante decimale | Flottante decimale | |
round |
Fisso con valori decimali | Fisso con valori decimali |
Int | Fisso con valori decimali | |
Flottante decimale | Fisso con valori decimali | |
sqrt |
Fisso con valori decimali | Flottante decimale |
Int | Flottante decimale | |
Flottante decimale | Flottante decimale |
Operatori binari
La tabella seguente mostra quale tipo di dati viene emesso in base ai tipi di dati dei due valori immessi. Ad esempio, per un operatore aritmetico, se si forniscono due tipi di dati interi, il risultato del calcolo viene restituito come numero intero.
Per gli operatori di base (+, -, *):
Numero intero | Fisso con valori decimali | Flottante decimale | |
---|---|---|---|
Numero intero |
Numero intero |
Fisso con valori decimali |
Flottante decimale |
Fisso con valori decimali |
Fisso con valori decimali |
Fisso con valori decimali |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Per gli operatori di divisione (/):
Numero intero | Fisso con valori decimali | Flottante decimale | |
---|---|---|---|
Numero intero |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Fisso con valori decimali |
Flottante decimale |
Fisso con valori decimali |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Per operatori esponenziali e mod (^, %):
Numero intero | Fisso con valori decimali | Flottante decimale | |
---|---|---|---|
Numero intero |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Fisso con valori decimali |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Flottante decimale |
Flottante decimale |