Ich habe ein Skript, das ein Fenster mit drei Registerkarten erstellt.Die erste Registerkarte enthält ein Lineup-Feld mit zwei Spalten und 6 Graph Builder-Diagrammen, die mit einer Schleife erstellt wurden.
nw = New Window( "Win1", tbox = Tab Box(Tab Page Box("Age", vlb = Lineup Box( N Col( 2 )) )) );Alle von der Schleife erzeugten Diagramme werden angehängt mit:
vlb << Append(
Graph Builder("graph stuff here");Am Ende sieht alles wie erwartet aus, zwei Grafiken pro Zeile (zwei Spalten).
Wenn ich es jedoch als "Bericht" (mit einer eingebetteten Tabelle) speichere, verschwindet das Lineup-Feld aus dem Code!
Und ich bekomme:
New Window( "Win1",
Tab Box(
Tab Page Box(
"Age",
Graph Builder("graph stuff here");Gibt es eine Möglichkeit, die ursprüngliche Anordnung der Diagramme in zwei Spalten beizubehalten? Ist dies eine Eigenschaft oder ein Mangel an Eigentum von der Art der "Boxen", die ich benutze?
Ich werde mich über einige Vorschläge freuen.
Ich denke, dies ist ein Fehler, an den Sie möglicherweise senden möchten support@jmp.com . Beachten Sie, dass Sie ohne Speichern als Bericht, wenn Sie Skript speichern> Im Skriptfenster (Alle Objekte) auswählen, auch Registerkarten anstelle von Aufstellungsfeldern erhalten.
In der Zwischenzeit besteht eine Problemumgehung möglicherweise darin, eine Skriptdatei anstelle der Berichtsdatei zu verteilen.In der Datentabelle können Sie aus dem roten Dreieck über der Spaltenliste das Skript zum Kopieren von Tabellen auswählen und dieses dann in Ihr Skript einfügen.Fügen Sie '//!' in der ersten Zeile des Skripts, damit es automatisch ausgeführt wird, und speichern Sie es dann als .jsl-Datei (Dateigröße sollte jrp-Datei sein, beide speichern die Tabelle als Text).
Damit es sich eher wie ein Bericht verhält, können Sie die Tabelle als unsichtbar oder privat öffnen und beim Schließen des Fensters automatisch schließen.
Hier ist ein Beispiel, speichern Sie dies als .jsl-Datei:
//!
Names default to here(1);
dt = New Table( "Subset of Big Class 2",
Add Rows( 18 ),
New Column(
["en" => "age", "ja" => "年齢", "x-id" => "S_age_Col", "zh-CN" => "年龄"],
Numeric, "Ordinal", Format( "Fixed Dec", 5, 0 ),
Set Values(
[12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17]
),
Set Display Width( 0 )
),
New Column(
["en" => "height",
"ja" => "身長(インチ)",
"x-id" => "S_height_Col",
"zh-CN" => "身高"],
Numeric, "Continuous", Format( "Fixed Dec", 5, 0 ),
Set Values(
[61, 66, 51, 61, 65, 58, 63, 63, 64, 62, 64, 67, 65, 60, 68, 62, 68, 70]
),
Set Display Width( 0 )
),
New Column(
["en" => "weight",
"ja" => "体重(ポンド)",
"x-id" => "S_Big_Class_weight_Col",
"zh-CN" => "体重"],
Numeric, "Continuous", Format( "Fixed Dec", 5, 0 ),
Set Values(
[123, 145, 79, 107, 98, 95, 84, 93, 99, 92, 112, 128, 112, 115, 128, 116,
134, 172]
),
Set Display Width( 0 )
),
Invisible
);
nw = New Window( "Win1", tbox = Tab Box(Tab Page Box("Age", vlb = Lineup Box( N Col( 2 )) )) );
nw << On close( try( Close( dt, "nosave" ) ) );
ages = associative array(dt:age) << get keys;
for(i=1, i<= n items(ages), i++,
Eval( Eval Expr(
vlb << Append(
Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables(
X( :height ),
Y( :weight ),
Overlay( Transform Column( "Is " || char( ages[i] ) , Nominal, Formula( :age == Expr( ages[i] ) ) ) )
),
Elements( Points( X, Y, Legend( 7 ) ) ),
SendToReport(
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Hight and Weight" )} )
)
)
)
) )
);
Hallo @ich h Vielen Dank für Ihre Antwort. Leider funktioniert Ihr Ansatz nicht, da ich Skripte verwende, die "Funktions" -Skripte aufrufen, und andere Zusatzskripte, die die Daten verarbeiten, bevor die Datentabelle für die Diagramme generiert wird.
Ich werde mich mit dem Support in Verbindung setzen und alle Lösungen / Kommentare hinzufügen, die ich von ihnen erhalten kann.