Bonjour, j'ai un tableau similaire à celui-ci et je voulais sélectionner les identifiants où il y a plus d'une entrée et calculer l'écart type du résultat regroupé par identifiant. Par exemple, dans ce cas, je dois sélectionner l'ID 12345 et calculer l'écart type des 3 premiers résultats.
Je sais que je peux le faire par tabulation, mais ma table actuelle est très grande, plus d'un million de lignes, tabuler par ID et calculer l'écart type s'avère extrêmement fastidieux. La plupart des identifiants de ma table actuelle n'ont qu'une seule ligne. Puis-je faire quelque chose comme ça, puis calculer l'écart type pour le groupe de résultats restant par ID ? Merci pour votre suggestion!
sélectionnez où (n lignes (colonnes de regroupement (:ID))>1)
| IDENTIFIANT | résultat |
| 12345 | 0,3 |
| 12345 | 0,4 |
| 12345 | 0,2 |
| 23456 | 0,5 |
| 34567 | 0,2 |
Sélectionnez votre colonne de regroupement (ID)

Sélectionnez ensuite la colonne sur laquelle vous souhaitez effectuer le calcul et choisissez Écart type (notez le regroupement par identifiant)



Quelques options supplémentaires
Créer un tableau récapitulatif

Après avoir obtenu le tableau récapitulatif, vous pouvez cliquer sur la colonne stddev et maintenir la souris enfoncée pendant un certain temps. Cela vous permet de "sélectionner" la colonne et de la déposer dans votre table d'origine

Vous auriez aussi pu utiliser Update avec le tableau récapitulatif

Vous pouvez créer un tableau similaire en utilisant Tabulate (notez que l'identifiant est nominal)

Puis à partir du triangle rouge, transformez-le en tableau de données

vous pouvez ensuite utiliser Update (ou join) pour récupérer les résultats dans votre table.
Il existe également de nombreuses options de script, en voici une utilisant Summarize()
Names Default To Here(1);
dt = Current Data Table();
Summarize(ids = by(:ID), stddevs = Std dev(:result));
show(ids, stddevs);
// ids = {"12345", "23456", "34567"}; // note that these are strings even if they were numbers originally
// stddevs = [0.1, ., .];