Correl — funkcja wykresu

Funkcja Correl() zwraca zagregowany współczynnik korelacji dwóch zestawów danych. Funkcja korelacji stanowi miarę związku między zestawami danych, a agregacja jest wykonywana dla par wartości (x,y) iterowanych po wykresach wymiaru.

Syntax:  

Correl([{SetExpression}] [DISTINCT] [TOTAL [<fld{, fld}>]] value1, value2 )

Return data type: numeric

Arguments:  

Argument Opis
value1, value2 Wyrażenia lub pola zawierające dwa zestawy prób, dla których będzie obliczany współczynnik korelacji.
SetExpression Funkcja agregacji będzie domyślnie dokonywać agregacji na zbiorze możliwych wierszy zdefiniowanym przez selekcję. Alternatywny zestaw wierszy można zdefiniować za pomocą wyrażenia analizy zestawów.
DISTINCT Jeśli przed argumentami funkcji występuje słowo DISTINCT, wówczas duplikaty wynikające z wyników obliczenia argumentów funkcji są pomijane.
TOTAL

Jeśli słowo TOTAL występuje przed argumentami funkcji, wówczas obliczenie jest wykonywane względem wszystkich możliwych wartości z uwzględnieniem bieżących selekcji, nie tylko tych należących do bieżącej wartości wymiaru, to znaczy z pominięciem wymiarów wykresu.

Korzystając z polecenia TOTAL [<fld {.fld}>], gdzie po kwalifikatorze TOTAL podana jest lista nazw pól stanowiących podzbiór zmiennych wymiarów wykresu, można utworzyć podzbiór wszystkich możliwych wartości.

Określenie zakresu agregacji

Limitations:  

Wyrażenie nie może zawierać funkcji agregacji, chyba że takie wewnętrzne agregacje zawierają kwalifikator TOTAL. W przypadku bardziej zaawansowanych agregacji zagnieżdżonych należy stosować zaawansowaną funkcję agregacji Aggr w połączeniu z wymiarami wyliczanymi.

Wartości tekstowe, wartości NULL i wartości brakujące w dowolnej części pary danych powodują pominięcie całej pary danych.

Examples and results:  

Przykład Wynik
Correl(Age, Salary)

W przypadku tabeli zawierającej wymiar Employee name i miarę Correl(Age, Salary), wynik wynosi 0,9270611. Wynik ten jest wyświetlany tylko dla komórki sumy.

Correl(TOTAL Age, Salary))

0.927. W celu zapewnienia większej przejrzystości ten i następne wyniki są wyświetlane z trzema miejscami po przecinku.

Jeśli utworzysz panel filtrowania z wymiarem Gender, a następnie dokonasz w nim selekcji, wówczas pojawi się wynik 0,951 w przypadku selekcji Female oraz wynik 0,939 w przypadku selekcji Male. Przyczyną jest to, że selekcja wyklucza wszystkie wyniki, które nie należą do drugiej wartości wymiaru Gender.

Correl({1} TOTAL Age, Salary))

0.927. Niezależnie od selekcji. Przyczyną jest to, że wyrażenie zestawu {1} pomija wszystkie selekcje i wymiary.

Correl(TOTAL <Gender> Age, Salary))

0,927 w komórce sumy, 0,939 dla wszystkich wartości Male oraz 0,951 dla wszystkich wartości Female. To odpowiada wynikom w przypadku selekcji w panelu filtrowania na podstawie wymiaru Gender.

Dane zastosowane w przykładach:

Salary:

LOAD * inline [

"Employee name"|Gender|Age|Salary

Aiden Charles|Male|20|25000

Brenda Davies|Male|25|32000

Charlotte Edberg|Female|45|56000

Daroush Ferrara|Male|31|29000

Eunice Goldblum|Female|31|32000

Freddy Halvorsen|Male|25|26000

Gauri Indu|Female|36|46000

Harry Jones|Male|38|40000

Ian Underwood|Male|40|45000

Jackie Kingsley|Female|23|28000

] (delimiter is '|');