Tri alternatifs dans Spectre

Nous avions déjà évoqué les tris dans les astuces précédentes :

https://blog.difrance.com/tri-naturel-versus-tri-alphanumerique/
https://blog.difrance.com/changer-lordre-de-tri-des-mois/
https://blog.difrance.com/dimension-triee-en-fonction-d-une-autre-colonne/

L’astuce actuelle se focalise sur la mise en place de tris via Spectre.

Nous souhaitons répondre aux questions suivantes :

Comment créer une Dimension avec les noms de mois débutant par avril ?

Comment définir les valeurs de Dimension dans un ordre chronologique, c'est à dire commençant par janvier?

La réponse est l’utilisation d'un tri alternatif.

Le tri naturel est le tri par défaut dans Spectre. Les chaines de caractères comme les noms de mois, par exemple "Janvier", sont triés par ordre alphabétique (cf. https://blog.difrance.com/tri-naturel-versus-tri-alphanumerique/).

Un tri alternatif peut être appliqué pour modifier l'ordre d'affichage initial des valeurs de Dimension.

Un tri alternatif requiert l’utilisation de l'attribut sort-by et une colonne de tri dans le flux de données (ou une expression dans un cPlan contenant l'ordre associé.

Dans un script .build, l'option sort-by se trouve ici, au niveau de l'objet d'entrée texte :

Voici l'extrait du même script faisant référence à l'option sort-by vu depuis l'éditeur de texte de Workbench :

Ci-dessous le fichier texte utilisé pour générer le cBase :

Ci-dessous le script complet utilisé pour générer le cBase :

Voici le résultat obtenu dans ProDiver :

Le tri alternatif peut être appliqué sur toute colonne de chaîne de caractères.

La colonne de tri utilisée doit être une chaîne de caractère ou un entier (Integer).

Voici un autre exemple de tri :

Catégorie âge patient :

  • nouveau né
  • enfant
  • adolescent
  • adulte
  • personne âgée

Si l'on combine des cBases dans un cPlan, le tri doit être identique pour une même Dimension.

Vous pouvez :

  • utiliser un fichier Lookup contenant la colonne de tri
  • créer une colonne d'ordre de tri au sein du script

L'exemple ci-dessous montre la colonne de tri contenue dans le fichier d'entrée.

La colonne de tri alternative doit tenir compte de toutes les valeurs de la colonne à trier.

Un tri alternatif peut-être ajouté dans un cPlan en utilisant une expression :