So speichern Sie Bilder per JSLHallo JMPer, ich möchte JSL verwenden, um nur die Histogrammdiagramme der Prozessfähigkeit ohne . zu speichern. Gibt es eine Möglichkeit, dies zu erreichen?
Automatisierung und SkripterstellungBetreff: So speichern Sie Bilder mit JSLWenn Sie nur diese Histogramme und nichts anderes benötigen, ist es höchstwahrscheinlich am einfachsten, sie einzeln von der Verteilungsplattform zu erfassen
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
nw_collector = New Window("",
vlb = V List Box()
);
cols = {"NPN1", "PNP1"};
For Each({col_name}, cols,
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(Eval(col_name)),
Horizontal Layout(1),
Vertical(0),
Process Capability(Use Column Property Specs)
)
);
lb = Report(dist)[OutlineBox(col_name || " Capability"), OutlineBox("Histogram"), ListBox(1)];
pic = lb << Get Picture;
vlb << Append( // use outlinebox to add title
OutlineBox("Process Capability for " || col_name, pic)
);
dist << Close Window;
);
Diese Bilder können von Process Capability oder von der Verteilung erfasst werden, wenn Sie alle gleichzeitig geöffnet haben. Auf diese Weise ist es jedoch einfacher, in der Berichtsebene zu navigieren.

Betreff: So speichern Sie Bilder mit JSLKürzlich habe ich herausgefunden, dass das Speichern von Bildern in einer Datentabelle in manchen Anwendungsfällen nützlich sein kann. Hier ist eine modifizierte Version, die das tut, basierend auf @jthi Beispiel.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
cols = {"NPN1", "PNP1"};
outputdt = New Table( "imgs",
Add Rows( nitems(cols) ),
New Column( "image", Expression, "None", Set Values( {} ) ),
);
i = 1;
For Each({col_name}, cols,
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(Eval(col_name)),
Horizontal Layout(1),
Vertical(0),
Process Capability(Use Column Property Specs)
)
);
lb = Report(dist)[OutlineBox(col_name || " Capability"), OutlineBox("Histogram"), ListBox(1)];
pic = lb << Get Picture;
outputdt:image[i] = pic;
i++;
dist << Close Window;
);Betreff: So speichern Sie Bilder mit JSLVielen Dank.
Aber ich hatte noch eine andere Frage: Kann ich das Bild nach dem Speichern in der Tabelle als Excel-Datei exportieren? Ich habe es versucht, es wurde nicht als Bild angezeigt.

Betreff: So speichern Sie Bilder mit JSLDies ist meines Wissens nach nicht möglich. Hier sind die Gründe:
1) Bilder in Excel sind keine Zelldaten. Es handelt sich um OLE-Objekte, bei denen man davon ausgehen kann, dass Bilder Anhänge zum Blatt sind. Bilder in der JMP-Datentabelle sind Zelldaten. Daher sehen Excel und JMP Bilder unterschiedlich.
2) Excel wird die Bedeutung von Bildern in JMP wahrscheinlich nie verstehen.
Betreff: So speichern Sie Bilder mit JSLSo exportieren Sie den Bericht als MS Word-Datei.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
nw_collector = New Window("",
vlb = V List Box()
);
cols = {"NPN1", "PNP1"};
For Each({col_name}, cols,
dist = dt << Distribution(
Stack(1),
Continuous Distribution(
Column(Eval(col_name)),
Horizontal Layout(1),
Vertical(0),
Process Capability(Use Column Property Specs)
)
);
lb = Report(dist)[OutlineBox(col_name || " Capability"), OutlineBox("Histogram"), ListBox(1)];
vlb << Append( // use outlinebox to add title
OutlineBox("Process Capability for " || col_name, lb);
);
dist << Close Window;
);
vlb << save msword("c:\TEMP\test.doc", native);

Betreff: So speichern Sie Bilder mit JSLIch denke, um die Bilder zu übertreffen, ist neben JSL auch Powershell (oder etwas anderes wie Python) erforderlich. Sie können den Powershell-Code von JMP aus ausführen Programm ausführen()