Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I calcoli personalizzati consentono di definire metriche e trasformazioni dinamiche senza modificare le query del set di dati. Questo articolo illustra come usare calcoli personalizzati nei dashboard di intelligenza artificiale/BI.
Perché usare calcoli personalizzati?
I calcoli personalizzati consentono di creare e visualizzare nuovi campi da set di dati del dashboard esistenti senza modificare il codice SQL di origine. È possibile definire fino a 200 calcoli personalizzati per set di dati.
I calcoli personalizzati sono uno dei tipi seguenti:
-
Misure calcolate: valori aggregati, ad esempio vendite totali o costi medi. Le misure calcolate possono usare il
AGGREGATE OVERcomando per calcolare i valori tra intervalli di tempo. - Dimensioni calcolate: valori o trasformazioni non aggregati, ad esempio la categorizzazione degli intervalli di età o le stringhe di formattazione.
I calcoli personalizzati si comportano in modo analogo alle visualizzazioni delle metriche, ma hanno come ambito il set di dati e il dashboard in cui sono definiti. Per definire metriche personalizzate che possono essere usate con altri asset di dati, vedere Visualizzazioni delle metriche del catalogo Unity.
Creare metriche dinamiche con misure calcolate
Si supponga di avere il set di dati seguente:
| Elemento | Area geografica | Prezzo | Costo | Date |
|---|---|---|---|---|
| Apples | USA | 30 | 15 | 2024-01-01 |
| Apples | Canada | 20 | 10 | 2024-01-01 |
| Oranges | USA | 20 | 15 | 2024-01-02 |
| Oranges | Canada | 15 | 10 | 2024-01-02 |
Si vuole visualizzare il margine di profitto per area. Senza calcoli personalizzati, è necessario creare un nuovo set di dati con una margin colonna:
| Area geografica | Margin |
|---|---|
| USA | 0.40 |
| Canada | 0.43 |
Anche se questo approccio funziona, il nuovo set di dati è statico e potrebbe supportare solo una singola visualizzazione. I filtri applicati al set di dati originale non influiscono sul nuovo set di dati senza modifiche manuali aggiuntive.
Con calcoli personalizzati, è possibile esprimere il margine di profitto come aggregazione usando la formula seguente:
(SUM(Price) - SUM(Cost)) / SUM(Price)
Questa misura è dinamica. Quando viene usato in una visualizzazione, viene aggiornato automaticamente per riflettere i filtri applicati al set di dati.
Definire le misure calcolate su un intervallo
Un'attività comune nelle visualizzazioni del cruscotto consiste nel calcolare una misura, come SUM(sales), su un intervallo, ad esempio negli ultimi 7 giorni. Per i set di dati del dashboard, usare il AGGREGATE OVER comando per definire questi tipi di calcoli delle misure basate su intervalli.
Il AGGREGATE OVER comando può incorporare dati esterni al gruppo o alla partizione corrente. Ad esempio, se una visualizzazione raggruppa i dati per giorno, un intervallo di 7 giorni finale consente al punto dati di ogni giorno di includere i dati dei 6 giorni precedenti. Se la stessa misura viene usata in una visualizzazione raggruppata per mese, l'intervallo di 7 giorni usa solo gli ultimi 7 giorni in ogni mese.
Usando lo stesso set di dati dell'esempio precedente, l'espressione seguente calcola il margine di profitto medio finale di 7 giorni.
(
(SUM(Price) - SUM(Cost)) / SUM(Price)
) AGGREGATE OVER (
ORDER BY Date
TRAILING 7 DAY
)
Dopo la creazione, questa misura può essere applicata in qualsiasi visualizzazione.
Sintassi AGGREGATE OVER
Il AGGREGATE OVER comando richiede la sintassi seguente:
{expr} AGGREGATE OVER (ORDER BY {field} {frame})
Arguments
expr
Espressione di misura calcolata valida da valutare
campo (obbligatorio)
Nome di colonna valido
frame (obbligatorio) Può essere uno dei seguenti:
CURRENTCUMULATIVEALL-
(TRAILING|LEADING)unità numerica- number è un numero intero
- l'unità è
DAY,MONTHoYEAR - esempio:
TRAILING 7 DAYoLEADING 1 MONTH
La tabella seguente identifica il modo in cui la specifica del frame per l'aggregazione viene confrontata con la clausola frame di finestra SQL equivalente.
| Specifica del frame | Clausola SQL equivalente per il frame della finestra |
|---|---|
| CURRENT | INTERVALLO TRA RIGA CORRENTE E RIGA CORRENTE |
| Tutti | INTERVALLO COMPRESO TRA SENZA LIMITI PRECEDENTI E SENZA LIMITI SEGUENTI |
| CUMULATIVO | INTERVALLO TRA SENZA LIMITI PRECEDENTI E RIGA ATTUALE |
TRASCINAMENTO <NUMBER><UNIT> |
INTERVALLO TRA <NUMBER><UNIT> PRECEDENTE E 1 <UNIT> PRECEDENTE |
PRINCIPALE <NUMBER><UNIT> |
INTERVALLO COMPRESO TRA 1 <UNIT> SEGUITO E <NUMBER><UNIT> IL SEGUENTE |
AGGREGATE OVER rispetto alle funzioni di finestra
Il AGGREGATE OVER comando è simile alle funzioni della finestra in SQL, che vengono spesso usate per calcolare le metriche. Tuttavia, a differenza delle funzioni finestra, è possibile usare AGGREGATE OVER senza specificare un campo di partizione nell'espressione. Invece, eredita le partizioni dal raggruppamento delle query di visualizzazione. Ciò significa che è possibile usare queste misure in modo più dinamico. Ad esempio, è possibile calcolare una media mobile di 7 giorni per linea di prodotto aggiungendo la misura all'asse y di una visualizzazione e una linea di prodotto all'asse x.
Se il ORDER BY campo non è raggruppato nella visualizzazione, AGGREGATE OVER accetta il valore aggregato dell'ultima riga come valore da visualizzare per ogni gruppo. Se si ha familiarità con le misure semi-additivi, è possibile riconoscerlo come equivalente al last comportamento semi-additivi.
Definire valori non aggregati con dimensioni personalizzate
Le dimensioni calcolate consentono di definire valori non aggregati o trasformazioni leggere senza modificare il set di dati di origine. Ciò è utile quando si desidera organizzare o riformattare i dati per la visualizzazione.
Ad esempio, per analizzare le tendenze dell'età in base al gruppo di età invece delle singole età, è possibile definire una dimensione personalizzata age_group usando l'espressione seguente:
CASE
WHEN age < 18 THEN '<18'
WHEN age >= 18 AND age < 25 THEN '18–24'
WHEN age >= 25 AND age < 35 THEN '25–34'
WHEN age >= 35 AND age < 45 THEN '35–44'
WHEN age >= 45 AND age < 55 THEN '45–54'
WHEN age >= 55 AND age < 65 THEN '55–64'
WHEN age >= 65 THEN '65+'
END
Vantaggi delle prestazioni
I calcoli personalizzati sono ottimizzati per le prestazioni. Per set di dati di piccole dimensioni (≤100.000 righe e ≤100 MB), i calcoli vengono eseguiti nel browser per una velocità di risposta più rapida. I set di dati di dimensioni maggiori vengono elaborati dal warehouse SQL. Per altri dettagli, vedere Ottimizzazione e memorizzazione nella cache dei set di dati.
Creare un calcolo personalizzato
In questo esempio viene creata una misura calcolata basata sul set di dati samples.nyctaxi.trips. Presuppone conoscenze generali su come usare i dashboard di intelligenza artificiale/BI. Se non si ha familiarità con la creazione di dashboard di intelligenza artificiale/BI, vedere Creare un dashboard per iniziare.
Aprire un set di dati esistente o crearne uno nuovo.
Fare clic su Calcolo personalizzato.
Viene visualizzato un pannello Crea calcolo sul lato destro dello schermo. Nel campo di testo Nome immettere Costo per chilometro.
(Facoltativo) Nel campo testo Descrizione immettere "Usa l'importo della tariffa e la distanza di corsa per calcolare il costo per miglio".
Nel campo Espressione immettere quanto segue:
try_divide(SUM(fare_amount), SUM(trip_distance))Clicca su Crea.
Aggiungere calcoli personalizzati a una visualizzazione metrica
Importante
Questa funzionalità è in Anteprima Pubblica.
È possibile definire calcoli personalizzati sopra un set di dati creato da una visualizzazione metrica. Solo la tabella dei risultati e lo schema vengono visualizzati quando si apre il set di dati. Fare clic su Calcolo personalizzato per definire un nuovo calcolo personalizzato. Per definire metriche personalizzate aggiuntive che altri asset di dati possono usare, apportare modifiche alla definizione di visualizzazione. Vedere Viste delle metriche del catalogo Unity.
Per definire una nuova vista delle metriche dall'editor del set di dati del dashboard, consultare Esportare come vista delle metriche.
Visualizzare lo schema
Fare clic sulla scheda Schema nel pannello dei risultati per visualizzare il calcolo personalizzato e il commento associato.
Le misure calcolate sono elencate nella sezione Misure e contrassegnate da un
. Il valore associato a una misura calcolata viene calcolato in modo dinamico quando si imposta il GROUP BY in una visualizzazione. Non è possibile visualizzare il valore nella tabella dei risultati. Le dimensioni calcolate vengono visualizzate nella sezione Dimensioni .
Usare un calcolo personalizzato in una visualizzazione
È possibile usare la misura calcolata Costo per chilometro creata in precedenza in una visualizzazione.
Le misure calcolate si aggregano automaticamente in base alle dimensioni configurate nel grafico. Questo comportamento equivale al funzionamento delle dimensioni e delle misure nelle visualizzazioni delle metriche, in cui l'aggregazione si adatta in modo dinamico ai raggruppamenti definiti nella visualizzazione.
- Fare clic su Canvas. Posizionare quindi un nuovo widget di visualizzazione nell'area di disegno.
- Usare il pannello di configurazione della visualizzazione per modificare le impostazioni nel modo seguente:
- Dataset: Dati taxicab
- Visualizzazione: Bar
-
Asse X:
- Campo: dropoff_zip
- Tipo di scala: Categorico
- Trasformare: Nessuno
-
Asse Y:
- Costo per miglio
Annotazioni
Le visualizzazioni tabella supportano le dimensioni calcolate, ma non supportano le misure calcolate.
L'immagine seguente mostra il grafico.
Le visualizzazioni con calcoli personalizzati vengono aggiornate automaticamente quando vengono applicati i filtri. Ad esempio, l'aggiunta di un filtro pickup_zip aggiornerà la visualizzazione in modo da visualizzare solo i dati corrispondenti ai valori selezionati.
Modificare un calcolo personalizzato
Per modificare un calcolo:
- Fare clic sulla scheda Dati e quindi sul set di dati associato al calcolo che si desidera modificare.
- Fare clic sulla scheda Schema nel pannello dei risultati.
-
Le misure e le dimensioni vengono visualizzate sotto l'elenco dei campi del set di dati. Fare clic
Menu kebab a destra del calcolo che si desidera modificare. Fare quindi clic su Modifica.
- Nel pannello Modifica calcolo personalizzato aggiornare i campi di testo da modificare. Fare quindi clic su Aggiorna.
Eliminare un calcolo personalizzato
Per eliminare un calcolo:
- Fare clic sulla scheda Dati e quindi sul set di dati associato alla misura da modificare.
- Fare clic sulla scheda Schema nel pannello dei risultati.
- La sezione Misure viene visualizzata sotto l'elenco dei campi. Fare clic
Menu kebab a destra del calcolo che si desidera modificare. Fare quindi clic su Elimina.
- Fare clic su Elimina nella finestra di dialogo Elimina visualizzata.
Limitazioni
Per usare calcoli personalizzati, devono essere soddisfatte le seguenti condizioni:
- Le colonne usate nell'espressione devono appartenere allo stesso set di dati.
- Le espressioni che fanno riferimento a tabelle esterne o origini dati non sono supportate e potrebbero non riuscire o restituire risultati imprevisti.
Funzioni supportate
Per un riferimento completo di tutte le funzioni supportate per i calcoli personalizzati, vedere Informazioni di riferimento sulle funzioni di calcolo personalizzate. Il tentativo di usare una funzione non supportata genera un errore.
Esempi
Negli esempi seguenti vengono illustrati gli usi comuni per i calcoli personalizzati. Ogni calcolo personalizzato viene visualizzato nello schema del set di dati nella scheda dati. Nell'area di disegno è possibile scegliere il calcolo personalizzato come campo.
Filtrare e aggregare in modo condizionale i dati
Usare un'istruzione CASE per aggregare in modo condizionale i dati. L'esempio seguente usa il samples.nyctaxi.trips set di dati e calcola la somma delle tariffe per tutte le corse che iniziano nel codice postale 10103.
SUM(CASE
WHEN pickup_zip=10103 THEN fare_amount
WHEN pickup_zip!=10103 THEN 0
END)
Costruisci stringhe
Usare la CONCAT funzione per costruire un nuovo valore stringa. Vedere concat funzione e concat_ws funzione.
CONCAT(first_name, ' ', last_name)
Formattare le date
Usare DATE_FORMAT per formattare le stringhe di data visualizzate nelle visualizzazioni.
DATE_FORMAT(tpep_pickup_datetime, 'YYYY-MM-dd')