Herausforderung beim JMP-Scripting: Ausführen der Distributionsplattform in einem untergeordneten Script, das mit Include aufgerufen wirdVon einem übergeordneten Skript rufe ich ein anderes Skript mit der Include-Anweisung auf. Dieses andere Skript, das als untergeordnetes Skript bezeichnet wird, generiert eine Ausgabe, die an die vom übergeordneten Skript erstellte Ausgabe angehängt wird. Die Ausgabe des untergeordneten Skripts umfasst das Ausführen der Distributionsplattform. Beim ersten Ausführen des übergeordneten Skripts wird die Ausgabe des untergeordneten Skripts erfolgreich an die vom übergeordneten Skript angehängte angefügt. Beim zweiten Ausführen des gleichen Skripts erhalte ich nach der Änderung einer Auswahl, die nichts mit der Verteilung zu tun hat, die Meldung "Ein Befehl im Verteilungsskript wurde nicht erkannt. Keine Daten zu analysieren ", eine Nachricht, die meiner Meinung nach generiert wird, wenn die Spaltenvariable falsch an den Verteilungscode übergeben wird. Hier ist mein Code:
Beispiel = Ausdruck (c = Concat ( ":" , colY << Name abrufen );
Eval ( Ersatz ( Ausdruck ( rdist = Bericht (ldist = Aktuelle Datentabelle () << Verteilung (
Kontinuierliche Verteilung ( Säule (_col_), Vertikal ( 0 )
Verteilung anpassen (Log Normal (Dichtekurve ( 1 ))),
Verteilung anpassen (Normal (Dichtekurve ( 1 ))),
), Nur Histogramme))),
Ausdruck (_col_),
Parse (c) )
));
Der Code läuft einwandfrei, wenn ich ihn getrennt vom übergeordneten Skript ausführe.
Kann mir jemand helfen und mir sagen, was ich falsch mache? Warum funktioniert es einmal, aber nicht beim zweiten Mal?
Betreff: Herausforderung mit JMP-Scripting: Ausführen der Distributionsplattform in einem untergeordneten Skript, das mit Inclu aufgerufen wirdWenn der Code funktionieren sollte, muss ein Problem mit dem Inhalt einer der Variablen vorliegen. Aufgrund der verschachtelten Operationen ist das schwer nachzuverfolgen - Sie können versuchen, es etwas wie folgt zu trennen:
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);
Sie können die jsl-Variable im Protokollfenster überprüfen, um sicherzustellen, dass sie gut geformt ist. Wenn dies der Fall ist, wählen Sie den Text aus, klicken Sie mit der rechten Maustaste und wählen Sie Skript ausführen aus.
Betreff: Herausforderung mit JMP-Scripting: Ausführen der Distributionsplattform in einem untergeordneten Skript, das mit Inclu aufgerufen wirdSie sagen, dass das Problem nur auftritt, wenn Sie eine Include-Datei verwenden. In diesem Fall müssen Sie möglicherweise Beispielcode angeben, der die Verwendung der Include-Datei veranschaulicht. In Bezug auf den Code, den Sie gezeigt haben, scheint er etwas zu komplex zu sein:
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;