Agregačné funkcie

Agregačné funkcie sa používajú na vykonávanie operácií s viacerými hodnotami za účelom vytvorenia súhrnných výsledkov.

V nasledujúcom zozname sú popísané pravidlá agregácie dostupné pre stĺpce a stĺpce mier. Zahŕňa aj funkcie, ktoré môžete používať pri vytváraní vypočítaných položiek pre analýzy.

  • Predvolené – použije predvolené pravidlo agregácie ako v sémantickom modeli alebo podľa pôvodného autora analýzy. Nie je k dispozícii pre vypočítané položky v analýzach.

  • Určené serverom – použije pravidlo agregácie, ktoré určuje služba Oracle Analytics (napríklad pravidlo, ktoré je definované v sémantickom modeli). Agregácia sa v službe Oracle Analytics vykonáva pre jednoduché pravidlá, ako sú Súčet, Min a Max. Nie je k dispozícii pre stĺpce mier v podokne Rozloženie ani pre vypočítané položky v analýzach.

  • Súčet – vypočíta súčet získaný sčítaním všetkých hodnôt v množine výsledkov. Používa sa pre položky, ktoré obsahujú numerické hodnoty.

  • Min – vypočíta minimálnu hodnotu (najnižšiu numerickú hodnotu) riadkov v množine výsledkov. Používa sa pre položky, ktoré obsahujú numerické hodnoty.

  • Max – vypočíta maximálnu hodnotu (najvyššiu numerickú hodnotu) riadkov v množine výsledkov. Používa sa pre položky, ktoré obsahujú numerické hodnoty.

  • Priemer – vypočíta priemernú (strednú) hodnotu položky v množine výsledkov. Používa sa pre položky, ktoré obsahujú numerické hodnoty. Priemerné hodnoty v tabuľkách a kontingenčných tabuľkách sú zaokrúhlené na najbližšie celé číslo.

  • Prvé – v množine výsledkov vyberie prvý výskyt položky pre miery. Pre vypočítané položky vyberie prvý člen podľa zobrazenia v zozname Vybrané. Nie je k dispozícii v dialógovom okne Upraviť vzorec stĺpca.

  • Posledné – v množine výsledkov vyberie posledný výskyt položky. Pre vypočítané položky vyberie posledný člen podľa zobrazenia v zozname Vybrané. Nie je k dispozícii v dialógovom okne Upraviť vzorec stĺpca.

  • Počet – v množine výsledkov vypočíta počet riadkov, ktoré majú pre položku inú hodnotu než null. Táto položka je zvyčajne názvom stĺpca a v takom prípade sa vráti počet riadkov pre daný stĺpec s hodnotami inými ako null.

  • Počet odlišných hodnôt – k funkcii Počet pridá spracovanie odlišných hodnôt, čo znamená, že každý odlišný výskyt položky sa započíta iba raz.

  • Žiadne – nepoužije sa žiadna agregácia. Nie je k dispozícii pre vypočítané položky v analýzach.

  • Celkový súčet na základe zostavy (ak je použiteľný) – ak táto funkcia nie je vybraná, znamená to, že služba Oracle Analytics vypočítava celkový súčet na základe celej množiny výsledkov, na ktorú ešte neboli použité filtre pre miery. Nie je k dispozícii v dialógovom okne Upraviť vzorec stĺpca ani pre vypočítané položky v analýzach. K dispozícii je len pre stĺpce atribútov.

Funkcia Príklad Popis Syntax

AGGREGATE AT

AGGREGATE(sales AT year)

Vykoná agregáciu stĺpcov na základe úrovní v hierarchii dátového modelu, ktoré zadáte.

  • measure je názov stĺpca miery.
  • level je úroveň, na ktorej chcete vykonať agregáciu.

Voliteľne môžete zadať viac ako jednu úroveň. Nemôžete zadať úroveň z dimenzie obsahujúcej úrovne, ktoré sa používajú ako úroveň miery pre mieru zadanú v prvom argumente. Túto funkciu napríklad nemôžete zapísať ako AGGREGATE(yearly_sales AT month), ak je parameter month z rovnakej dimenzie času, ktorá sa používa aj ako úroveň miery pre parameter yearly_sales.

AGGREGATE(measure AT level [, level1, levelN])

AGGREGATE BY AGGREGATE(sales BY month, region) Vykoná agregáciu miery na základe jedného alebo viacerých stĺpcov dimenzií.
  • measure je názov stĺpca miery, ktorý sa má agregovať.

  • column je stĺpec dimenzie, na základe ktorého chcete vykonať agregáciu.
Miery možno agregovať na základe viac ako jedného stĺpca.
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

Vypočíta priemer (strednú hodnotu) číselnej množiny hodnôt.

AVG(expr)

AVGDISTINCT

 

Vypočíta priemer všetkých odlišných hodnôt výrazu.

AVG(DISTINCT expr)

BIN

BIN(revenue BY productid, year WHERE productid > 2 INTO 4 BINS RETURNING RANGE_LOW)

Delí daný numerický výraz na zadaný počet sektorov s rovnakou šírkou. Funkcia môže vrátiť číslo množiny Bin alebo jeden z dvoch koncových bodov intervalu množiny Bin. numeric_expr je miera alebo numerický atribút pre bin. BY grain_expr1,…, grain_exprN je zoznam výrazov, ktoré definujú granularitu výpočtu numeric_expr. BY sa vyžaduje pre výrazy miery a je voliteľný pre výrazy atribútov. WHERE je filter, ktorý sa použije pre numeric_expr pred priradením numerických hodnôt pre funkciu bin INTO number_of_bins BINS je počet parametrov bin na vrátenie BETWEEN min_value AND max_value sú minimálne a maximálne hodnoty použité pre koncové body najvzdialenejších parametrov bin RETURNING NUMBER značí, že hodnota vrátenia má byť počet parametrov bin (1, 2, 3, 4 atď.). Toto je predvolené nastavenie. RETURNING RANGE_LOW označuje nižšiu hodnotu intervalu bin RETURNING RANGE_HIGH označuje vyššiu hodnotu intervalu bin

BIN(numeric_expr [BY grain_expr1, ..., grain_exprN] [WHERE condition] INTO number_of_bins BINS [BETWEEN min_value AND max_value] [RETURNING {NUMBER | RANGE_LOW | RANGE_HIGH}])

BottomN

 

Zoradí n najnižších hodnôt argumentu výrazu od 1 do n, pričom hodnota 1 zodpovedá najnižšej numerickej hodnote.

expr je ľubovoľný výraz, ktorý sa vyhodnotí na numerickú hodnotu. integer je ľubovoľné kladné celé číslo. Predstavuje dolnú hodnotu počtu poradí zobrazených v množine výsledkov, pričom 1 je najnižšie poradie.

BottomN(expr, integer)

COUNT

COUNT(Products)

Určuje počet položiek s inou hodnotou než null.

COUNT(expr)

COUNTDISTINCT

 

K funkcii COUNT pridá spracovanie odlišných hodnôt.

expr je ľubovoľný výraz.

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

Spočíta počet riadkov.

COUNT(*)

First

First(Sales)

Vyberie prvú vrátenú hodnotu argumentu výrazu inú než null. Funkcia First pracuje na najdetailnejšej úrovni zadanej v explicitne definovanej dimenzii.

First([NumericExpression)]

Last

Last(Sales)

Vyberie poslednú vrátenú hodnotu výrazu inú než null.

Last([NumericExpression)]

MAVG

 

Vypočíta kĺzavý priemer (strednú hodnotu) posledných n riadkov dát v množine výsledkov vrátane aktuálneho riadka.

expr je ľubovoľný výraz, ktorý sa vyhodnotí na numerickú hodnotu. integer je ľubovoľné kladné celé číslo. Predstavuje priemer posledných n riadkov dát.

MAVG(expr, integer)

MAX

MAX(Revenue)

Vypočíta maximálnu hodnotu (najvyššiu numerickú hodnotu) riadkov, ktoré zodpovedajú argumentu numerického výrazu.

MAX(expr)

MEDIAN

MEDIAN(Sales)

Vypočíta medián riadkov, ktoré zodpovedajú argumentu numerického výrazu. V prípade párneho počtu riadkov je medián priemerom dvoch prostredných riadkov. Táto funkcia vždy vráti hodnotu typu double.

MEDIAN(expr)

MIN

MIN(Revenue)

Vypočíta minimálnu hodnotu (najnižšiu numerickú hodnotu) riadkov, ktoré zodpovedajú argumentu numerického výrazu.

MIN(expr)

NTILE

 

Určí poradie hodnoty vyjadrené rozsahom, ktorý zadal používateľ. Vráti celé čísla predstavujúce ľubovoľný rozsah poradí. NTILE s numTiles=100 vráti hodnotu bežne nazývanú percentil (s číslami v rozsahu od 1 do 100, pričom 100 predstavuje strop triedenia).

expr je ľubovoľný výraz, ktorý sa vyhodnotí na numerickú hodnotu. numTiles je kladné celé číslo iné ako null, ktoré predstavuje počet dlaždíc.

NTILE(expr, numTiles)

PERCENTILE

 

Vypočíta percentilové poradie pre každú hodnotu, ktorá zodpovedá argumentu numerického výrazu. Rozsahy percentilového poradia sú medzi 0 (nultý percentil) a 1 (stý percentil).

expr je ľubovoľný výraz, ktorý sa vyhodnotí na numerickú hodnotu.

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

Vypočíta poradie pre každú hodnotu, ktorá zodpovedá argumentu numerického výrazu. Najvyššiemu číslu sa priradí miesto 1 a každé za ním nasledujúce miesto v poradí sa priradí k nasledujúcemu celému číslu (2, 3, 4...). Ak sú niektoré hodnoty rovnaké, priradí sa im rovnaké miesto v poradí (napr. 1, 1, 1, 4, 5, 5, 7...).

expr je ľubovoľný výraz, ktorý sa vyhodnotí na numerickú hodnotu.

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

Vráti štandardnú odchýlku pre množinu hodnôt. Návratový typ je vždy double.

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

Vráti štandardnú odchýlku pre množinu hodnôt, pričom použije výpočtový vzorec pre odchýlku populácie a štandardnú odchýlku.

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

Vypočíta súčet sčítaním všetkých hodnôt, ktoré zodpovedajú argumentu numerického výrazu.

SUM(expr)

SUMDISTINCT

 

Vypočíta súčet sčítaním všetkých odlišných hodnôt, ktoré zodpovedajú argumentu numerického výrazu.

expr je ľubovoľný výraz, ktorý sa vyhodnotí na numerickú hodnotu.

SUM(DISTINCT expr)

TOPN

 

Zoradí n najvyšších hodnôt argumentu výrazu od 1 do n, pričom hodnota 1 zodpovedá najvyššej numerickej hodnote.

expr je ľubovoľný výraz, ktorý sa vyhodnotí na numerickú hodnotu. integer je ľubovoľné kladné celé číslo. Predstavuje hornú hodnotu poradí zobrazených v množine výsledkov, pričom 1 je najvyššie poradie.

TOPN(expr, integer)

Tipy na používanie agregačných funkcií

Tu je niekoľko tipov, ako dosiahnuť najlepšie výsledky pri používaní agregačných funkcií v zošitoch.

Tipy:

  • First, Last. Agregácie Prvé a Posledné nepoužívajte so 100-percentným kumulovaným pruhovým grafom. Pridanie aktuálneho dátumu do poľa By pridá do dopytu granularitu, čím sa pre vizualizáciu vyvolajú všetky riadky plus aktuálny dátum. Funkcia Last vráti posledný riadok v danej množine výsledkov, čo sa líši podľa toho, ako sa dáta vrátia zo zdroja.
  • Min - funkciu Min používajte na výpočet najmenšej hodnoty v množine riadkov. Ak chcete nájsť najmenšiu hodnotu v množine stĺpcov, použite funkciu Evaluate. Príklad:

    evaluate('least(%1,%2,%3)',column date 1,date 2,date 3)