Stany alternatywne
Opis
Stany alternatywne umożliwiają analizę porównawczą zbiorów wielu elementów danych, na przykład dla potrzeb analizy koszyka. Każdy stan obejmuje zbiór selekcji.
Programista QlikView może tworzyć wiele stanów w obrębie dokumentu QlikView i stosować je do konkretnych obiektów w dokumencie. Użytkownik może tworzyć kopie tych obiektów (obiektów serwera), a następnie ustawiać różne ich stany.
Najważniejsza różnica między odłączeniem a stanami alternatywnymi polega na tym, że WSZYSTKIE obiekty będące w określonym stanie będą reagować na selekcje użytkownika dokonane w tym stanie. Na obiekty będące w określonym stanie nie mają wpływu selekcje dokonywane przez użytkownika w innych stanach.
Funkcja stanów alternatywnych nie jest dostępna w skrypcie ładowania.
Ustawianie stanów alternatywnych
Aby włączyć i ustawić stany alternatywne, wykonaj następujące czynności:
- Kliknij przycisk Stany alternatywne... na karcie Właściwości dokumentu: Ogólne.
Zostanie wyświetlone okno dialogowe Stany alternatywne. - Klikając przycisk Dodaj..., utwórz dowolną liczbę stanów i nadaj im nazwy. Nadane nazwy będą identyfikatorami stanów.
- Kliknij przycisk OK, aby zamknąć okno dialogowe.
Teraz programista QlikView może tworzyć nowe stany alternatywne z poziomu obiektów na ekranie.
Użytkownicy otwierający dokumenty QlikView z serwera QlikView Server mogą korzystać ze stanów alternatywnych, ale nie mogą ich tworzyć.
Przypisywanie stanów do obiektów
Aby przypisać stan do obiektu, wykonaj następujące czynności:
- Otwórz okno dialogowe Właściwości i wybierz kartę Ogólne.
- Jako wartość opcji Stan alternatywny ustaw identyfikator stanu, który ma być używany dla obiektu.
Od tego momentu obiekt będzie niezależny od reszty dokumentu z punktu widzenia selekcji, chyba że inne obiekty również zostaną ustawione na ten sam stan.
Dwa stany są zawsze dostępne: stan domyślny i dziedziczony. Stan domyślny jest używany podczas większości operacji w aplikacji QlikView i jest oznaczany symbolem $. Dokument QlikView zawsze ma stan domyślny. Obiekty mogą dziedziczyć stany z obiektów wyższego poziomu, na przykład arkuszy i kontenerów. Oznacza to, że stany są dziedziczone w następującej kolejności: Dokument — Arkusz — Obiekty arkusza. Arkusze i obiekty arkusza zawsze mają stan dziedziczone, chyba że programista QlikView ustawi inny.
Porównywanie stanów alternatywnych
Dwa stany tego samego obiektu można porównywać. Można na przykład utworzyć wykres liniowy pokazujący oba stany danych na tej samej osi przez przypisanie stanu w wyrażeniu w ramach analizy zestawów.
Przykład:
Zdefiniowane są stany Group1 oraz Group2odpowiadające grupom. Aby porównać średnią wartość pola Adj.Close dla obu grup, można wyświetlić następujące dwa wyrażenia na wykresie liniowym:
Avg({[Group1]} [Adj.Close])
Avg({[Group2]} [Adj.Close])
Logika działań podczas używania stanów alternatywnych
Naciśnięcie przycisku Wyczyść ma wpływ na wszystkie stany.
We wtyczce przeglądarki Internet Explorer dodano do menu rozwijanego przycisku Wyczyść pozycję umożliwiającą użytkownikowi wyczyszczenie selekcji konkretnego stanu. To menu nie jest dostępne w kliencie Ajax, ale ten sam efekt można osiągnąć, tworząc przycisk akcji powiązany z akcją Wyczyść dotyczącą konkretnego stanu.
Naciskanie przycisków Wstecz i Do przodu wpływa na wszystkie stany. Nie istnieje żaden mechanizm przechodzenia wstecz i do przodu przez konkretne stany.
Naciskanie przycisków Zablokuj i Odblokuj wpływa na wszystkie stany. Nie ma możliwości blokowania ani odblokowywania konkretnych stanów z użyciem tych przycisków. Zablokowanie konkretnego pola w określonym stanie jest możliwe poprzez użycie menu kontekstowego listy wartości w konkretnym stanie.
Pozycje menu Selekcje mają zastosowanie do wszystkich stanów. W tym menu nie istnieje żaden mechanizm działania na konkretne stany obiektów.
Stanów alternatywnych można używać z obiektami powiązanymi. Stan ma zastosowanie do wszystkich instancji obiektu. Zmiana stanu obiektu powiązanego spowoduje przełączenie pozostałych obiektów powiązanych w ten sam stan.
Możliwe jest ustawienie uruchamiania akcji w konkretnych stanach. Znanym wyjątkiem jest tu akcja Uruchom makro. Możliwe jest ustawienie jej uruchomienia w pewnym konkretnym stanie, lecz same makra są uruchamiane we wszystkich stanach.
Obiekty korzystające z brakującego stanu (stanu usuniętego przez programistę) powrócą do stanu domyślnego, a w menu rozwijanym Stan alternatywny będzie wyświetlana informacji postaci:
AlternateStateName <unavailable>.
Ze stanami alternatywnymi można używać jedynie funkcji pól posiadających argument State.
Zmienne w stanach alternatywnych
Można określić, który stan ma być użyty podczas rozwijania zmiennej. Zmiany w określonym stanie nie wpływają na wartości zmiennych, które są rozwijane w innym stanie. W przypadku nieokreślenia stanu zmienna jest rozwijana w stanie domyślnym.
Przykład:
Jeśli stan ma nazwę MójStan, a zmienna vMojaZm:
- $(vMyVar) rozwija zmienną w stanie domyślnym.
- $({MyState} vMyVar) rozwija zmienną w stanie MójStan.