Funkcje agregacji

Funkcje agregacji wykonują operacje na wielu wartościach w celu uzyskania wyników podsumowujących.

Poniżej opisano reguły agregacji dostępne dla kolumn i dla kolumn miar. Lista ta zawiera także funkcje, których można używać podczas tworzenia elementów obliczanych dla analiz.

  • Domyślnie - Stosuje domyślną regułę agregacji jak w modelu semantycznym albo określoną przez pierwotnego autora analizy. Niedostępna dla elementów obliczanych w analizach.

  • Ustalane przez serwer - Stosuje regułę agregacji ustalaną przez Oracle Analytics (na przykład regułę zdefiniowaną w modelu semantycznym). Agregacja jest wykonywana w Oracle Analytics dla prostych reguł, takich jak "Suma", "Minimum" i "Maksimum". Niedostępna dla kolumn miar w okienku "Układ" ani dla elementów obliczanych w analizach.

  • Suma - Oblicza sumę uzyskiwaną przez dodanie wszystkich wartości w zbiorze wyników. Używana dla elementów zawierających wartości liczbowe.

  • Minimum - Oblicza wartość minimalną (najmniejszą wartość liczbową) dla wierszy w zbiorze wyników. Używana dla elementów zawierających wartości liczbowe.

  • Maksimum - Oblicza wartość maksymalną (największą wartość liczbową) dla wierszy w zbiorze wyników. Używana dla elementów zawierających wartości liczbowe.

  • Średnia - Oblicza wartość średnią elementu w zbiorze wyników. Używana dla elementów zawierających wartości liczbowe. Średnie dla tabel (w tym tabel przestawnych) są zaokrąglane do najbliższej liczby całkowitej.

  • Pierwsze - Wybiera w zbiorze wyników pierwsze wystąpienie elementu dla miar. Dla elementów obliczanych wybiera pierwszy element zgodnie z kolejnością na liście "Wybrane". Niedostępna w oknie dialogowym "Edycja formuły kolumny".

  • Ostatnie - Wybiera w zbiorze wyników ostatnie wystąpienie elementu. Dla elementów obliczanych wybiera ostatni element zgodnie z kolejnością na liście "Wybrane". Niedostępna w oknie dialogowym "Edycja formuły kolumny".

  • Licznik - Oblicza liczbę wierszy (w zbiorze wyników) mających dla elementu wartość nie-Null. Elementem jest zazwyczaj nazwa kolumny i w takim przypadku jest zwracana liczba wierszy, które w tej kolumnie nie mają wartości Null.

  • Licznik dystynktywny - Dodaje do funkcji Licznik przetwarzanie dystynktywne, co oznacza, że każde rozróżniane wystąpienie elementu jest liczone tylko raz.

  • Brak - Bez agregacji. Niedostępna dla elementów obliczanych w analizach.

  • Podsumowanie wykorzystujące raport (gdy stosowne) - Jeśli nie zostanie wybrana, to określa, że Oracle Analytics ma obliczyć podsumowanie na podstawie całego zbioru wyników, bez stosowania jakichkolwiek filtrów do miar. Niedostępna w oknie dialogowym "Edycja formuły kolumny" ani dla elementów obliczanych w analizach. Dostępna tylko dla kolumn atrybutowych.

Funkcja Przykład Opis Składnia

AGGREGATE AT

AGGREGATE(sales AT year)

Agreguje kolumny na podstawie poziomów w hierarchii modelu danych, określonych przez użytkownika.

  • measure jest nazwą kolumny miar.
  • level jest poziomem, na podstawie którego ma być wykonana agregacja.

Można określić więcej niż jeden poziom. Nie można określić poziomu z wymiaru, który zawiera poziomy używane przez poziom miary określonej jako pierwszy argument. Na przykład nie można napisać funkcji AGGREGATE(yearly_sales AT month), jeśli zmienna month pochodzi z tego samego wymiaru "czas", który jest używany jako poziom miary yearly_sales.

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

AGGREGATE BY AGGREGATE(sales BY month, region) Agreguje miarę na podstawie kolumn(y) wymiarów.
  • measure jest nazwą kolumny miar do agregacji.

  • column jest kolumną wymiaru, na podstawie której ma być wykonana agregacja.
Miary można agregować na podstawie więcej niż jednej kolumny.
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

Oblicza wartość średnią (oczekiwaną) zbioru wartości liczbowych.

AVG(expr)

AVGDISTINCT

 

Oblicza wartość średnią wszystkich dystynktywnych wartości wyrażenia.

AVG(DISTINCT expr)

BIN

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

Klasyfikuje dane wyrażenie liczbowe do określonej liczby pojemników o jednakowej szerokości. Funkcja może zwrócić numer pojemnika albo jeden z dwóch punktów końcowych zakresu przedziału. numeric_expr jest miarą (lub atrybutem liczbowym) używaną przy przypisywaniu do pojemników. BY grain_expr1,…, grain_exprN jest listą wyrażeń określających szczegółowość obliczania wyrażenia numeric_expr. BY jest wymagane dla wyrażeń miary i jest opcjonalne dla wyrażeń atrybutów. WHERE jest filtrem stosowanym do numeric_expr, zanim wartości liczbowe zostaną przypisane do pojemników. INTO number_of_bins BINS jest liczbą zwracanych pojemników. BETWEEN min_value AND max_value są wartościami minimalną i maksymalną, używanymi dla punktów końcowych pojemników krańcowych. RETURNING NUMBER sygnalizuje, że zwracaną wartością ma być numer pojemnika (1, 2, 3, 4 itd.). Jest to wartość domyślna. RETURNING RANGE_LOW sygnalizuje dolną wartość przedziału pojemnika. RETURNING RANGE_HIGH sygnalizuje górną wartość przedziału pojemnika.

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

 

Klasyfikuje n najmniejszych wartości argumentu wyrażenia od 1 do n, przy czym 1 odpowiada najmniejszej wartości liczbowej.

expr jest dowolnym wyrażeniem dającym w wyniku wartość liczbową. integer jest dowolną dodatnią liczbą całkowitą. Reprezentuje dolny numer klasyfikacji, wyświetlany w zbiorze wyników. 1 jest klasyfikacją najniższą.

BottomN(expr, integer)

COUNT

COUNT(Products)

Oblicza liczbę elementów o wartościach niebędących Null.

COUNT(expr)

COUNTDISTINCT

 

Dodaje przetwarzanie dystynktywne do funkcji COUNT.

expr jest dowolnym wyrażeniem.

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

Zlicza liczbę wierszy.

COUNT(*)

Pierwszy

First(Sales)

Wybiera pierwszą zwróconą wartość wyrażenia inną niż Null. Funkcja First działa na najbardziej szczegółowym poziomie określonym dla jawnie zdefiniowanego wymiaru.

First([NumericExpression)]

Last

Last(Sales)

Wybiera ostatnią zwróconą wartość wyrażenia inną niż Null.

Last([NumericExpression)]

MAVG

 

Oblicza średnią ruchomą dla ostatnich n wierszy danych w zbiorze wyników, włącznie z wierszem bieżącym.

expr jest dowolnym wyrażeniem dającym w wyniku wartość liczbową. integer jest dowolną dodatnią liczbą całkowitą. Reprezentuje średnią z ostatnich n wierszy danych.

MAVG(expr, integer)

MAX

MAX(Revenue)

Oblicza wartość maksymalną (najmniejszą wartość liczbową) dla wierszy odpowiadających argumentowi mającemu postać wyrażenia liczbowego.

MAX(expr)

MEDIAN

MEDIAN(Sales)

Oblicza wartość mediany (wartość środkową) dla wierszy odpowiadających argumentowi mającemu postać wyrażenia liczbowego. Jeśli jest parzysta liczba wierszy, mediana jest średnią dwóch środkowych wierszy. Ta funkcja zawsze zwraca wartość typu double.

MEDIAN(expr)

MIN

MIN(Revenue)

Oblicza wartość minimalną (najmniejszą wartość liczbową) dla wierszy odpowiadających argumentowi mającemu postać wyrażenia liczbowego.

MIN(expr)

NTILE

 

Ustala klasyfikację wartości z użyciem przedziału określonego przez użytkownika. Zwraca liczby całkowite reprezentujące dowolny zakres klasyfikacji. NTILE z numTiles=100 zwraca centyl (z numerami od 1 do 100, gdzie 100 reprezentuje największe wartości).

expr jest dowolnym wyrażeniem dającym w wyniku wartość liczbową. numTiles jest dodatnią liczbą całkowitą nie-Null reprezentującą liczbę diapazonów.

NTILE(expr, numTiles)

PERCENTILE

 

Oblicza klasyfikację centylową dla każdej wartości odpowiadającej argumentowi mającemu postać wyrażenia liczbowego. Przedział klasyfikacji centylowych zawiera się od 0 (centyl zerowy) do 1 (centyl setny) włącznie.

expr jest dowolnym wyrażeniem dającym w wyniku wartość liczbową.

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

Oblicza klasyfikację poszczególnych wartości odpowiadających argumentowi wyrażenia liczbowego. Największej liczbie jest przypisywana pozycja 1, a każdej kolejnej pozycji jest przypisywana następna liczba całkowita (2, 3, 4, ...). Jeśli jakieś wartości są jednakowe, to jest im przypisywana ta sama pozycja (np. 1, 1, 1, 4, 5, 5, 7 ...).

expr jest dowolnym wyrażeniem dającym w wyniku wartość liczbową.

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

Zwraca odchylenie standardowe dla zbioru wartości. Ta funkcja zawsze zwraca wartość typu double.

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

Zwraca odchylenie standardowe dla zbioru wartości, używając obliczeniowego wzoru na wariancję populacji i odchylenie standardowe.

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

Oblicza sumę uzyskiwaną przez dodanie wszystkich wartości odpowiadających argumentowi mającemu postać wyrażenia liczbowego.

SUM(expr)

SUMDISTINCT

 

Oblicza sumę uzyskiwaną przez dodanie wszystkich różnych (dystynktywnych) wartości odpowiadających argumentowi mającemu postać wyrażenia liczbowego.

expr jest dowolnym wyrażeniem dającym w wyniku wartość liczbową.

SUM(DISTINCT expr)

TOPN

 

Oblicza klasyfikację n największych wartości argumentu wyrażenia od 1 do n, przy czym 1 odpowiada największej wartości liczbowej.

expr jest dowolnym wyrażeniem dającym w wyniku wartość liczbową. integer jest dowolną dodatnią liczbą całkowitą. Reprezentuje górny numer klasyfikacji, wyświetlany w zbiorze wyników. 1 jest klasyfikacją najwyższą.

TOPN(expr, integer)

Wskazówki dotyczące korzystania z funkcji agregacji

Oto kilka wskazówek dotyczących tego, jak uzyskiwać najlepsze wyniki podczas korzystania z funkcji agregacji w skoroszytach.

Wskazówki:

  • First, Last. Unikać stosowania agregacji typu "Pierwsze" i "Ostatnie" w przypadku wykresów słupkowych skumulowanych 100%. Dodanie bieżącej daty do klauzuli By powoduje dodanie poziomu szczegółowości do zapytania, które pobiera wszystkie wiersze na potrzeby wizualizacji i dodatkowo bieżącą datę. Funkcja Last zwraca wówczas ostatni wiersz w tym zbiorze wyników, który różni się w zależności od tego, w jaki sposób dane są zwracane ze źródła.
  • Min - funkcja Min służy do obliczania najmniejszej wartości w zbiorze wierszy. Aby znaleźć najmniejszą wartość w zbiorze kolumn, należy użyć funkcji Evaluate. Na przykład:

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