So speichern Sie Gruppieren-nach-Diagramme einzelnIch versuche, meine JMP-Diagrammerstellung zu automatisieren. Ich habe folgendes als Leitfaden verwendet: Automatisierte Reporterstellung vom Datenimport bis zur Veröffentlichung 2019
Ich bin an dem Punkt angelangt, an dem ich alle Diagramme erstellen kann. Jetzt arbeite ich daran, sie zu retten, und es fällt mir schwer, herauszufinden, wie. Ich erzeuge einen P-Chart-Bericht, der nach einem Wert in der zugrunde liegenden Datentabelle gruppiert ist. Der Bericht enthält mehrere P-Diagramme, eines für jede Gruppe nach Wert. Ich möchte jeden einzeln auf einer separaten HTML-Seite speichern. Wenn ich beispielsweise einen Bericht hatte, der nach "Planeten" gruppiert war und der Bericht Diagramme für jeden Planeten enthielt, möchte ich eine HTML-Seite mit dem Diagramm für jeden Planeten anstelle einer einzelnen HTML-Seite mit allen Planeten haben. Ist das möglich und wenn ja, wie. Im Anhang ist mein Beispielskript.
planetQ = New SQL Query(
Connection(
"CONNECTION INFO HERE"
),
QueryName( "ON_TIME_SPC_PLANET" ),
Select(
Column( "ReleaseMonth", "t1", Numeric Format( "m/d/y", "-1", "NO", "" ) ),
Column( "PLANET", "t1" ),
Column(
"On-Time",
"t1",
Alias( "Sum-On-Time" ),
SavedJMPName( "On-Time" ),
Aggregation( "Sum" ),
JMP Name( "Sum-On-Time", 0 )
),
Column(
"Total",
"t1",
Alias( "Sum-Total" ),
SavedJMPName( "Total" ),
Aggregation( "Sum" ),
JMP Name( "Sum-Total", 0 )
),
Column( "Phase", "t1", Analysis Type( "Nominal" ) )
),
From( Table( "ON_TIME_SPC", Schema( "dbo" ), Alias( "t1" ) ) ),
Group By(
Column( "ReleaseMonth", "t1", Numeric Format( "m/d/y", "-1", "NO", "" ) ),
Column( "PLANET", "t1" ),
Column( "Phase", "t1" )
),
Order By(
Column(
"ReleaseMonth",
"t1",
Numeric Format( "m/d/y", "-1", "NO", "" ),
Order( "Ascending" )
)
)
) << Run Foreground();
planetQ << New Column( "OnTimePct",
Formula( :Name( "Sum-On-Time" ) / :Name( "Sum-Total" ))
);
wait(1.0);
current data table(planetQ);
planetP = Control Chart(
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :PLANET )
);
Betreff: So speichern Sie Gruppieren-nach-Diagramme einzeln
@LeeP schrieb:
Gibt es String-Manipulationsfunktionen in JMP?
Es gibt viele. Hier ist ein guter Anfang:
JSL-Zeichenfolgenfunktionen
Wenn Sie nur eine Formel-Editor-Funktion lernen, ist Word() diejenige
Betreff: So speichern Sie Gruppieren-nach-Diagramme einzelnGuter Fang auf "ccb". Das war Teil des Problems. Das andere Problem war die Verwendung von "Control Chart Builder". Ich habe es in nur "Control Chart" geändert und es funktioniert. Das neue Problem ist der Dateiname, der generiert wird. Ich sehe, Sie verwendet:
thistitle = firstOB << getTitle;
Dies gibt mir einen Titelnamen von: "Steuerungsdiagrammname = XXXXXXX"
1. Ich vermute, dass ich mit saveHTML .html anhängen könnte, da es ohne Erweiterung gespeichert wird.
2. Wie bekomme ich nur den XXXXXX-Teil? Müsste ich im Voraus wissen, dass es immer „Control Chart =“ sein wird, und dann diesen Zeichenfolgenwert manipulieren, oder gibt es einen einfacheren Weg? Gibt es String-Manipulationsfunktionen in JMP?
Betreff: So speichern Sie Gruppieren-nach-Diagramme einzelnIch bezweifle, dass es an der Art des Diagramms liegt. Aber ich stelle fest, dass Sie den Verweis auf die multiplen p-Diagramme von Control Chart Builder auf „ppnP“ zugewiesen haben, aber der nachfolgende Code verweist immer noch auf „ccb“ (wie ich es im Beispiel verwendet habe).
Betreff: So speichern Sie Gruppieren-nach-Diagramme einzelnIch habe folgendes versucht, aber es läuft nicht richtig:
aktuelle Datentabelle (ppn);
ppnP = ppn << Control Chart Builder(
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :name )
);
// Save the report for each level of the 'By' variable
For( c = 1, c <= N Items( ccb ), c++,
// Get the current report layer
thisrep = Report( ccb[c] );
// Get the first outline box
firstOB = thisrep[Outline Box( 1 )];
// Get the title of this outline box
thistitle = firstOB << getTitle;
// Save as HTML
firstOB << saveHTML( "$DESKTOP/" || thistitle );
);
Ich erhalte einen einzelnen Bericht wie den folgenden (Hinweis: Ich habe Informationen geschwärzt) und nichts wird als HTML im Desktop-Verzeichnis gespeichert. Ich erstelle P-Diagramme, weiß also nicht, ob dies ein Problem mit diesem Prozess ist.

Betreff: So speichern Sie Gruppieren-nach-Diagramme einzelnHier ist ein Beispiel, das Sie anpassen können sollten:
NamesDefaultToHere(1);
// Get some data
dt = Open("$SAMPLE_DATA/Big Class.jmp");
// Run the platform. NB: ccb is a list, because of teh use of the 'By' variable
ccb = dt << Control Chart Builder(
Show Control Panel( 0 ),
Show Limit Summaries( 0 ),
Show Capability( 0 ),
Variables( Y( :height ) ),
By( :sex)
);
// Save the report for each level of the 'By' variable
for(c=1, c<=NItems(ccb), c++,
// Get the current report layer
thisrep = Report(ccb[c]);
// Get the first outline box
firstOB = thisrep[OutlineBox(1)];
// Get the title of this outline box
thistitle = firstOB << getTitle;
// Save as HTML
firstOB << saveHTML("$DESKTOP/"||thistitle);
);