Creazione di un grafico bivariato e di variabilità fianco a fianco all'interno di un ciclo per più parametri e gruppiHo un'idea di cosa potrebbe essere necessario fare, ma non sono sicuro di come implementarlo. Ho una piccola tabella di esempio (diciamo) come questa (che mostra solo 4 righe)
dt
Gruppo Parametro Valore Classe PhaseLabel Data
A X 2 pq z xxxxx
A Y 6 re z xxxxx
A R 2.6 uy u yyyyy
B X 4 yt z qqqqq
B R 3 er s rrrrrrr
.................................................. ...............
Quindi voglio creare jrn-> html per ciascuno dei miei gruppi (file html distinti). In ogni file html ci saranno grafici che verranno aggiunti utilizzando una casella di riepilogo V. Tuttavia, il problema è che ho bisogno di un fianco a fianco (un grafico bivariato e uno di variabilità)
Sono in grado di produrre un grafico bivariato o variabile, ma non posso fare entrambe le cose. Ho messo lo scheletro del codice di seguito:
dt = Current Data Table();
out_path = "*****"
Summarize( groupid = by(:Group));
Summarize(paramgrp = by(:Parameter));
mydf = {};
For (k=1, k<=N items(groupid),k++,
grp_name = groupid[k];
myhtm = New Window( "30d Trend Plots Group Wise", myhtm[k] = V List Box() );
For( i = 1, i <= N Items( paramgroup ), i++,
idname = Char( paramgroup[i] );
outfile = out_path || grp_name || "_" || "trend_plots" || ".html";
df_ooc = dt_month << Bivariate(
Y( :Value),
X( :DATE),
Where( :Parameter == idname),
Where (:Group == groupname),
By(:Group :Parameter),
);
mydf[k] << append( Report( myhtm))
); ///// 2nd for loop end
jrn_df = New Window("Trend Correlation Report", << Journal) ;
mydf[k] << Journal(Freeze All) << show window(0);
jrn_df << Save HTML(outfile);
Close All (Journals, "No Save");
); 1st for loop end
Ora il codice sopra funziona perfettamente quando voglio avere 1 giornale per ogni gruppo che traccia avvizzisce un bivariato (mostrato qui) o se voglio un grafico var (se sostituisco solo bivariato con var grafico in funzione di Class & Phase Label ). Tuttavia, quello che voglio è all'interno di ogni gruppo (primo ciclo for per ogni parametro (all'interno del secondo ciclo) il grafico bivariato e var fianco a fianco. Quindi, significa che se ho 4 gruppi dovrei avere 4 riviste (file html) e se per ogni gruppo dico che ho 5 parametri, su ogni file html avrò un totale di 10 grafici in 2 colonne (la prima colonna dice Bivariata e la seconda La colonna dice Grafico Var). Stavo cercando di utilizzare H Box all'interno del secondo ciclo for e cercando di aggiungere i due grafici ma non funziona.
Apprezzerò davvero l'aiuto. Se sono necessarie altre informazioni, posso fornirle.
Tabella datiGraficaScriptingOggetto: Creazione di un grafico bivariato e di variabilità fianco a fianco all'interno di un ciclo per più parametri e gruppiHo rielaborato un po 'la tua sceneggiatura.Dovrai esaminare ciò che ho fatto.Il problema di base è che quando si utilizza un BY () sulle piattaforme, viene generato un report separato per ogni livello di by.
Lo script così come è stato scritto genererà i diari per ogni gruppo.Ho commentato la finestra dello spettacolo e il salvataggio del giornale in html.L'ho fatto, quindi per iniziare vedrai le diverse riviste.Devi solo eliminare i commenti e dovrebbe funzionare nel modo desiderato.
Names Default To Here( 1 );
dt = Current Data Table();
out_path = "*****";
Summarize( groupid = by( :Group ) );
Summarize( paramgroup = by( :Parameter ) );
mydf = {};
For( k = 1, k <= N Items( groupid ), k++,
grp_name = groupid[k];
myhtm = New Window( "30d Trend Plots Group Wise", lb = Lineup Box( N Col( 2 ) ) );
For( i = 1, i <= N Items( paramgroup ), i++,
idname = Char( paramgroup[i] );
outfile = out_path || grp_name || "_" || "trend_plots" || ".html";
df_ooc = dt << Bivariate(invisible,
Y( :Value ),
X( :DATE ),
Where( :group == grp_name ),
By( :Parameter ),
);
vc = Variability Chart(invisible,
Y( :Value ),
X( :Date ),
Std Dev Chart( 0 ),
where( :group==grp_name ),
By( :parameter )
);
// For each value in the By group, there is a separate report
theEnd=.;
try(theEnd=nitems(df_ooc)); if(ismissing(theEnd), theEnd=1);
For( rptGroup = 1, rptGroup <= theEnd, rptGroup++,
IF( theEnd == 1,
lb << append( Report( df_ooc ) );
lb << append( Report( vc ) );
,
lb << append( Report( df_ooc[rptGroup] ) );
lb << append( Report( vc[rptGroup] ) );
);
);
df_ooc << close window;
vc << close window;
); ///// 2nd for loop end
jrn_df = New Window( "Trend Correlation Report", <<JOURNAL></JOURNAL>
Lo script ha funzionato senza errori sui dati di esempio forniti.
Oggetto: Creazione di un grafico bivariato e di variabilità fianco a fianco all'interno di un ciclo per più parametri e gruppiFammi controllare i dati reali e tornerò presto. Grazie mille Jim. Sei sempre favoloso!