Skriptfähiges Objekt des aktuellen BerichtsHallo,
Was ist der beste Weg, um das skriptfähige Objekt des aktuellen Berichts abzurufen?
Wenn es ein Graph Builder-Objekt ist, kann ich verwenden
gb = Current Report()["Graph Builder"] << get scriptable object
Dies ist erstaunlich robust – funktioniert aber nur für Graph Builder-Objekte. Es funktioniert sogar, wenn der Benutzer den Titel geändert hat.
Wenn es keinen Graph Builder gibt, kann ich versuchen
so = Current Report()[Outline Box( 1 )] << get scriptable object
Es funktioniert, wenn kein lokaler Datenfilter vorhanden ist.
kein Column Switcher [ah, Column Switcher ist eine ColumnSwitcherContextOutlineBox , keine OutlineBox ]
und kein benutzerdefiniertes Dashboard [ah, das Dashboard wird über TabPageBox es erstellt, nicht über OutlineBox es]
Im Fall des lokalen Datenfilters könnte ich den Titel überprüfen:
ob = Current Report()[Outline Box( 1 )];
If( (ob << Get Title) == "Local Data Filter",
ob = Current Report()[Outline Box( 2 )]
);<BR />ob << get scriptable object;
Dieser Ansatz funktioniert nur mit englischen Spracheinstellungen und nur, wenn der Benutzer den Titel der OutlineBox nicht geändert hat.
Überprüfen Sie daher besser, ob es sich bei dem skriptfähigen Objekt um einen Datenfilter handelt:
Try (so = Current Report()[Outline Box( 1 )] << get scriptable object;
if (Char(Head(so)) == "Data Filter[]" ,
so = Current Report()[Outline Box( 2 )] << Get Scriptable Object),
Caption("failed to get a scriptable object") // user defined Dashboard
)
Automatisierung und SkriptingBetreff: Skriptfähiges Objekt des aktuellen BerichtsXML-Attribut „@helpKey“ verwenden
Names Default To Here(1);
obs = Current Report() << XPath("//OutlineBox[@helpKey and not(@helpKey = 'Data Filter')]");
If(N Items(obs) > 0,
obj = obs[1] << Get Scriptable Object;
Show(obj);
);
Write();
Die XPath-Abfrage muss möglicherweise je nach Einsatzgebiet zusätzlich modifiziert werden. Beachten Sie, dass bei XPath Probleme auftreten können, wenn die XPath-Abfrage von JMP XML nicht verarbeiten kann ( Wie aktiviere ich XML_PARSE_HUGE für << XPath()? ).
Betreff: Skriptfähiges Objekt des aktuellen BerichtsAh, schön. Danke.
Betreff: Skriptfähiges Objekt des aktuellen BerichtsDie ganze Frage kann hinfällig werden, wenn man statt
Distribution(
Continuous Distribution( Column( :height ), Process Capability( 0 ) ),
Local Data Filter
);
ob = Current Report()[Outline Box( 1 )];
If( (so << Get Title) == "Local Data Filter",
ob = Current Report()[Outline Box( 2 )]
);
ob << get scriptable object;
Wenn das skriptfähige Objekt erhalten wird, wenn die Plattform ausgeführt wird
ob = Distribution(
Continuous Distribution( Column( :height ), Process Capability( 0 ) ),
Local Data Filter
);
Auch wenn mehrere Plattformen ausgeführt werden und auf das skriptfähige Objekt mit derselben JSL-Variable verwiesen wird, kann eine einfache JMP-Liste zum Erfassen des skriptfähigen Objekts verwendet werden. Dadurch wird die ganze Verwirrung vermieden, die „Current Report()“ mit sich bringen kann.
Anhand der Beispieldatentabelle Big Class veranschaulicht das folgende Skript, wie das Abrufen des skriptfähigen Objekts zum Zeitpunkt der Ausführung das Problem „Current Report()“ umgeht.
names default to here(1);
dt=current data table();
objectList = {};
dis = Distribution(
Continuous Distribution( Column( :height ), Process Capability( 0 ) )
);
insert into(objectList, dis);
show(current report()[outlinebox(1)]<<GET title=""></GET>
<P>Ein Wunschlistenelement für eine neue Funktion namens</P>
<CODE class=" language-jsl"><< Get Current Report Scriptable Object
könnte gerechtfertigt sein
Betreff: Skriptfähiges Objekt des aktuellen Berichtsmeine Hauptanwendung:
Ein Befehl zum Optimieren/Interagieren mit jedem „vorhandenen“ Bericht.
Es besteht also keine Möglichkeit, eine Liste zu füllen.
@txnelson wrote:
Ein Wunschlistenelement für eine neue Funktion namens
<< Get Current Report Scriptable Object
könnte gerechtfertigt sein
OK:
Meldung: Aktuelles skriptfähiges Berichtsobjekt abrufen
ob & so -> im Hauptbeitrag korrigiert