ValueList()

ValueList() crée une dimension synthétique à partir d’une liste fixe de valeurs, sans charger de table supplémentaire dans le modèle associatif. Idéal pour présenter des indicateurs ou des lignes de synthèse personnalisées.

Présentation

Pour afficher « Reçus », « Validés » et « Rejetés » sur trois lignes d'un même tableau de contrôle, inutile de créer une table artificielle. ValueList() fabrique cette dimension directement dans l'objet. Associée à Pick() et Match(), elle permet d'afficher la bonne mesure pour chaque ligne. Garde les libellés et leur ordre identiques entre la dimension et la mesure : un décalage donne vite un résultat trompeur.

Syntaxe

ValueList(v1 [, v2, ...])
ParamètreDescription
value1, value2, …Valeurs littérales à afficher dans la dimension calculée.

Exemples pratiques

Afficher trois états de validation sans table dédiée

Cas SOSBI · contrôle de flux. Une dimension artificielle permet d’aligner trois indicateurs de traitement.

Expression Qlik

// Dimension calculée
=ValueList('Reçus', 'Validés', 'Rejetés')

// Mesure
=Pick(
  Match(ValueList('Reçus', 'Validés', 'Rejetés'),
        'Reçus', 'Validés', 'Rejetés'),
  Count(LotID),
  Count({<Statut={'Validé'}>} LotID),
  Count({<Statut={'Rejeté'}>} LotID)
)

Données de départ

Lots de traitement
LotIDStatut
L-01Validé
L-02Validé
L-03Rejeté
L-04En cours

Résultat

Reçus : 4 ; Validés : 2 ; Rejetés : 1.

Le quatrième lot est encore en cours : il figure dans le total reçu, mais ni dans les validés ni dans les rejetés.

Tableau comptable avec une mesure propre à chaque ligne

Cas d’usage · reporting comptable

Expression Qlik

// Dimension calculée
=ValueList('Achats', 'Ventes', 'Personnel', 'Résultat')

// Mesure du tableau (expression distincte)
=Pick(
    Match(
        ValueList('Achats', 'Ventes', 'Personnel', 'Résultat'),
        'Achats', 'Ventes', 'Personnel', 'Résultat'
    ),
    Sum({<NatureComptable={'ACH'}>} Montant),
    Sum({<NatureComptable={'VTE'}>} Montant),
    Sum({<NatureComptable={'PER'}>} Montant),
    Sum({<NatureComptable={'VTE'}>} Montant)
      - Sum({<NatureComptable={'ACH','PER'}>} Montant)
)

Données de départ

Montants par NatureComptable
ACH = 150 000
VTE
400 000
PER
100 000.

Résultat

Achats : 150 000 | Ventes : 400 000 | Personnel : 100 000 | Résultat : 150 000

Créer une dimension calculée et une mesure séparée dans le même tableau. Pick()/Match() choisit la formule selon la ligne. Le résultat présenté est illustratif, avant autres sélections.

Afficher plusieurs indicateurs dans un seul tableau

Cas d’usage · tableau d’indicateurs

Expression Qlik

// Dimension calculée
=ValueList('Commandes', 'Chiffre d’affaires', 'Panier moyen')

// Mesure du tableau
=Pick(
    Match(
        ValueList('Commandes', 'Chiffre d’affaires', 'Panier moyen'),
        'Commandes', 'Chiffre d’affaires', 'Panier moyen'
    ),
    Count(CommandeID),
    Sum(CA),
    Avg(CA)
)

Données de départ

Données de ventes
12 commandes
CA total
24 000
panier moyen
2 000.

Résultat

Commandes : 12 | Chiffre d’affaires : 24 000 | Panier moyen : 2 000

Une ligne peut afficher un comptage, une somme ou une moyenne. L’exemple suppose une ligne par commande dans la source.

Précisions techniques

  • Les libellés sont fixes : ValueList() ne récupère pas automatiquement toutes les valeurs d’un champ NatureComptable.
  • Dans la mesure, répéter exactement le même ValueList() que dans la dimension pour identifier la ligne courante.
  • Les lignes synthétiques ne sont pas affectées par les sélections, mais les agrégations associées (Sum, Count…) restent sensibles aux sélections, sauf Set Analysis contraire.
  • Avec une longue liste et des calculs distincts, maintenir les libellés et les expressions devient fastidieux : préférer une dimension métier existante lorsque toutes les lignes utilisent la même mesure.
  • La dimension ValueList() n’est pas un champ du modèle : cliquer sur une de ses lignes ne sélectionne pas une nature comptable dans les données.