États alternatifs
Description
Les états alternatifs vous permettent d'effectuer une analyse comparative entre des ensembles d'éléments de données multiples, par exemple pour les besoins d'une analyse de panier d'achat. Un état conserve un ensemble de sélections.
Le développeur QlikView peut créer plusieurs états au sein d'un document QlikView pour les appliquer à des objets précis contenus dans le document. L'utilisateur final a la possibilité de créer des copies de ces objets (objets serveur) afin de les définir dans des états différents.
La différence la plus significative entre le détachement et les états alternatifs est le fait que TOUS les objets définis dans un état donné répondent aux sélections de l'utilisateur effectuées dans l'état en question. Les objets définis dans un état donné ne sont pas affectés par les sélections que l'utilisateur effectue dans d'autres états.
La fonctionnalité États alternatifs n'est pas accessible dans le script de chargement (load).
Définition d'états alternatifs
Pour activer et définir des états alternatifs, procédez comme suit :
- Cliquez sur États alternatifs... sous l'onglet Propriétés du document : Général.
La boîte de dialogue États alternatifs s'ouvre. - Cliquez sur Ajouter... pour créer différents états et leur attribuer un nom. Ces noms seront désignés comme des identificateurs d'état.
- Cliquez sur OK pour fermer la boîte de dialogue.
Le développeur QlikView a désormais la possibilité de créer de nouveaux états alternatifs à partir d'objets affichés à l'écran.
Les utilisateurs finaux qui ont accès aux documents QlikView à partir de QlikView Server peuvent utiliser les états alternatifs existants, mais pas en créer d'autres.
Attribution d'états à des objets
Pour attribuer un état à un objet, procédez comme suit :
- Ouvrez la boîte de dialogue Propriétés, puis sélectionnez l'onglet Général.
- Définissez État alternatif sur l'identificateur d'état à utiliser pour l'objet.
L'objet est désormais indépendant du reste du document en termes de sélection, à moins que d'autres objets soient définis sur le même état.
Deux états sont disponibles en permanence : l'état par défaut et l'état hérité. L'état par défaut est celui dans lequel la plupart des actions QlikView se produisent. Il est représenté par le symbole $. Le document QlikView est toujours défini dans l'état par défaut. Les objets peuvent hériter d'états provenant d'objets de niveau supérieur, tels que les feuilles et les conteneurs. Autrement dit, les états sont hérités dans l'ordre suivant : Document - Feuille - Objets de la feuille. Les feuilles et les objets de la feuille sont toujours définis dans l'état hérité, à moins que le développeur QlikView ne remplace cet état par un autre.
Comparaison d'états alternatifs
Vous avez la possibilité de comparer deux états pour un même objet. Par exemple, vous pouvez créer un graphique en courbes pour afficher les deux états des données sur le même axe en attribuant un état dans l'expression à l'aide de l'analyse d'ensembles.
Si vous avez défini les états Group1 et Group2, vous pouvez comparer la moyenne du champ Adj.Close des groupes en présentant ces deux expressions dans un graphique en courbes :
Avg({[Group1]} [Adj.Close])
Avg({[Group2]} [Adj.Close])
Comportement logique lors de l'utilisation des états alternatifs
Un clic sur le bouton Effacer agit sur tous les états.
Dans le plug-in Internet Explorer, un élément de menu a été ajouté au menu déroulant du bouton Effacer pour permettre à l'utilisateur d'effacer les sélections d'un état spécifique. Ce menu n'est pas disponible dans le client Ajax, mais il est possible d'obtenir une fonction équivalente en créant un bouton d'action connecté à l'action Effacer et doté d'un état spécifique.
Un clic sur les boutons Précédent et Suivant agit sur tous les états. Il n'existe aucun mécanisme permettant de faire défiler des états spécifiques vers l'avant ou vers l'arrière.
Un clic sur les boutons Verrouiller et Déverrouiller agit sur tous les états. Ces boutons ne permettent pas de verrouiller ni de déverrouiller des états spécifiques. Il est possible de verrouiller des champs spécifiques d'états grâce au menu disponible sur clic droit des listes de sélection d'un état spécifique.
Les éléments du menu Sélections s'appliquent à tous les états. Ce menu ne comporte aucun mécanisme permettant d'agir sur des états spécifiques.
Il est possible d'utiliser les états alternatifs avec des objets liés. L'état s'applique à toutes les instances d'un objet. Le changement d'état d'un objet lié se répercute sur les autres objets liés définis dans le même état.
Il est possible de définir l'exécution de certaines actions dans des états précis. L'action Exécute une macro est une exception connue. Même si cette action peut être définie pour s'exécuter dans un état spécifique, les macros, elles, se déclenchent dans n'importe quel état.
Les objets faisant appel à un état manquant (qui a été supprimé par un développeur) sont réinitialisés sur l'état par défaut bien que la liste déroulante État alternatif affiche des informations de ce type :
AlternateStateName <non disponible>.
Vous pouvez uniquement utiliser des fonctions de champ avec un argument de type State (État) combiné à l'option États alternatifs.
Variables dans des états alternatifs
Vous pouvez spécifier quel état utiliser lors du développement d'une variable. Les changements d'un état spécifique n'affectent pas les valeurs des variables qui sont développées dans un autre état. Si vous ne spécifiez pas d'état, la variable est développée dans l'état par défaut.
Si vous avez un état nommé MyState et une variable nommée vMyVar :
- $(vMyVar) développe la variable dans l'état par défaut.
- $({MyState} vMyVar) développe la variable dans l'état MyState.