Moyenne de colonne à partir de certaines lignes - puis renseigner la moyenne dans une nouvelle colonneJe voudrais calculer une moyenne de colonne à condition qu'elle n'inclue que les lignes avec un certain ID. Dans ce cas, je souhaite uniquement faire la moyenne des données pour les blancs. Je voudrais que la sortie remplisse une nouvelle colonne. Le résultat ressemblera à ceci :

Je sais comment y parvenir avec l'application Tableau>Résumé, mais je ne sais pas comment le faire dans mon tableau de données + le remplir. Merci pour votre aide !
Fusion et nettoyage des donnéesRé: Moyenne des colonnes de certaines lignes - puis renseigner la moyenne dans une nouvelle colonneS'il vous plaît, faites attention - les agrégations de Col comme
Col Mean(If(:Sample ID == "Blank", :Data, .))
sont très (!!!) lents en raison de la comparaison de caractères dans l'expression if.
Cela convient pour quelques milliers de lignes, mais pour des tables contenant des millions de lignes, cela prendra beaucoup de temps.
Mieux : ajoutez une colonne factice qui mappe la colonne de caractères (:Sample ID) aux valeurs numériques et utilisez la colonne numérique à l'intérieur de l'expression if -> des ordres de grandeur plus rapides !
Trucs et astuces – bonnes pratiques avec JMP/JSL
Ré: Moyenne des colonnes de certaines lignes - puis renseigner la moyenne dans une nouvelle colonneVous pouvez simplement ajouter ce que je vous ai fourni en tant que nouvelle colonne de formule et JMP peut très facilement créer un script pour vous après cela.
Cela ressemblerait à quelque chose comme ça
Names Default To Here(1);
Current Data Table() << New Column("Blank Average", Numeric, Continuous, Formula(
Col Mean(If(:Sample ID == "Blank", :Data, .))
));Ré: Moyenne des colonnes de certaines lignes - puis renseigner la moyenne dans une nouvelle colonneMerci pour votre réponse. J'ai besoin que la moyenne de la colonne calculée soit renseignée dans une nouvelle colonne. Voici un script sur lequel je me suis basé pour jouer avec chatgpt, mais cela ne fonctionne pas.
// Assuming your data table is already open
dt = Current Data Table();
// Calculate the mean of the "Data" column where "Sample ID" is "Blank"
meanValue = Col Mean(If(:Sample ID == "Blank", :Data, Missing()));
// Create a new column for the Blank Average
dt << New Column("Blank Average", Numeric, Continuous);
// Populate the "Blank Average" column with the calculated mean for all rows
dt << Set Values(:Blank Average, meanValue);Ré: Moyenne des colonnes de certaines lignes - puis renseigner la moyenne dans une nouvelle colonneVous pouvez utiliser Résumé et utiliser Joindre/Mettre à jour pour l'ajouter à votre table d'origine. Ou vous pouvez utiliser une formule. Une de ces formules est
Col Mean(If(:Sample ID == "Blank", :Data, .))