Count — funkcja wykresu
Funkcja Count() służy do agregowania liczby wartości (tekstowych i liczbowych) w poszczególnych wymiarach wykresu.
Składnia:
Count({[SetExpression] [DISTINCT] [TOTAL [<fld {,fld}>]]} expr)
Typ zwracanych danych: integer
Argumenty:
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. |
Przykłady i wyniki:
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). Informacja„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 '|');