Private Datentabellen ein- und ausschaltenUm viele meiner Skripte sauber zu halten, verwende ich ziemlich häufig 'private'. Wenn ich jedoch ein Skript behebe, stehen private Tabellen im Weg, und ich muss auskommentieren und hoffentlich daran denken, die Kommentare zu entfernen, wenn ich Änderungen vornehme, um zu sehen, ob die Änderungen funktionieren.
Gibt es eine Möglichkeit oder verfügt JMP bereits über eine globale Möglichkeit, private Tabellen ein- oder auszuschalten? In meinem Kopf könnte ich mir die Zeit nehmen, Duplikate meines Codes mit und ohne private zu erstellen und ihn an eine Testvariable zu binden, aber das scheint nicht die beste Antwort zu sein.
Ich war mir nicht sicher, ob es da draußen irgendwelche Ideen gibt, wie man das macht. Danke!
SkripterstellungBetreff: Private Datentabellen ein- und ausschaltenIch bin mir nicht bewusst, dass ich Private ein- und ausschalten kann, da dies das spontane Erstellen aller Anzeigeobjekte im Speicher erfordern würde.Sie können jedoch die Meldung Fenster anzeigen verwenden, um normale oder unsichtbare Datentabellen anzuzeigen/auszublenden.
data table("Daily Blood Pressure")<<SHOW window=""></SHOW>Betreff: Private Datentabellen ein- und ausschaltenMöglicherweise können Sie private Tabellen sichtbar machen, indem Sie << Neue Datenansicht verwenden. Ich bin nicht 100%ig, was dies in diesem Zusammenhang tut, aber es scheint private Tabellen sichtbar zu machen, und ich habe es zum Debuggen verwendet:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp", private);
wait(2);
dt << New Data View;
keine Ahnung wie man es wieder privat macht, aber << Show Window(0); wird es zumindest unsichtbar machen.
Betreff: Private Datentabellen ein- und ausschaltenSichtbare und unsichtbare Tabellen werden von JMP nachverfolgt. Sie können sie beispielsweise im Home-Fenster im Auge behalten. Private Tabellen werden nur von dem Code verfolgt, der sie erstellt. Wenn Sie eine private Tabelle nicht schließen, bevor Sie die JSL-Variable mit ihrem Handle überschreiben, befindet sich die Tabelle immer noch im Speicher, ist aber nicht erreichbar. Es wird geschlossen, wenn JMP beendet wird. (Window->CloseAllDataTables kann die privaten Tabellen nicht finden und schließt sie nicht.)
Ich bin mir auch ziemlich sicher, dass JMP keine Möglichkeit bietet, eine sichtbare oder unsichtbare Tabelle privat zu machen. Sie können einen privaten Tisch unsichtbar machen, wenn Sie das Handle haben, wie folgt:
dtA = Open( "$SAMPLE_DATA/Big Class.jmp", private );
// getting the data box makes it invisible
b = dtA << New Data Box();
// then show window makes it visible
dtA << Show Window;
Leider das unsichtbare Schlüsselwort ist ein Schlüsselwort und kann nicht als Variable übergeben werden, zumindest nicht an open(). Nicht sicher über Teilmenge usw. Wahrscheinlich ist das Beste, was Sie tun können, einen Aufruf zu einer Benutzerfunktion hinzuzufügen, die nach jedem Punkt, an dem Sie eine Tabelle erstellen oder öffnen, etwas wie oben tut.
Betreff: Private Datentabellen ein- und ausschaltenDanke an alle! Am Ende habe ich Folgendes getan, was zwar nicht ideal ist, aber ziemlich gut funktionieren sollte. Ich habe eine Funktion erstellt und habe oben in meinem Skript eine Variable, um privat ein- und auszuschalten
seePrivateTables = 1;
unprivatizeTable = Function({bool,tableName},{default local},
If(bool == 1,
tableName << New Data View;
Return(tableName)
,
Return(tableName)
)
);
// ... various code
dt1 = dt << Summary(.... , private);
dt1 = unprivatizeTable(seePrivateTables, dt1);Solange ich daran denke, diese Funktion aufzurufen, wenn ich neue Tabellen erstelle, sollte ich in der Lage sein, private Tabellen in großen Mengen ein- und auszuschalten.
Betreff: Private Datentabellen ein- und ausschaltenWenn Sie diese Funktion häufig benötigen, können Sie von der Erstellung einer benutzerdefinierten Funktion profitieren Benutzerdefinierte Funktionen, Transformationen und Formate erstellen (jmp.com) .Auf diese Weise können Sie die benutzerdefinierte Funktion auch direkt aus dem Skriptindex sehen.