Challenge with JMP Scripting: exécution de la plateforme de distribution dans un script enfant appelé à l'aide de IncludeD'un script parent, j'appelle un autre script avec l'instruction Include. Cet autre script, appelé script enfant, génère une sortie qui est ajoutée à la sortie produite par le script parent. La sortie du script enfant inclut l'exécution de la plateforme de distribution. La première fois que j'exécute le script parent, la sortie du script enfant est correctement ajoutée à celle du script parent. La deuxième fois que j'exécute le même script, après avoir modifié un choix qui n'a rien à voir avec la distribution, le message suivant s'affiche: "Une commande du script Distribution n'a pas été reconnue. Aucune donnée à analyser ", message qui, à mon avis, est généré si la variable de colonne est transmise de manière incorrecte au code de distribution. Voici mon code:
Exemple = Expr (c = Concat ( ":" , colY << Obtenir le nom )
Eval ( Remplacer ( Expr ( rdist = rapport (ldist = Tableau de données actuel () << Distribution (
Distribution continue ( Colonne (_col_), Vertical ( 0 ),
Fit Distribution (Log Normal (Courbe de densité ( 1 ))),
Fit Distribution (Normale (courbe de densité ( 1 ))),
), Histogrammes seulement)))),
Expr (_col_),
Analyser (c) )
));
Le code fonctionne correctement lorsque je l'exécute indépendamment du script parent.
Quelqu'un peut-il m'aider et me dire ce que je fais mal? Pourquoi ça marche une fois, mais pas la deuxième fois?
Re: défi avec les scripts JMP: exécuter la plateforme de distribution dans un script enfant appelé à l’aide d’IncluSi le code fonctionne, il doit y avoir un problème avec le contenu de l'une des variables. C'est difficile à suivre à cause des opérations imbriquées - vous pouvez essayer de le séparer un peu comme ceci:
c = Concat( ":", colY << Get Name );
show(c);
jsl = Substitute(
Expr(
rdist = Report(
ldist = Current Data Table() << Distribution(
Continuous Distribution(
Column( _col_ ),
Vertical( 0 ),
Fit Distribution( Log Normal( Density Curve( 1 ) ) ),
Fit Distribution( Normal( Density Curve( 1 ) ) ),
),
Histograms Only
)
)
),
Expr( _col_ ), Parse( c )
);
show(jsl);
Vous pouvez inspecter la variable jsl dans la fenêtre du journal pour vous assurer qu'elle est bien formée (si c'est le cas, si vous sélectionnez le texte, cliquez avec le bouton droit de la souris et sélectionnez le script d'exécution, celui-ci doit s'exécuter correctement.
Re: défi avec les scripts JMP: exécuter la plateforme de distribution dans un script enfant appelé à l’aide d’IncluVous dites que le problème ne survient que lorsque vous utilisez un fichier d'inclusion. Dans ce cas, vous devrez peut-être donner un exemple de code illustrant clairement l'utilisation du fichier d'inclusion. En ce qui concerne le code que vous avez montré, il semble un peu trop complexe:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
colY = "height";
ldist = dt << Distribution(
Continuous Distribution(
Column( Eval(colY) ),
Vertical( 0 ),
Fit Distribution( Log Normal( Density Curve( 1 ) ) ),
Fit Distribution( Normal( Density Curve( 1 ) ) ),
),
Histograms Only
);
rdist = ldist << Report;