Ho uno script che utilizza la piattaforma bivariata per produrre un grafico di dati su unità di tempo discrete (ad esempio 202101 per la prima settimana del 2021). Le unità di tempo utilizzate non sono negoziabili e non spaziano correttamente se trattate come continue: la distanza tra 202052 e 202101 non sarà uguale alla distanza tra 202101 e 202102, ma queste distanze dovrebbero essere le stesse in quanto sono settimane consecutive. La mia soluzione era creare una colonna "Sequenza" con i valori 1,2,3,... e accoppiarla con 202052, 202101, 202102, .... e applicare le etichette dei valori alla colonna "Sequenza" (1 ha valore etichetta 202052, 2 ha etichetta valore 202101, 3 ha etichetta valore 202102) quindi utilizzare la colonna "Sequenza" come X in Adatta Y per X. Questa soluzione funziona magnificamente, tranne quando inserisco nel journal l'output: l'etichettatura dei valori non regge e il grafico nel journal ritorna ai valori originali nella colonna Sequence invece di utilizzare le etichette dei valori. Di tanto in tanto, le etichette dei valori vengono trasferite al diario, ma dopo aver salvato e riaperto, i valori dell'asse x sono tornati ai valori originali. Credo che la differenza stia usando script o ctrl + J su journal (etichette di valore conservate temporaneamente) rispetto a copia -> incolla su journal (etichette di valore non conservate).
Potrei essere in grado di trovare un altro modo per farlo, o forse qualcuno può suggerire un altro modo, ma sono più interessato a sapere se le etichette dei valori che non vengono trasferite da una finestra di report a un diario è il comportamento previsto di JMP. Questo comportamento può cambiare nelle versioni future di JMP?
Sto usando JMP Pro 14.3.0. Ho confermato che il problema si verifica anche in JMP Pro 15.2.1. Di seguito è riportato uno script di esempio che ricrea il problema.
// Data Table
dt = New Table( "Label Example",
Add Rows( 6 ),
New Column( "Week", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [202052, 202052, 202101, 202101, 202102, 202102] ) ),
New Column( "Sequence", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1, 1, 2, 2, 3, 3] ) ),
New Column( "Value", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [12, 39, 9, 1, 22, 9] ) ),
New Column( "Group", Character, "Nominal", Set Values( {"A", "B", "A", "B", "A", "B"} ) )
);
week_list = :Week << get values;
sequence_list = :Sequence << get values;
week_list_names = {};
// Build the Value Labels List
For( i = 1, i <= N Items( week_list ), i++,
If( !Contains( week_list_names, Parse( "\!"" || Char( sequence_list[i] ) || "\!" = \!"" || Char( week_list[i] ) || "\!"" ) ),
Insert Into( week_list_names, Parse( "\!"" || Char( sequence_list[i] ) || "\!" = \!"" || Char( week_list[i] ) || "\!"" ) )
)
);
:Sequence << Data Type( Character );
:Sequence << Value Labels( week_list_names );
:Sequence << Data Type( Numeric ) << Modeling Type( Continuous );
value_by_week = Bivariate(
Y( :Value ),
X( :Sequence ),
Fit Where( :Group == "A", Fit Each Value( {Line Color( {212, 73, 88} )} ) ),
Fit Where( :Group == "B", Fit Each Value( {Line Color( {66, 112, 221} )} ) ),
SendToReport(
Dispatch( {}, "Bivariate Fit of Value By Sequence", OutlineBox, {Set Title( "Bivariate Fit of Value By Sequence" )} ),
Dispatch( {}, "1", ScaleBox, {Inc( 1 ), Minor Ticks( 0 ), Label Row( Show Major Grid( 1 ) ), Label Row( Label Orientation( "Angled" ) )} ),
Dispatch( {}, "2", ScaleBox, {Inc( 10 ), Minor Ticks( 5 ), Label Row( Show Major Grid( 1 ) )} ),
Dispatch( {}, "Sequence", TextEditBox, {Set Text( "Week" )} )
)
);
value_by_week_rep = value_by_week << Report;
my_jrn = New Window( "Test Journal", <<JOURNAL></JOURNAL>Puoi scegliere di estrarre i valori dell'anno e della settimana dalla colonna x e convertirli in timestamp. Quindi, se lo lanci sull'asse x, verrà automaticamente spaziato correttamente e se giochi con la formattazione dell'asse x puoi farlo mostrare le date come preferisci.
Interessante! Non avrei mai pensato di provarlo, ma "ripeti in una nuova finestra" funziona anche per me. Sono lieto che il problema sia stato risolto in JMP 16. Questa è una soluzione alternativa accettabile fino a quando non riesco a installarla. Grazie per aver condiviso.
Ho replicato il tuo errore in JMP 15.2.Sembra essere stato corretto in JMP 16.
Ciao @drew_baumgartel ,
Vedo lo stesso comportamento quando utilizzo il tuo script di esempio.
Tuttavia, sono stato in grado di vedere le etichette dei valori se vai sul triangolo rosso e selezioni Riesegui in una nuova finestra.
Rerun in new windowRerun in new windowRiesegui in una nuova finestra
results after rerunning in new windowresults after rerunning in new window risultati dopo la riesecuzione in una nuova finestra
Saluti,
Stan