J'ai un script qui utilise la plate-forme bivariée pour produire un tracé de données sur des unités de temps discrètes (par exemple, 202101 pour la 1ère semaine de 2021). Les unités de temps utilisées ne sont pas négociables et ne s'espacent pas correctement si elles sont traitées comme continues: la distance entre 202052 et 202101 ne sera pas la même que la distance entre 202101 et 202102, mais ces distances doivent être les mêmes car ce sont des semaines consécutives. Ma solution a été de créer une colonne "Séquence" avec les valeurs 1, 2, 3, ... et de l'associer à 202052, 202101, 202102, ...., et d'appliquer des étiquettes de valeur à la colonne "Séquence" (1 a une valeur étiquette 202052, 2 a l'étiquette de valeur 202101, 3 a l'étiquette de valeur 202102) puis utilisez la colonne "Séquence" comme X dans Ajuster Y par X. Cette solution fonctionne à merveille, sauf lorsque je journalise la sortie: l'étiquetage des valeurs ne tient pas et le tracé dans le journal revient aux valeurs d'origine dans la colonne Séquence au lieu d'utiliser les étiquettes de valeur. De temps en temps, les étiquettes de valeur sont transférées dans le journal, mais après avoir enregistré et rouvert, les valeurs de l'axe des x sont revenues aux valeurs d'origine. Je pense que la différence consiste à utiliser un script ou ctrl + J dans le journal (étiquettes de valeur conservées temporairement) vs copier -> coller dans le journal (étiquettes de valeur non conservées).
Je pourrais peut-être trouver une autre façon de faire cela, ou peut-être que quelqu'un peut suggérer une autre façon, mais je suis plus intéressé de savoir si les étiquettes de valeur ne transférant pas d'une fenêtre de rapport à un journal sont le comportement JMP prévu. Ce comportement peut-il changer dans les futures versions de JMP?
J'utilise JMP Pro 14.3.0. J'ai confirmé que le problème se produisait également dans JMP Pro 15.2.1. Vous trouverez ci-dessous un exemple de script qui recrée le problème.
// 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>salut @drew_baumgartel ,
Je vois le même comportement lors de l'utilisation de votre exemple de script.
Cependant, j'ai pu voir les étiquettes de valeur si vous allez dans le triangle rouge et sélectionnez réexécuter dans une nouvelle fenêtre.
Réexécuter dans une nouvelle fenêtre
résultats après réexécution dans une nouvelle fenêtre
à votre santé,
Stan
Intéressant! Je n'aurais jamais pensé essayer ça, mais "relancer dans une nouvelle fenêtre" fonctionne aussi pour moi. Je suis heureux que le problème soit résolu dans JMP 16. C'est une solution de contournement acceptable jusqu'à ce que j'arrive à l'installer. Merci pour le partage.