Dynamisches Hinzufügen von Verteilungsdiagrammen zu einer TabelleIch habe eine Tabelle mit ungefähr ~180 Datenspalten.
Ich möchte für jede Spalte über eine for-Schleife in JSL dynamisch ein Verteilungsdiagramm (zur Tabelle) hinzufügen (mit einem für jede Spalte spezifischen lokalen Datenfilter).
Ist das möglich? Was bei meinen Versuchen passiert, ist, dass alle angehängten Diagramme der letzte Wert der for-Schleife sind. Wahrscheinlich fehlt mir etwas Einfaches.
Danke!
Automatisierung und SkripterstellungBetreff: Dynamisches Hinzufügen von Verteilungsdiagrammen zu einer TabelleEs ist möglich.Wenn Sie eine bereinigte Version Ihres Skripts anhängen können, können Sie einfacher und schneller helfen.
Betreff: Dynamisches Hinzufügen von Verteilungsdiagrammen zu einer TabelleIch bin mir nicht sicher, wonach Sie genau suchen.Hier ist ein einfaches Skript, das alle Verteilungen mit dem lokalen Datenfilter erstellt.
Names Default To Here( 1 );
dt =
// Open Data Table: Blood Pressure.jmp
// → Data Table( "Blood Pressure" )
Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
ColNames = dt << get column names( string, numeric );
nw = New Window( "Distributions",
H List Box(
For Each( {Col}, ColNames,
Eval(
Eval Expr(
Distribution(
Continuous Distribution( Column( Eval( col ) ) ),
Local Data Filter( Add Filter( columns( Eval( col )) ) )
)
)
)
)
)
);

Betreff: Dynamisches Hinzufügen von Verteilungsdiagrammen zu einer TabelleHier ist eine gekürzte Version:
Clear Log();
Clear Globals();
dt = current data table ();
myTests = {:Name ("Cont_VDD"), :Name ("Cont_OUTP")};
for (i=1, i<= 2, i++,
dt << Add Properties to Table(
{New Script(
"Distribution",
Distribution(
Stack( 1 ),
Continuous Distribution(
Column( myTests[i] ) ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Outlier Box Plot( 0 ),
Process Capability( Use Column Property Specs )
)
)
});
);
Betreff: Dynamisches Hinzufügen von Verteilungsdiagrammen zu einer TabelleIhr Skript konkretisiert die erforderliche JSL nicht vollständig, damit die Tabellenskripte funktionieren.Die Referenz von myTests muss in den genauen Spaltennamen geparst werden, damit das Tabellenskript ordnungsgemäß ausgeführt werden kann.Die folgende JSL erzwingt die Erweiterung des Codes, bevor er in der Datentabelle gespeichert wird.Ich habe auch einen lokalen Filter hinzugefügt und den Code geändert, um den Skriptnamen zum Spaltennamen zu machen
Names Default To Here( 1 );
Clear Log();
Clear Globals();
dt =
// Open Data Table: Blood Pressure.jmp
// → Data Table( "Blood Pressure" )
Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
myTests = dt << get column names( string, numeric );
For( i = 1, i <= N Items( myTests ), i++,
Eval(
Eval Expr(
dt << Add Properties to Table(
{New Script(
expr(myTests[i]),
Distribution(
Stack( 1 ),
Continuous Distribution( Column( Expr( myTests[i] ) ) ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Outlier Box Plot( 0 ),
Process Capability( Use Column Property Specs ),
Local Data Filter( Add Filter( columns( Expr( myTests[i] )) ) )
)
)}
)
)
)
);
Betreff: Dynamisches Hinzufügen von Verteilungsdiagrammen zu einer TabelleWenn Sie im Startskript für die Verteilung eine globale Variable verwenden, wird der aktuelle, in der Variable gespeicherte Wert verwendet. Sie müssen es in einen Literalwert für das Startskript konvertieren.
Betreff: Dynamisches Hinzufügen von Verteilungsdiagrammen zu einer Tabellevielen Dank!!!Ich habe mir JSL selbst beigebracht ... und bin dabei auf einige Hindernisse gestoßen ... die Verwendung von Eval ist mir jetzt klar, ... nochmals vielen Dank!
--Matt
Betreff: Dynamisches Hinzufügen von Verteilungsdiagrammen zu einer TabelleWenn Sie außerdem nur nach einfachen Histogrammen suchen, können Sie ab JMP 15 über jeder Spalte ein Histogramm anzeigen, indem Sie einfach das Histogramm-Symbol in der Datentabelle auswählen
