trouver le premier élément avec une condition dans une colonneBonjour, j'ai une donnée avec 2 colonnes: groupe et score, et je veux calculer la 3 colonne appelée en premier, qui renvoie le "premier score par groupe qui n'est pas 10000000000. donc dans cet exemple de données, groupe a = 0, groupe b = 53. et comme le groupe c ne contient que 10000000000, rien ne se présente.
Quelqu'un pourrait-il m'aider avec une formule jmp pour cette colonne mais pas jsl? Merci beaucoup!
| grouper | But | première |
| une | 10000000000 | 0 |
| une | 0 | 0 |
| une | 100 | 0 |
| une | 10000000000 | 0 |
| une | 8 | 0 |
| une | 10000000000 | 0 |
| une | 10000000000 | 0 |
| une | 10000000000 | 0 |
| b | 53 | 53 |
| b | 10000000000 | 53 |
| b | 1 | 53 |
| c | 10000000000 | . |
| c | 10000000000 | . |
| c | 10000000000 | . |
AnalytiqueRe: trouver le premier élément avec une condition dans une colonneVoici une façon d'écrire la formule
curgroup = :group;
value = :score[Min(
Current Data Table() << get rows where(
:group == curgroup & :score != 10000000000
)
)];
Re: trouver le premier élément avec une condition dans une colonneSalut Jim, merci pour la réponse. Je l'ai collé dans la formule et remplacé le nom de la colonne, mais cela n'a pas produit la bonne réponse. Pouvez-vous m'aider à vérifier la capture d'écran ci-dessous? Merci.
Re: trouver le premier élément avec une condition dans une colonneLe vidage d'écran de la formule ne me permet pas de voir si vous référencez correctement les colonnes.Autrement dit, placez-vous un ":" devant les noms de colonne, mais pas devant curgroup et value?
Quels messages d'erreur recevez-vous?
Quand vous dites que cela ne fonctionne pas correctement, qu'est-ce que cela signifie?Vous n'obtenez pas les valeurs correctes ou ne vous donne-t-il aucun résultat?
J'ai joint votre exemple de table de données avec une colonne appelée Jim's Formula qui a ma formule appliquée à la table de données.C'est ainsi que vous pouvez avoir une version fonctionnelle de la formule pour la comparer à ce que vous essayez de créer.
Re: trouver le premier élément avec une condition dans une colonneMerci Jim! J'ai collé votre formule directement dans mes données et vérifié à nouveau - cela a fonctionné sur environ 7000 lignes, mais à partir de là, tout est ".", Ne montrant pas le premier nombre qui n'est pas 10000000. Quand je suis entré dans la formule, cela a duré longtemps, j'ai donc dû appuyer sur esc pour débloquer jmp. est-ce que cela cause cela? J'ai totalement environ 7000k lignes.Re: trouver le premier élément avec une condition dans une colonneCela fait beaucoup de lignes. Cette formule peut nécessiter moins de mémoire. Il suppose que la première valeur ≠ 10000000000 est toujours inférieure à 10000000000.
If(Col Min(:score, :group) == 10000000000,
.,
Col Min(
:score[Col Min(Row(), :group, :score == 10000000000)],
:group
)
)
Re: trouver le premier élément avec condition dans une colonneVoici une approche différente pour résoudre le problème.Cette approche est un script.Il devrait être plus efficace que l'approche précédente de la colonne de formule unique.Il trouve d'abord les premières valeurs, les extrait dans une nouvelle table, puis utilise la plate-forme de mise à jour pour fusionner les valeurs dans la table de données d'origine.
names default to here(1);
dt=current data table();
// Create a column that finds the first values
dt<<NEW column=""></NEW>