Alle,
Ich möchte um eine Eingabe bitten, wie man am besten ein GB-Diagramm mit mehreren Parametern erstellt.
Nehmen wir an, ich habe eine Tabelle wie diese:
New Table( "Untitled 140",
Add Rows( 12 ),
New Column( "Category",
Character,
"Nominal",
Set Values( {"A", "A", "A", "B", "B", "B", "C", "C", "C", "D", "D", "D"} )
),
New Column( "Value1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [1, 4, 2, 3, 6, 2, 3, 5, 4, 1, 3, 6] )
),
New Column( "Value2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [6, 3, 5, 2, 8, 6, 5, 2, 6, 3, 5, 4] )
)
)Und ich möchte eine Handlung wie diese schreiben:

wobei das automatisch generierte Skript so aussieht:
;Graph Builder(
Size( 522, 450 ),
Show Control Panel( 0 ),
Variables( X( :Category ), Y( :Value1 ), Y( :Value2, Position( 1 ) ) ),
Elements( Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Summary Statistic( "Range" ) ) )
)
mit dem Haken, dass es beliebig viele Y-Spalten gibt und die Namen auch willkürlich sind.
Für Plots wie Variability Plot würde ich so etwas tun:
parameters = {:"Value1"n, :"Value2"n};
yExpr = Expr( Y() );
For Each( {value, index}, parameters, Insert Into( yExpr, Name Expr( value ), 1 ) );
Eval(
Substitute(
Expr(
Variability Chart( placeholder, X( :Category ), Std Dev Chart( 0 ) )
),
Expr( placeholder ), Name Expr( yExpr )
)
);wo ich die Namen der Spalten als Liste erhalte und dann einen Y-Ausdruck konstruiere und dann in das Skript für das Diagramm einfüge. Es würde mir eine Liste von Variabilitätsplots geben, aber das ist für mich in Ordnung.
Wenn ich im Falle des GB den gleichen Weg gehen möchte, muss ich anscheinend zwei Ausdrücke konstruieren:
Y( :Value1 ), Y( :Value2, Position( 1 ) )
und
Elements( Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Summary Statistic( "Range" ) ) )
Das ist im Wesentlichen das gesamte Skript.
Meine Frage: Gibt es einen besseren Weg, als eine Reihe von Ersetzungen mit Ausdrücken vorzunehmen, um diese beiden Zeilen zusammenzusetzen?
Vielen Dank!