Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Only

Only() Funkcja zwraca wartość tylko wtedy, gdy z agregowanych danych możliwy jest dokładnie jeden wynik. Na przykład wyrażenie szukające jedynego produktu o cenie jednostkowej równej 9 zwróci NULL, jeśli istnieje więcej niż jeden produkt o cenie jednostkowej równej 9.

Składnia:  

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

Typ zwracanych danych: podwójny

Argumenty:  

  • 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.
  • 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.

    Określenie zakresu agregacji

WskazówkaZ funkcji Only() należy skorzystać, jeśli w przypadku występowania w danych z próby wielu tych samych wartości ma zostać zwrócona wartość NULL.

Przykłady:  

Przykłady i wyniki
Przykład Wynik

Only({<UnitPrice={9}>} Product)

BB, ponieważ jest to jedyna wartość w kolumnie Product, dla której wartość w kolumnie UnitPrice wynosi 9.

Only({<Product={DD}>} Customer)

Betacab, ponieważ jest to jedyna wartość w kolumnie Customer, dla której wartość w kolumnie Product to DD.

Only({<UnitPrice={20}>} UnitSales)

Wartość w kolumnie UnitSales, dla której wartość w kolumnie UnitPrice wynosi 20, to 2, ponieważ jest tylko jedna wartość w kolumnie UnitSales, dla której wartość w kolumnie UnitPrice wynosi 20.

Only({<UnitPrice={15}>} UnitSales)

NULL, ponieważ istnieją dwie wartości w kolumnie UnitSales, dla których wartość w kolumnie UnitPrice wynosi 15.

Dane zastosowane 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 '|');

 

Przykładowe dane w formie tabeli
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

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!

Dołącz do Programu Modernizacji Analityki

Remove banner from view

Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com