Bonjour à tou.tes,
Je coince pour le moment sur une requête spécifique. Je vais essayer de la simplifier afin d'inclure le problème principal
Imaginons un jeu de données tel que
| id | y | d | x |
| 1 | 1 | 2 | 0.5 |
| 1 | 2 | 2 | 0.6 |
| 1 | 3 | 2 | 0.3 |
| 1 | 4 | 2 | 1.2 |
| 2 | 1 | 1 | 1 |
| 2 | 2 | 1 | 0.8 |
| 3 | 1 | 3 | 1.2 |
soit une variable d'identification (id), une variable y (qui représente en réalité du temps), une variable d qui représente un décalage sur y et X la valeur d'intérêt.
J'aimerais créer une variable Z qui calculerait un produit avec les conditions suivantes:
- sur un même identifiant : [id]=[@id]
- cumulé sur y ==> si y=3, ne peut pas prendre en compte y =4
- cumulé depuis y-d ==> ainsi pour le couple id=1 et y=4, la plage a sommer est de id=1, Y= 2 à id=1 y=4 ==> Si erreur alors 1
- Finalement, si X est supérieur à 1, X doit être compté comme 1 ou ignoré. (Pour le moment j'ai crée une autre variable qui traite ceci mais si cela pouvait être intégré dans la formule, ce serait bien)
Sauriez-vous m'aider? :)
Pour le moment, ma formule ressemble à ceci:=PRODUCT(INDEX([x];MATCH(1;([id]=[@id])*([y]<=[@y])*([y]>=[@y]-[@d]);0)):[@[x]])