Ho uno script che crea una finestra con tre schede.La prima scheda ha una casella di selezione con due colonne e 6 grafici del generatore di grafici creati con un ciclo.
nw = New Window( "Win1", tbox = Tab Box(Tab Page Box("Age", vlb = Lineup Box( N Col( 2 )) )) );Tutti i grafici generati dal loop sono aggiunti con:
vlb << Append(
Graph Builder("graph stuff here");Alla fine tutto sembra come previsto due grafici per riga (due colonne).
Tuttavia, quando lo salvo come "Report" (con una tabella incorporata) la casella Lineup scompare dal codice!
E ottengo:
New Window( "Win1",
Tab Box(
Tab Page Box(
"Age",
Graph Builder("graph stuff here");C'è un modo per preservare la disposizione originale dei grafici in due colonne? È una proprietà o una mancanza di proprietà del tipo di “scatole” che sto utilizzando?
Apprezzerò alcuni suggerimenti da provare.
Penso che questo sia un bug, potresti considerare di inviarlo a support@jmp.com . Si noti che senza salvare come report, se si seleziona Salva script> Nella finestra di script (tutti gli oggetti) si ottengono anche caselle di tabulazione anziché caselle di elenco.
Nel frattempo, una soluzione potrebbe essere quella di distribuire un file di script invece del file di report.Nella tabella dei dati, puoi selezionare Copia script della tabella dal triangolo rosso sopra l'elenco delle colonne, quindi incollarlo nel tuo script.Includere '//!' sulla prima riga dello script in modo che venga eseguito automaticamente, quindi salvarlo come file .jsl (la dimensione del file dovrebbe essere jrp, entrambi salvano la tabella come testo).
Per farlo agire più come un report, puoi aprire la tabella come invisibile o privata, quindi chiuderla automaticamente quando la finestra si chiude.
Ecco un esempio, salvalo come file .jsl:
//!
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" )} )
)
)
)
) )
);
Ciao @ih , grazie mille per la tua risposta, purtroppo il tuo approccio non funzionerà perché sto usando script che chiamano script "funzioni" e altri script ausiliari che elaborano i dati prima di generare la tabella dati per i grafici.
Seguirò il supporto e aggiungerò eventuali soluzioni / commenti che potrei ottenere da loro.