Vai al contenuto principale Passa a contenuto complementare

Aggr

Aggr() restituisce una matrice di valori per l'espressione calcolata in base alle dimensioni dichiarate o alle dimensioni. Ad esempio, il valore massimo delle vendite, per cliente, per regione.

La funzione Aggr è utilizzata per le aggregazioni nidificate, in cui il suo primo parametro (l'aggregazione interna) viene calcolato una volta per ogni valore dimensionale. Le dimensioni sono specificate nel secondo parametro (e nei parametri successivi).

Inoltre, la funzione Aggr deve essere racchiusa in una funzione di aggregazione esterna, utilizzando l'array dei risultati dalla funzione Aggr come input per l'aggregazione in cui è nidificata

Sintassi:  

Aggr({SetExpression}[DISTINCT] [NODISTINCT ] expr, StructuredParameter{, StructuredParameter})

Tipo di dati restituiti: duale

Argomenti:  

  • expr: Un’espressione costituita da una funzione di aggregazione. Per impostazione predefinita, la funzione di aggregazione aggrega la serie di possibili record definiti dalla selezione.
  • StructuredParameter: è composto da una dimensione e, opzionalmente, da criteri di ordinamento nel formato: StructuredParameter(Dimension(Sort-type, Ordering)) La dimensione è un campo singolo e non può essere un'espressione. Viene utilizzata per determinare la matrice di valori per cui viene calcolata l'espressione Aggr.

    Se sono specificati criteri di ordinamento, viene ordinata la matrice di valori creata dalla funzione Aggr, calcolata per la dimensione. Questo è importante quando il criterio di ordinamento influisce sul risultato dell'espressione in cui è racchiusa la funzione Aggr. Per dettagli sull'utilizzo dei criteri di ordinamento, vedere Aggiunta di criteri di ordinamento alla dimensione nel parametro strutturato.

  • 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.
  • DISTINCT: Se l'argomento dell'espressione è preceduto dal qualificatore distinct o se non viene utilizzato alcun qualificatore, ogni combinazione distinta di valori di dimensione restituirà un solo valore. Questa è la modalità normale in cui vengono create le aggregazioni; ciascuna combinazione distinta di valori di dimensione restituisce una linea nel grafico.
  • NODISTINCT: Se l'argomento dell'espressione è preceduto dal qualificatore nodistinct, ogni combinazione di valori di dimensione può restituire più valori, a seconda della struttura dei dati sottostante. Se esiste solo una dimensione, la funzione aggr restituirà una matrice con lo stesso numero di elementi per il numero di righe presenti nei dati sorgente.
 

Le funzioni di aggregazione di base, quali Sum, Min e Avg, restituiscono un singolo valore numerico, mentre la funzione Aggr() può essere paragonata alla creazione di una serie di risultati temporanei (una tabella virtuale) su cui è possibile effettuare un’altra aggregazione. Ad esempio, calcolando un valore delle vendite medio mediante la somma delle vendite per cliente in un'istruzione Aggr() e calcolando quindi la media dei risultati sommati: Avg(TOTAL Aggr(Sum(Sales), Customer)).

Nota di suggerimentoUtilizzare la funzione Aggr() nelle dimensioni calcolate se si desidera creare un'aggregazione di grafici nidificata con più livelli.

Limiti:  

Ogni dimensione presente in una funzione Aggr() deve corrispondere a un campo singolo e non può essere un'espressione (dimensione calcolata).

Aggiunta di criteri di ordinamento alla dimensione nel parametro strutturato

Nella sua forma di base, l'argomento StructuredParameter nella sintassi della funzione Aggr è una dimensione singola. L'espressione: Aggr(Sum(Sales, Month)) consente di trovare il valore totale delle vendite per ciascun mese. Tuttavia, se viene inclusa in un'altra funzione di aggregazione, potrebbero venire restituiti risultati imprevisti, a meno che non vengano utilizzati criteri di ordinamento. Ciò è dovuto al fatto che alcune dimensioni possono essere ordinate, ad esempio, con criterio numerico o alfabetico.

Nell'argomento StructuredParameter della funzione Aggr è possibile specificare il criterio di ordinamento per la dimensione nell'espressione. In questo modo si impone un criterio di ordinamento sulla tabella virtuale creata dalla funzione Aggr.

L'argomento StructuredParameter ha la sintassi seguente:

(FieldName, (Sort-type, Ordering))

I parametri strutturati possono essere nidificati:

(FieldName, (FieldName2, (Sort-type, Ordering)))

Sort-type può essere: NUMERIC, TEXT, FREQUENCY o LOAD_ORDER.

I tipi di ordering associati a ciascun Sort-type sono i seguenti:

Ordina tipi di ordering
Sort-typeTipi di ordering disponibili
NUMERICASCENDING, DESCENDING o REVERSE
TEXTASCENDING, A2Z, DESCENDING, REVERSE o Z2A
FREQUENCYDESCENDING, REVERSE o ASCENDING
LOAD_ORDERASCENDING, ORIGINAL, DESCENDING o REVERSE

I tipi di ordinamento REVERSE e DESCENDING sono equivalenti.

Per il Sort-type TEXT, i tipi di ordinamento ASCENDINGe A2Z sono equivalenti, e DESCENDING, REVERSE e Z2A sono equivalenti.

Per il Sort-type LOAD_ORDER, i tipi di ordinamento ASCENDING e ORIGINAL sono equivalenti.

Esempi

Esempio 1:  

Avg(Aggr(Sum(UnitSales*UnitPrice), Customer))

L'espressione Aggr(Sum(UnitSales*UnitPrice), Customer) consente di calcolare il valore totale delle vendite in base a Customer e restituisce una matrice di valori: 295, 715 e 120 per i tre valori Customer.

Di fatto, è stato creato un elenco temporaneo di valori, senza necessità di creare una tabella esplicita o una colonna contenente tali valori. Questi valori vengono utilizzati come input per la funzione Avg() per calcolare il valore di vendita medio, 376.6667. È necessario avere selezionato Totali alla voce Presentation nel pannello delle proprietà.

Esempio 2:  

Aggr(NODISTINCT Max(UnitPrice), Customer)

Una matrice di valori: 16, 16, 16, 25, 25, 25, 19 e 19. Il qualificatore nodistinct indica che la matrice contiene un elemento per ciascuna riga dei dati sorgente: ognuno è il valore UnitPrice massimo per ciascun valore Customer e Product.

Esempio 3:  

max(aggr(sum(Customers)-above(Sum(Customers)), (MonthYear,(NUMERIC, ASCENDING))))

Utilizzo di criteri di ordinamento nell'argomento nell'espressione StructuredParameter: max(aggr(sum(Customers)-above(Sum(Customers)), (MonthYear,(NUMERIC, ASCENDING))))

Senza i criteri di ordinamento il risultato dell'espressione max(aggr(sum(Customers)-above(Sum(Customers)), (MonthYear))) dipende dal modo in cui viene ordinata la dimensione MonthYear. Il risultato ottenuto potrebbe non essere quello desiderato. Aggiungendo valori per Sort-type e Ordering alla dimensione, si assegnano criteri di ordinamento al parametro strutturato: (MonthYear, (NUMERIC, ASCENDING)), dove il tipo di ordinamento NUMERIC e l'ordinamento ASCENDING determinano l'ordinamento con criterio numerico crescente per MonthYear.

In questo caso si sta tentando di individuare il maggior aumento dei clienti, mese dopo mese. Il risultato può essere utilizzato, ad esempio, in una visualizzazione KPI.

La parte Aggr dell'espressione confronta il numero totale di clienti in un mese (dato da MonthYear) con il numero totale del mese precedente. L'utilizzo di criteri di ordinamento con la dimensione: (MonthYear,(NUMERIC, ASCENDING)) assicura che Aggr confronti il numero di clienti in mesi consecutivi nella tabella virtuale, in quanto i mesi sono in ordine crescente numerico e non alfabetico.

Dati utilizzati negli esempi:

Creare una tabella con Customer, Product, UnitPrice e UnitSales come dimensioni. Aggiungere l’espressione alla tabella come misura.

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD|25|25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');

Hai trovato utile questa pagina?

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!

Partecipa al programma Analytics Modernization

Remove banner from view

Modernizza senza compromettere le tue preziose app QlikView con il programma Analytics Modernization. Fare clic qui per maggiori informazioni o per contattarci: ampquestions@qlik.com