Only() restituisce un valore se esiste esclusivamente un unico risultato possibile dai dati aggregati. Ad esempio, la ricerca dell'unico prodotto con prezzo unitario = 9 restituirà NULL se più di un prodotto ha un prezzo unitario di 9.
L'espressione o il campo contenente i dati da misurare.
SetExpression
Per impostazione predefinita, la funzione di aggregazione aggrega la serie di possibili record definiti dalla selezione. È possibile definire una serie di record alternativa mediante un'espressione Set Analysis.
TOTAL
Se la parola TOTAL viene riportata prima degli argomenti della funzione, il calcolo verrà effettuato su tutti i valori possibili dati dalle selezioni correnti e non solo su quelli relativi al valore dimensionale attuale, vale a dire che verranno ignorate le dimensioni del grafico.
Utilizzando TOTAL [<fld {.fld}>], dove il qualificatore TOTAL è seguito da un elenco di uno o più nomi di campo come sottogruppo delle variabili di dimensione del grafico, si crea un sottogruppo di tutti i valori possibili.
Caricare i dati e aprire un foglio. Creare una nuova tabella con le seguenti misure:
=Only({<UnitPrice={9}>} Product), per calcolare l'unico valore Product con un UnitPrice uguale a 9.
=Only({<Product={DD}>} Customer), per calcolare l'unico Customer che vende un Product chiamato DD.
=Only({<UnitPrice={20}>} UnitSales), per calcolare il numero di UnitSales in cui UnitPrice è 20.
=Only({<UnitPrice={15}>} UnitSales), per calcolare i valori di UnitSales, dove UnitPrice = 15.
Results table
Only({<UnitPrice={9}>} Product)
Only({<Product={DD}>} Customer)
Only({<UnitPrice={20}>} UnitSales)
Only({<UnitPrice={15}>} UnitSales)
BB
Betacab
2
-
In questo esempio, fare quanto segue:
La prima colonna restituisce il valore BB perché questo è l'unico Product che ha un UnitPrice uguale a 9.
La seconda colonna restituisce Betacab, perché è l'unico Customer a vendere un Product denominato DD.
La terza colonna restituisce il valore 2 perché questo è l'unico valore di UnitSales in cui UnitPrice = 20.
La quarta colonna restituisce NULL perché non esiste un solo risultato in cui UnitPrice = 15. In questo set di dati, ci sono due valori di UnitSales in cui UnitPrice =15.
Esempio: scenario per la funzione Only
Panoramica
Un set di dati contiene i dati sulle vendite di prodotti suddivisi per il periodo. L'azienda vuole determinare se un prodotto è venduto in un singolo negozio o in più negozi.
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati che viene caricato in una tabella dati chiamata Example.
I seguenti campi nella tabella dati:
Date
RecordID
StoreProduct
Sales
Script di caricamento
Example:
Load * inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:
StoreProduct
Creare le seguenti misure:
=Only(Store), per calcolare l'unico negozio in cui viene venduto il prodotto.
=If(IsNull(Only(Store)), 'Multiple Stores', 'Single Store'), per calcolare se il prodotto è venduto in un singolo negozio o in più negozi.
=Sum(Sales), per calcolare le vendite totali per il prodotto.
I risultati indicano che i prodotti Apples e Bananas sono venduti in un solo negozio, mentre il prodotto Carrots è venduto in più negozi.
Esempio: scenario avanzato per creare una tabella di record di un solo mese
Panoramica
Questo esempio utilizza la funzione Only per mostrare una tabella di record riga per riga per un singolo mese. A tal fine, si utilizza l'analisi dei set per individuare il set di record desiderato. L'analisi dei set richiede almeno una misura, anche se, dal momento che non abbiamo effettivamente bisogno di aggregare il set di record, è possibile utilizzare efficacemente la funzione di aggregazione Only per ospitare l'ambito dell'analisi dei set.
Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.
Lo script di caricamento contiene:
Un set di dati che viene caricato in una tabella dati chiamata Example.
Un'istruzione LOAD precedente che deriva il campo MonthYear dal campo Date troncando il giorno del mese, utilizzando la funzione MonthStart, e restituendo una rappresentazione della data del 1° di ogni mese. Questo risultato viene fornito alla funzione Date per impostare il formato di visualizzazione su MMM YY, ad esempio, Jan 24.
I seguenti campi nella tabella dati:
Date
RecordID
StoreProduct
Sales
Store
Script di caricamento
Example:
Load
*,
date(MonthStart (Date),'MMM YY') AS MonthYear
inline [
Date, RecordID, StoreProduct, Sales, Store
2024-01-01, 1, Apple, 100, A
2024-01-15, 2, Banana, 80, B
2024-01-30, 3, Carrot, 50, C
2024-02-05, 4, Apple, 120, A
2024-02-20, 5, Banana, 90, B
2024-02-28, 6, Carrot, 60, D
2024-03-10, 7, Apple, 110, A
2024-03-22, 8, Banana, 85, B
2024-03-31, 9, Carrot, 55, C
];
Risultati
Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:
MonthYear
RecordID
Date
StoreProduct
Store
Creare le seguenti misure:
=Only({$<MonthYear={'$(=MaxString(MonthYear))'}>} Sales), per valutare il valore Sales e restituire solo quelli in cui MonthYear è l'ultimo (il più recente) MonthYear disponibile, in base alle selezioni correnti nella tabella. L'espansione con il simbolo del dollaro ($) esegue un calcolo in linea utilizzando la funzione MaxString, $(=MaxString(MonthYear)), che restituisce la rappresentazione testuale del valore MonthYear più recente.
Nota informaticaIl tentativo di filtrare MonthYear in base alla rappresentazione numerica, ad esempio utilizzando la funzione Max , Max(MonthYear), non produrrebbe alcun risultato. L'analisi dei set applica selezioni dei filtri basate solo sulla rappresentazione testuale di qualsiasi tipo di dati doppi; un tipo di dati con una rappresentazione numerica e testuale, come ad esempio Date.
L'output della funzione Only genera una tabella di record che presenta per impostazione predefinita il valore di vendita dell'ultimo, o più recente, MonthYear disponibile nei dati. Se si seleziona un mese precedente dalla colonna MonthYear, ad esempio Feb 24, apparirà il valore delle vendite più recente per quel mese.
Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!