QlikWorld 2020 Global Conference. Join us to discover how to get the most from your data. Act fast. Register now and save.

Sum - funkcja wykresu

Funkcja Sum() oblicza sumę wartości z wyrażenia lub pola dla wszystkich agregowanych danych.

Składnia:  

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

Typ zwracanych danych: liczbowy

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 rekordów zdefiniowanym przez daną 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.
Uwaga: Kwalifikator DISTINCT jest obsługiwany, należy jednak korzystać z niego bardzo ostrożnie, ponieważ może sprawić, że odbiorca uzna, że pokazywana jest wartość łączna, podczas gdy w rzeczywistości niektóre dane zostały pominięte.
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.

Po kwalifikatorze TOTAL może następować lista zawierająca co najmniej jedną nazwę pola w nawiasach trójkątnych <fld>. Te nazwy pól powinny być podzbiorem zmiennych wymiaru wykresu.

Zob.: Określenie zakresu agregacji

Przykłady i wyniki:  

Customer Product UnitSales UnitPrice
Astrida AA 4 16
Astrida AA 10 15
Astrida BB 9 9
Betacab BB 5 10
Betacab CC 2 20
Betacab DD - 25
Canutility AA 8 15
Canutility CC - 19
Przykłady Wyniki

Sum(UnitSales)

38. Łączna suma wartości z kolumny UnitSales.

Sum(UnitSales*UnitPrice)

505. Łączna suma wartości z kolumny UnitPrice pomnożonych przez wartości z kolumny UnitSales.

Sum(TOTAL UnitSales*UnitPrice)

505 dla wszystkich wierszy w tabeli oraz jako łączna suma, ponieważ kwalifikator TOTAL informuje o tym, że suma nadal wynosi 505, bez uwzględnienia wymiarów wykresu.

Wybierz Customer B.

Sum({1} TOTAL UnitSales*UnitPrice)

505, niezależnie od dokonanej selekcji, ponieważ wyrażenie Set Analysis {1} określa zestaw rekordów, które zostaną ocenione w kategorii ALL, bez względu na dokonaną selekcję.

Dane używane w przykładach:

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD||25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');