Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggester à choix multi-variables (une réponse valorise plusieurs variables) #1006

Open
BulotF opened this issue May 15, 2024 · 8 comments
Assignees

Comments

@BulotF
Copy link

BulotF commented May 15, 2024

Lorsqu'on utilise un Suggester, on peut avoir dans la nomenclature des colonnes autres que l'identifiant et le label.
On souhaite pouvoir récupérer les valeurs en même temps la variable contenant l'identifiant et les valeurs incluses dans d'autres colonnes.

  1. Au niveau du DDI, le principe est que ces variables peuvent se calculer.
    Il existe même une formule VTL pour cela : on va chercher dans la matrice nomenclature une valeur dont on connaît l'identifiant de ligne et la colonne :
left_join(RESPONSE_NAME, NOMENCLATURE_NAME using NOMENCLATURE_ID_NAME, ATTRIBUTE_NAME_IN_NOMENCLATURE)

avec :

  • left_join( , using ) en dur
  • RESPONSE_NAME qui est la variable collectée “suggester simple”
  • NOMENCLATURE_NAME : nom de la codeList externalisée
  • NOMENCLATURE_ID_NAME qui sert à renseigner le “id” (à remplacer par “key” ?)
  • ATTRIBUTE_NAME_IN_NOMENCLATURE : nom de la colonne où se trouve la valeur à aller chercher

L'idée serait de créer une variable calculée de nom CALCULATED_VARIABLE_NAME contenant cette formule.
Cette variable calculée ne serait pas transformée en variable calculée Lunatic, mais en OptionResponses du Suggester.

  1. Au niveau de Lunatic :
  • pas de variable calculée créée
  • au niveau du component "Suggester", en plus de la response, on aurait un élément "OptionResponses" qui serait un tableau d'objets :
  {
    "name": "CALCULATED_VARIABLE_NAME",
    "attribute": "ATTRIBUTE_NAME_IN_NOMENCLATURE",
}

Les variables calculées seraient créées automatiquement par Pogues à partir des colonnes de la nomenclature avec "CALCULATED_VARIABLE_NAME" qui serait initialisé à : SUGGESTER_${RESPONSE_NAME}_${ATTRIBUTE_NAME_IN_NOMENCLATURE}

@laurentC35
Copy link
Contributor

Fonctionne actuellement dans Lunatic (estanp l'utilise dans ces tests)

@AnneHuSKa
Copy link
Contributor

@laurentC35 : avec la "syntaxe" proposée par Francois ?

@nsenave nsenave self-assigned this Jul 3, 2024
@nsenave
Copy link
Contributor

nsenave commented Jul 3, 2024

@BulotF Comment est-ce qu'on peut reconnaître les variables calculées qui correspondent à du suggester à réponses multiples des autres variables calculées en DDI ?

@nsenave
Copy link
Contributor

nsenave commented Jul 3, 2024

@BulotF @romaintailhurat @AnneHuSKa

Les variables calculées seraient créées automatiquement par Pogues à partir des colonnes de la nomenclature

Cela est-il systématiquement le cas avec toutes les colonnes de la nomenclature ? ou est-ce que le concepteur choisit les colonnes qu'il veut pour les options de réponse ?

@AnneHuSKa
Copy link
Contributor

A mon sens, on doit imposer (la nomenclature untel comprend telle et telle colonne, on les crée, que le concepteur s'en serve ou pas).
@romaintailhurat qu'en dis-tu ?
@nsenave : tu sauras déterminer combien tu as de colonnes dans chaque nomenclature ? Ou c'est un paramètre de plus à décrire ?

@BulotF
Copy link
Author

BulotF commented Jul 3, 2024

@BulotF Comment est-ce qu'on peut reconnaître les variables calculées qui correspondent à du suggester à réponses multiples des autres variables calculées en DDI ?

Désolé, mais pour le moment, on ne peut les reconnaître que par leur formule.
"left_join", qui est le début de la formule, n'est, en effet, pas compris par Trevas-JS (mais l'est par Trevas-Java)

@BulotF
Copy link
Author

BulotF commented Jul 3, 2024

A mon sens, on doit imposer (la nomenclature untel comprend telle et telle colonne, on les crée, que le concepteur s'en serve ou pas). @romaintailhurat qu'en dis-tu ? @nsenave : tu sauras déterminer combien tu as de colonnes dans chaque nomenclature ? Ou c'est un paramètre de plus à décrire ?

Pour moi, l'API Pogues-back-office fournira la liste des colonnes de la table (ce que ne fait pas le mock actuellement dans Pogues-IHM) et peut-être aussi leur format ?

Je ne sais pas comment l'IHM proposera de spécifier le label.

Par contre, j'imagine que l'IHM proposera pour chaque colonne de la table une variable collectée avec :

  • nom de la variable : fourni par défaut, mais surchargeable
  • collecté (sauf pour la colonne id) : oui / non
  • affichage du format de la colonne (qui mériterait de venir du back)

@nsenave
Copy link
Contributor

nsenave commented Jul 3, 2024

@AnneHuSKa

@nsenave : tu sauras déterminer combien tu as de colonnes dans chaque nomenclature ? Ou c'est un paramètre de plus à décrire ?

Oui Eno connaît les colonnes de la nomenclature à travers les "fields" qui sont décrits dans le questionnaire Pogues / DDI.

@BulotF

j'imagine que l'IHM proposera pour chaque colonne de la table une variable collectée

La variable collectée en question, c'est la variable calculée avec le left_join dans le DDI ?

  • affichage du format de la colonne (qui mériterait de venir du back)

Je ne vois pas ce qu'est le "format" de la colonne (du typage ? il me semblait que l'output d'un suggester est toujours du string)

@laurentC35 laurentC35 changed the title Suggester à réponse multiple Suggester à choix multivariables (une réponse valorise plusieurs variables) Aug 13, 2024
@laurentC35 laurentC35 changed the title Suggester à choix multivariables (une réponse valorise plusieurs variables) Suggester à choix multi-variables (une réponse valorise plusieurs variables) Aug 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants