Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Alors voici la colle que je rencontre :
Nous avons une application fonctionnel.
J'ai ajouté
- une liste de sélection qui contient les champs : (choix unique et obligatoire)
selector.indicator_period
- '1' | 'Dernier mois' | '{<date.month.auto_number={"$' & chr(39) & '(=Max(date.month.auto_number))"}>}'
- '2' | 'Selection' | ''
- '3' | 'Selection + mois precedent la selection' | '{<date.month.auto_number={">=$' & chr(39) & '(=Min(date.month.auto_number)) <=$' & chr(39) & '(=Max(date.month.auto_number))"}>}'
- une liste de sélection qui contient les champs : (choix multiple)
selector.indicator
- '1' | 'stockA'
- '2' | 'stockB'
- '3' | 'stockC'
Et j'aimerais ajouter un bouton qui vas sélectionner les clients qui ont un stock* supérieur a 0.
J'ai donc mis dans un bouton l'action sélection des champs client avec :
'(' & chr(39) &
concat(
{<client.nom={"=sum($(=selector.indicator_period.field) $(=selector.indicator.name)) > 1"}>}
client.nom, chr(39) & '|' & chr(39))
& chr(39) & ')'
Je rencontre déjà deux premiers problèmes, dans ma table selector.indicator_period, le set analysis pour Selection + mois precedent.
Pour qu'il soit complet il faudrait qu'il contienne '>= (min(date) - (max(date) - min(date))) & <= max(date)'.
La je suis perdu dans les { ( ' " & "} ...
Deuxième soucis, comment gérer le fait qu'on puisse sélectionner plusieurs selector.indicator.name.
Si on sélectionne les 3 stocks, il faudrait sélectionner les clients dispo pour chaque stock et concaténer chaque en supprimant les doublons ?
Fin voila, si un courageux/généreux passe dans le coin, je suis preneur
Merci,
ps = il y a peut étre une méthode beaucoup plus simple en passant par le script ?
Quelle est la différence entre les champs : date.annee.mois et date.mois ?
Que contiennent réellement ces champs ?
C'est simplement le format de la date qui change, mais ce sont des champs de la même table.
J'efface les sélections de chaque avant d'en faire une nouvelle.
Je joue avec des listes de sélection dans mon appli' qui contiennent la date sur différents format.
Ok,
Tu dis que ça fonctionne comme ceci, ça te retourne bien les mois désiré:
----------------------------------------------------------------------------------------------------------------------
'(' &
concat(DISTINCT
{<
$(= '$(= selector.indicator_period.field)')
>}
date.month.year_month, '|' )
& ')'
----------------------------------------------------------------------------------------------------------------------
Par contre dans ton expression tu as écris l'insertion de ton indicateur différemment:
----------------------------------------------------------------------------------------------------------------------
'(' &
concat(DISTINCT
{<
client.nom={"=$(=Concat('min(aggr(sum({< $(=selector.indicator_period.field) >} '& selector.indicator.field &'), date.month, %_customer.id)) > 1', ' and ')) "}
>}
client.nom, '|')
& ')'
---------------------------------------------------------------------------------------------------------------------
Essaye de l'écrire de la même façon
J'avais essayé, ça me retourne un résultat nul.
Et si j'essaye sans passer par une variable, en mettant le Set en dur :
=
concat(
DISTINCT
{<
client.nom={"=
$(=Concat('
min(
aggr(
sum(
{<
date.annee.mois=, date.annee,
date.mois={'>=$(=(min(date.mois) - (Max(date.mois) - min(date.mois)))) <=$(=Max(date.mois))'}
>}
'& selector.indicator.field &')
, date.month, %_customer.id)
)
> 1', ' and '))
"}
>}
client.nom, ',')
De la même manière le Set ne fonctionne pas, il renvoi un résultât nul.
Ce que je ne comprends vraiment pas, c'est qu'il semble fonctionner pour last month..
Essaye d'écrire ton 3ème indicateur simplement de cette manière :
date.annee.mois=, date.annee=, date.mois={">= $(=(Min(date.month) - (Max(date.month) - Min(date.month)))) <= $(=Max(date.month))"}
Avec les " j'obtiens le message d'erreur : error in set modifier
Si ça ne passe pas dans le Set, est ce que je pourrais pas le sortir de l'expression et le mettre ailleurs ? Je n'ai plus d'idée la ^^
Edit : je suis entrain d’anonymiser une appli pour vous montrer, ca sera plus simple
Impossible d'anonymiser complètement l'application..
J'ai testé diverse chose sans succés donc on mets de coté cette option (selection + previous), le reste fonctionne.
Merci beaucoup !!!