Festlegen des Spezifikationslimits für die Spalteneigenschaft durch JSL - Linien werden nicht im Diagramm angezeigtHallo
Ich habe ein Skript, das der Spalteneigenschaft Spezifikationsgrenzen (USL/LSL) zuweist und dann ein Diagramm der Spalte erstellt, und ich erwarte
um die auf dem Diagramm gezeichneten Begrenzungslinien zu sehen. Was passiert ist, dass die Grenzwerte in der Tabelle richtig eingestellt sind, aber auf dem Diagramm nicht sichtbar sind.
Wenn ich nach dem Ausführen des Skripts dasselbe Diagramm manuell in diese Spalte zeichne - keine Linien mehr.
Wenn ich das Eigenschaftenfenster der Spaltenspezifikation öffne, sehe ich die Grenzen, die „Referenzlinie anzeigen“ ist aktiviert.
Nur wenn ich auf "Übernehmen" drücke und dann erneut zeichne, kann ich die Linien auf dem Plot wie erwartet sehen. Aber per Skript bekomme ich es nicht hin..
irgendeine Idee?
(unter Verwendung von JMP PRO 15)


DatentabelleGrafikSkripterstellungFensterBetreff: Festlegen des Spezifikationslimits für die Spalteneigenschaft durch JSL - Linien werden nicht im Diagramm angezeigtHallo @shlomi_bakish ,
Können Sie ein Beispiel für Ihren JSL-Code angeben? Dies kann helfen, das Problem zu diagnostizieren, das Sie haben. In der Zwischenzeit ist dieser Codeabschnitt ein Beispiel dafür, wie Sie die Spezifikationsgrenzen für die Spalten festlegen und sicherstellen können, dass sie für die grafische Darstellung aktiviert sind.
//Turn on spec lines for graphs
dt = Current Data Table( ); //just a way of setting the current data table to the variable dt
<BR />dt_ColNames = dt << Get Column Names( string ); //Gets the column names from the data table
<BR />For( i = 1, i <= N Items( dt_ColNames ), i++,<BR />
spec = Column( dt, dt_ColNames[i] ) << Get Property( "Spec Limits" ); //This gets the Boolean spec property of each column
<BR />//now, for each column perform the task of assigning the spec limits<BR /> If( Is Empty( spec ) == 0,
LSL = Try( spec["LSL"], . );
USL = Try( spec["USL"], . );
Target = Try( spec["Target"], . );
Eval(
Substitute(
Expr(
Column( dt, dt_ColNames[i] ) << Set Property(
"Spec Limits",
{LSL( __LSL__ ), USL( __USL__ ), Target( __Target__ ), Show Limits( 1 )}
),
),
Expr( __LSL__ ), LSL,
Expr( __USL__ ), USL,
Expr( __Target__ ), Target
)
);//This whole Eval() is wrapping a Substitution(), which wraps an expression Expr(). <BR /> //The variables that will be substituted are __LSL__ and so on. The Show Limits (1) checks the box to turn on the limits as reference lines.
);
);Dies sollte Ihnen helfen, in die richtige Richtung zu gehen. Aber ohne Ihren Code zu sehen und zu verstehen, was Sie tun, ist es schwierig, genauer auf Ihre Bedürfnisse einzugehen.
Hoffe das hilft!,
DS
Betreff: Festlegen des Spezifikationslimits für die Spalteneigenschaft durch JSL - Linien werden nicht im Diagramm angezeigtDanke für die schnelle Antwort ! Ich bin davon ausgegangen, dass der Code nicht wirklich relevant ist, da die Spezifikationsgrenzen in den Spalteneigenschaften korrekt festgelegt werden.
es setzt LSL und USL und zeigt Grenzen (1), aber das Diagramm zeigt sie nicht, obwohl sie richtig eingestellt sind.
Auch wenn ich einen direkten Code mit festen Nummern verwende, verhält es sich gleich.
Column(DATA_DT,param) << Set Property( "Spec Limits", LSL( 0.31 ),USL(0.34),Show Limits(1) );

Erst nachdem Sie auf „Anwenden“ geklickt und die Grafik erneut gezeichnet haben, werden die Linien angezeigt.
Betreff: Festlegen des Spezifikationslimits für die Spalteneigenschaft durch JSL - Linien werden nicht im Diagramm angezeigtDie Syntax scheint etwas falsch zu sein, Sie müssen {} nach Spec Limits hinzufügen. Siehe Skript unten, das Gewicht funktioniert nicht, ohne auf Apply zu drücken, und die Größe funktioniert.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Column(dt, "weight") << Set Property("Spec Limits", LSL(50), USL(150), Show Limits(1));
Column(dt, "height") << Set Property("Spec Limits", {LSL(50), USL(100), Show Limits(1)});
gb = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(4)), Smoother(X, Y, Legend(5)))
);Betreff: Festlegen des Spezifikationslimits für die Spalteneigenschaft durch JSL - Linien werden nicht im Diagramm angezeigtEs scheint, dass Sie die Grenzen anwenden, nachdem das Diagramm anfänglich angezeigt wird.Die Grenzen werden gezeichnet, wenn das Diagramm zum ersten Mal angezeigt wird, und wenn danach Grenzen hinzugefügt werden, muss das Diagramm neu gezeichnet werden, damit sie angezeigt werden.
Betreff: Festlegen des Spezifikationslimits für die Spalteneigenschaft durch JSL - Linien werden nicht im Diagramm angezeigtVielen Dank ! Tatsächlich löste das Hinzufügen der geschweiften Klammern das Problem 
Können Sie erklären, warum