Filtrer un cBase sur une ou plusieurs années dynamiquement

Supposons que nous ayons un cBase contenant plusieurs années :

Nous souhaitons avoir uniquement les données des deux dernières années (année en cours, année précédente) sans être obligés de créer un nouveau cBase contenant uniquement ces deux années. L'utilisation d'un cPlan va nous permettre de limiter les données du cBase existant.

Le cPlan contenant le code suivant va nous permettre de filtrer les données sur les deux dernières années en fonction de la date système :

cplan {
  cbase-input "ventes.cbase"
  filter `is_in(value("Année"),string(year(today())),string(year(today())-1))`
}

L'ouverture du cPlan dans ProDiver et une plongée sur la Dimension Année donne le résultat suivant :

Les données sont bien filtrées sur les deux dernières années.

Le code proposé ci-dessus fonctionne dans le cas où la Dimension Année a été déclarée avec un typage String au moment de la construction du cbase.

Dans le cas où la Dimension Année a été déclarée avec un typage Integrer au moment de la construction du cBase, il faut utiliser le code suivant dans le cPlan:

cplan {
  cbase-input "ventes.cbase"
  filter `is_in(value("Année"),year(today()),year(today())-1)`
}