Kreisdiagramm (von Graph Builder) mit JSL kommentierenIch habe JSL geschrieben, um ein Kreisdiagramm zu erstellen (von Graph Builder):

Ich möchte dieses Kreisdiagramm (unter seiner Legende) mit dem Text „Antworten: 14“ versehen, zum Beispiel:

Gibt es eine Möglichkeit, dies mit JSL zu tun?Mein aktuelles Skript ist als Datei angehängt.
Automatisierung und SkripterstellungMassenanpassungBetreff: Kreisdiagramm (von Graph Builder) mit JSL kommentierenIch habe das Skript überarbeitet und gezeigt, wie die Bildform des Kreisdiagramms in die endgültige Anzeige integriert werden kann
/* Scorecard with Annotated Pie */
ClearLog();
NamesDefaultToHere(1);
dt1 = NewTable( "Table1", AddRows(5),
NewColumn( "Channel", Character, Nominal,
SetValues({"Call","Email","Facebook","Twitter","Visit"}) ),
NewColumn( "Pct of Customers", Continuous, Format("Percent"),
SetValues({.1, .05, .4, .35, .08}) )
);
dt2 = NewTable( "Table2", AddRows(5),
NewColumn( "Team Member", Character, Nominal,
SetValues({"Sales Asst A","Sales Asst B","Sales Asst C","Sales Asst D","Sales Asst E"}) ),
NewColumn( "Rating", Character, Nominal,
SetValues({"Excellent","Very Good","Excellent","Excellent","Excellent"}) )
);
dt = New Table( "Responses",
AddRows( 4 ),
New Column( "Status", Character( 7 ), "Nominal", Set Values( {"Late", "N/A", "On Time", "Pending"} ) ),
New Column( "Count", Numeric, "Continuous", Format( "Fixed Dec", 12, 0 ), Set Values( [2, 0, 11, 1] ) )
);
gb = dt << GraphBuilder(invisible,
Size( 150, 180 ),
ShowControlPanel( 0 ),
Variables( X( :Status ), Y( :Name( "Count" ) ) ),
Elements( Pie( X, Y, Legend( 2 ), Label( "Label by Value" ) ) ),
SendToReport(
Dispatch({}, "400", ScaleBox, {LegendModel( 2,
Properties( 0, {FillColor({247, 150, 70})} ),
Properties( 1, {FillColor({200, 200, 200})} ),
Properties( 2, {FillColor({155, 187, 89})} ),
Properties( 3, {FillColor({192, 80, 77})} )
)}
),
Dispatch({}, "", GraphBuilderContainerBox, AddTextAnnotation(
Text("Responses 14"), TextBox({157, 102, 232, 135}), BackgroundColor("White")
)),
Dispatch( {}, "Graph Builder", OutlineBox, {SetTitle("Survey Responses")} ),
Dispatch( {}, "graph title", TextEditBox, {SetText("")} ),
Dispatch( {}, "X title", TextEditBox, {SetText("John Doe (pending)")} ),
Dispatch( {}, "Y title", TextEditBox, {SetText("")} ),
Dispatch( {}, "400", LegendBox, {SetTitle("")} )
)
);
thepicture = report(gb) << GetPicture;
win = NewWindow( "Customer Service Scorecard",
TextBox( "Customer Service Scorecard", <<SETFONTSIZE></SETFONTSIZE>Betreff: Kreisdiagramm (von Graph Builder) mit JSL kommentierenDanke, Jim.
OK, ich sehe, dass die TextBox nicht wirklich Teil von GraphBuilder ist, sondern ein darüber platziertes Bild.Ich konnte Ihr Skript erfolgreich ausführen, um ein Tagebuch mit einem Bild zu erstellen.
Was wäre, wenn das Bild Teil einer 2x2-Scorecard wäre?
Zum Beispiel:
- OutlineBox mit Text
- Balkendiagramm
- Bild (Kreisdiagramm mit Anmerkung)
- OutlineBox mit Tabelle
Wie würde ich im beigefügten Skript das Bild mit dem Rest der Scorecard kombinieren?
Betreff: Kreisdiagramm (von Graph Builder) mit JSL kommentierenDazu müssen Sie lediglich die Anmerkung zum Diagramm hinzufügen und anschließend das Skript mit der Anmerkung abrufen.Sobald Sie das haben, einige kleinere Änderungen und Sie haben Ihr Skript.Die wichtigste Änderung bestand darin, dass die Anmerkung nicht in das Journal übertragen wurde, sondern durch das Kopieren der Ausgabe in eine Bildstruktur und das anschließende Posten dieses Bildes im Journal erhält man die gewünschten Endergebnisse.
Clear Log();
Names Default To Here( 1 );
dt = New Table( "Responses",
AddRows( 4 ),
New Column( "Status", Character( 7 ), "Nominal", Set Values( {"Late", "N/A", "On Time", "Pending"} ) ),
New Column( "Count", Numeric, "Continuous", Format( "Fixed Dec", 12, 0 ), Set Values( [2, 0, 11, 1] ) )
);
total = 14;
thetext = "Responses\!n" || char(total);
win = New Window( "Scorecard",
gb = dt << GraphBuilder(
Size( 150, 180 ),
ShowControlPanel( 0 ),
Variables( X( :Status ), Y( :Name( "Count" ) ) ),
Elements( Pie( X, Y, Legend( 2 ), Label( "Label by Value" ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
2,
Properties( 0, {Fill Color( {247, 150, 70} )} ), /* Late: orange */
Properties( 1, {Fill Color( {200, 200, 200} )} ), /* N/A: grey */
Properties( 2, {Fill Color( {155, 187, 89} )} ), /* On Time: green */
Properties( 3, {Fill Color( {192, 80, 77} )} ) /* Pending: red */
)}
),
Dispatch(
{},
"",
GraphBuilderContainerBox,
Add Text Annotation(
Text( theText ),
Text Box( {159, 94, 232, 133} ),
Background Color( "White" )
)
),
Dispatch( {}, "Graph Builder", OutlineBox, {SetTitle( "Survey Responses (Q3 2017)" )} ),
Dispatch( {}, "graph title", TextEditBox, {SetText( "" )} ),
Dispatch( {}, "X title", TextEditBox, {SetText( "John Doe (pending)" )} ),
Dispatch( {}, "Y title", TextEditBox, {SetText( "" )} ),
Dispatch( {}, "400", LegendBox, {SetTitle( "" )} )
)
)
);
thepicture=report(gb)<<GET picture=""></GET>