Comment puis-je obtenir le nom de la meilleure distribution à partir de données filtrées?Chère communauté JMP,
Je n'utilise JMP que depuis peu de temps et j'ai encore beaucoup à apprendre. J'espère que vous pourrez m'aider avec un problème.
J'essaie d'utiliser un filtre de données pour sélectionner les données pour lesquelles je veux la meilleure distribution. Ensuite, je voudrais avoir le nom de la distribution la plus appropriée du rapport:
datafilter1 = dt << Filtre de données (
Mode (Sélectionnez (0), Afficher (1), Inclure (1)),
Ajouter un filtre (colonnes (: fonctionnalité)));
dis = datafilter1 << Distribution (recalcul automatique (1), colonne (: données));
dis << Ajuster la distribution (tous);
theDist = Trim (Word (3, Report (dis) ["Compare Distributions"] [String Col Box (1)] << get text, "\! n"));
La première partie fonctionne très bien. Je peux sélectionner et afficher les données à l'aide du filtre.
Mais je n'obtiens le nom de la première distribution que lorsque je lance le script. Si je sélectionne ensuite une distribution de données différente en utilisant le filtre, le prénom est conservé et ne change pas.
Comment pouvez-vous résoudre le problème? J'ai déjà fait beaucoup de recherches à ce sujet, mais je ne trouve pas de solution qui convienne. Peut-être que tu peux m'aider. Merci beaucoup!
ScriptingRe: Comment puis-je obtenir le nom de la meilleure distribution à partir de données filtrées?Vous devez déplacer votre
heDist = Trim (Word (3, Report (dis) ["Compare Distributions"] [String Col Box (1)] << get text, "\! n"));
dans un gestionnaire d'état de ligne, de sorte qu'il soit recréé chaque fois que les valeurs de filtre sont modifiées
Voir: Make Rowstate HandlerRe: Comment puis-je obtenir le nom de la meilleure distribution à partir de données filtrées?Bonjour,
Merci pour votre réponse.
Mais à quoi doit ressembler la fonction dont j'ai besoin pour le "Make Rowstate Handler"? J'ai essayé ceci:
f = Function( {a},
Trim( Word( 3, Report( dis )["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) )
);
rs = dt << Make Row State Handler( f );
Mais ça ne marche pas. Qu'est-ce que je fais mal? Je vous remercie!
Re: Comment puis-je obtenir le nom de la meilleure distribution à partir de données filtrées?Voici un exemple de travail, tirant la valeur de "theDist" chaque fois que le filtre de données change
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
datafilter1 = dt << Data Filter(
Mode( Select( 0 ), Show( 1 ), Include( 1 ) ),
Add Filter( columns( :site ) )
);
dis = dt<< Distribution( Automatic Recalc( 1 ), Column( :npn1 ) );
dis << Fit Distribution( All );
theDist = Trim( Word( 3, Report( dis )["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) );
f=Function({a}, theDist = Trim( Word( 3, Report(dis)["Compare Distributions"][String Col Box( 1 )] << get text, "\!n" ) ); show(theDist));
rs=dt<<MAKE row="" state="" handler=""></MAKE>