NON RÉSOLU Comment filtrer sur la plus haute valeur contenu dans une dimension de manière automatique ?
-
Bonjour à toutes et tous.
Petit nouveau sur Digdash et je ne dispose pas encore de toutes les petites astuces et/ou connaissances de la communauté (après j'utilise quotidiennement SAP BO donc je ne suis pas tout à fait un nouveau dans la BI. Par contre mon java remonte au début des temps). Je pose la question dans Studio en pensant que c'est là que cela va se jouer, mais j'aurais probablement pu la poser dans "Editeur"

Je dispose d'un modèle de donnée (lié à l'opendata, la données est donc mise à jour) où j'ai la dimension "Rentrée / Session". Cette dimension est constituée d'une valeur alpha numérique (ce n'est pas une date):
2020 2020 ... 2022 2022 2022 ... 2024Je souhaiterai avoir une dimension (booléen par exemple) me permettant dans mes futurs flux de n'afficher que les lignes dont la dimension "Rentrée / Session" correspond à la valeur maximum présente dans le modèle de données (dans l'exemple : 2024).
J'ai essayé de passer par le rang en créant une colonne transformée qui passe la valeur en numérique (le rang 1 étant forcément ce que cherche) mais c'est une mesure et donc ne participe pas au filtrage du flux.
Je dois forcément passer à côté de quelque chose comme un éléphant au milieu de la pièce...
Merci d'avance !
PS : il y a un endroit où je pourrais avoir la liste des fonctions disponibles/autorisées pour le traitement des données dans la gestion du modèle ? -
Bonjour @géraldg, j'ai l'impression qu'il vous reste juste à spécifier que votre colonne calculée est une mesure et non une dimension. Voici un exemple pour vous montrer comment faire.
-
Ici je crée ma colonne calculée ("Année"):

-
Ensuite, je clique sur "Suivant", et dans l'onglet "Colonnes", je sélectionne la colonne "Années" (qui est considérée à ce stade comme une mesure) et la passe à droite en dimension temporelle dans le menu déroulant:

Est-ce que cela répond à votre besoin?
-
-
Bonjour et merci @salsifi pour essayer de répondre à ma demande

Malheureusement cela ne répond pas au besoin (ou alors je n'ai pas compris l'idée)Je vais essayé d'être un peu plus clair avec un exemple :
Ci-après 2 tuiles. Les chiffres indiquent le nombre global de néo-bacheliers depuis 2016 en France. La dernière année connue du fichier dans ma colonne dimension est 2024.

Je souhaiterai pouvoir afficher la dernière année disponible présente dans le modèle comme filtre.
De manière normal et manuel j'irais filtrer sur l'année :

Hors là j'aimerais avoir la "dernière année disponible dans le jeu de données". Lorsque le jeu de donnée va se mettre à jour j'aurais probablement 2025, donc sans intervention de ma part je souhaiterai que les flux que j'ai spécifiquement ciblés pour afficher les derniers chiffres changent sans intervention de ma part.Sous SAP BI, j'aurai créé une variable booléenne, du genre :
//si la valeur maximum trouvée dans le flux de données du rapport est égale à l'année actuellement observée alors... si max([année]) dans rapport = [Année] alors "Oui" sinon "Non"Et j'aurai utiliser cette variable comme filtre sur mes graphiques/tableaux pour forcer l'affichage de cette dernière année disponible.
Ceci devrait être le résultat pour ces 2 tuiles :

Après j'ai une question d'affichage où je souhaiterais avoir dans le libellé "Nombre total de bacheliers de la session "+[année] mais ceci est une autre histoire
J'ai cet impression qu'il faudrait faire un script dans le modèle de données qui réalise une première boucle sur chacune des lignes pour me sortir la valeur max du jeu de données puis une deuxième qui repasse sur chacune des lignes pour mettre "Oui" ou "Non" dans une colonne pour faire le même effet que mon si-alors-sinon ci-dessus.
-
@géraldg, je laisse les experts DigDash vous répondre (je suis moi-même assez novice). @GregoryBiraud peut-être?
-
Bonjour, Avez‑vous ajouté un filtre de date au niveau de votre tableau de bord dans l’éditeur ?
-
J'arrive à utiliser une règle sur la dimension Année de la rentrée universitaire
"Année de la rentrée universitaire" égale à (interprété le javascript coché) new Date(new Date(this.dim.max*1000).getFullYear(), new Date(this.dim.max*1000).getMonth(), new Date(this.dim.max*1000).getDate()).getTime()/1000Cependant cela signifie que je dois passer sur chaque élément graphique à rajouter cette règle.
En terme de maintenance et de compréhension c'est loin de l'usage d'un booléen O/N où cette règle pourrait être définie une fois pour toute au niveau du modèle.J'ai regardé le filtre fonction :

Cependant je n'ai pas de résultat (erreur dans la formule ?). La fonction s'affichant pour les autres éléments cela serait un peu plus pratique. Mais pas vraiment ce que je recherche, mais cela s'en approche.