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.

Uwaga: Funkcja stanów alternatywnych musi być włączona przez programistę QlikView. Należy jej używać z rozwagą, ponieważ nie ma żadnych automatycznych informacji ekranowych o stanach alternatywnych obiektów i wyrażeń ani odwołaniach do takich stanów, co może potencjalnie być bardzo mylące dla użytkowników. Programista QlikView musi we własnym zakresie dopilnować, aby taka informacja była użytkownikowi prezentowana, używając funkcji StateName().

Ustawianie stanów alternatywnych

Aby włączyć i ustawić stany alternatywne, wykonaj następujące czynności:

  1. Kliknij przycisk Stany alternatywne... na karcie Właściwości dokumentu: Ogólne.
    Zostanie wyświetlone okno dialogowe Stany alternatywne.
  2. Klikając przycisk Dodaj..., utwórz dowolną liczbę stanów i nadaj im nazwy. Nadane nazwy będą identyfikatorami stanów.
  3. 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:

  1. Otwórz okno dialogowe Właściwości i wybierz kartę Ogólne.
  2. 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 i Group2 odpowiadają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.

Zmienne odnoszą się do stanu domyślnego. Zmiany w pozostałych stanach nie wpływają na wartości zmiennych.

Uwaga: Wyzwalacze są uruchamiane we wszystkich stanach.

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

Uwaga:

Ze stanami alternatywnymi można używać jedynie funkcji pól posiadających argument State.

Zob.: Funkcje pól