Count — funkcja wykresu

Funkcja Count() służy do agregowania liczby wartości (tekstowych i liczbowych) w poszczególnych wymiarach wykresu.

Syntax:  

Count({[SetExpression] [DISTINCT] [TOTAL [<fld {,fld}>]]} expr)

Return data type: integer

Arguments:  

Argument Opis
expr Wyrażenie lub pole zawierające mierzone dane.
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

Examples and results:  

Customer Product OrderNumber UnitSales Unit Price
Astrida AA 1 4 16
Astrida AA 7 10 15
Astrida BB 4 9 9
Betacab BB 6 5 10
Betacab CC 5 2 20
Betacab DD 1 25 25
Canutility AA 3 8 15
Canutility CC     19
Divadip AA 2 4 16
Divadip DD 3   25

O ile nie podano inaczej, w poniższych przykładach założono, że selekcja obejmuje wszystkich klientów.

Przykład Wynik
Count(OrderNumber)

10, ponieważ istnieje dziesięć pól, które mogłyby mieć przypisaną wartość w kolumnie OrderNumber (uwzględniane są wszystkie rekordy, nawet puste).

Uwaga: „0” liczy się jako wartość, a nie jako pusta komórka. Jeśli jednak agregacja miary dla pewnego wymiaru da wynik 0, wymiar ten nie będzie uwzględniany na wykresach.
Count(Customer) 10, ponieważ funkcja Count ocenia liczbę wystąpień we wszystkich polach.
Count(DISTINCT [Customer]) 4, ponieważ zastosowanie kwalifikatora Distinct oznacza, że funkcja Count ocenia wyłącznie niepowtarzalne wystąpienia.

Przy założeniu, że wybrano klienta Canutility

Count(OrderNumber)/Count({1} TOTAL OrderNumber)

0,2, ponieważ wyrażenie to zwraca liczbę zamówień wybranego klienta jako procent zamówień wszystkich klientów. W tym przypadku jest to 2/10.

Przy założeniu, że wybrano klientów Astrida i Canutility

Count(TOTAL <Product> OrderNumber)

5, ponieważ jest to liczba zamówień złożonych na produkty wybranych klientów (uwzględniane są również komórki puste).

Dane zastosowane w przykładach:

Temp:

LOAD * inline [

Customer|Product|OrderNumber|UnitSales|UnitPrice

Astrida|AA|1|4|16

Astrida|AA|7|10|15

Astrida|BB|4|9|9

Betacab|CC|6|5|10

Betacab|AA|5|2|20

Betacab|BB|1|25| 25

Canutility|AA|3|8|15

Canutility|CC|||19

Divadip|CC|2|4|16

Divadip|DD|3|1|25

] (delimiter is '|');