Salut,
Je souhaite utiliser les valeurs d'une table de données comme lignes de référence sur un tracé de variabilité basé sur une table de données distincte. Mon code actuel est ci-dessous, j'espère qu'il a du sens comme partagé. J'utilise JMP 15.2
Mon problème est que lorsque je lance tout cela en même temps, je n'obtiens aucune ligne de référence sur mon tracé.
Cependant, si j'exécute d'abord uniquement la section avant '//SPLIT POINT', puis que j'exécute séparément la section après '//SPLINT POINT', cela fonctionne sans problème (les lignes de référence sont visibles sur mon tracé).
Un dernier point est que si j'utilise
Cible = dt1_spec_limits::Name( "data_column_A" )[1]
à la place de
Cible = dt1_spec_limits:Name("Graph_Target_line")[1]
la ligne de référence s'affiche sur le tracé, même lorsque l'ensemble du script est exécuté comme un seul. Je pense donc que cela a quelque chose à voir avec la mise à jour des calculs dans la table de données ?
Toute idée serait grandement appréciée, merci.
//joindre deux tables de données pour créer une table des limites de spécification
dt1_spec_limits = dt1_mean_join <<
Rejoindre(
Avec( dt1_std_join ),
Par colonnes correspondantes ( :Join = :Join ),
Déposez les multiples( 0, 0 ),
Inclure les non-correspondances (0, 0),
Conserver l'ordre de la table principale( 1 )
)
;
//calculer les valeurs Target, USL et LSL
Nouvelle colonne( "Graph_Target_line",
numérique,
"Continu",
Format( "Meilleur", 6 ),
Formule( :Nom( "colonne_données_A" ) )
)
;
Nouvelle Colonne( "Graph_USL",
numérique,
"Continu",
Format( "Meilleur", 6 ),
Formule(
:Nom( "colonne_données_A" ) + 3.15 *
:Nom( "colonne_données_B" )
)
)
;
Nouvelle Colonne( "Graph_LSL",
numérique,
"Continu",
Format( "Meilleur", 6 ),
Formule(
:Nom( "colonne_données_A" ) - 3.15 *
:Nom( "colonne_données_B" )
)
)
;
//POINT SPLIT
//affecte les variables à utiliser dans le diagramme de variabilité
USL = dt1_spec_limits :Name("Graph_USL")[1]
;
LSL = dt1_spec_limits:Name("Graph_LSL")[1]
;
Cible = dt1_spec_limits:Name("Graph_Target_line")[1]
;
//Tracé basé sur les données d'une table avec les lignes de référence basées sur ci-dessus
Table de données actuelle (dt1_plotting_data)
;
Tableau de variabilité(
Y( :Nom( "colonne_1" ) ),
X( :Équipement, :Date, :Heure ),
Type d'analyse( "Choisir la meilleure analyse (EMS REML Bayésien)" ),
Std Dev Chart( 0 ),
EnvoyerVersRapport(
Expédition(
{"Tableau de variabilité pour la colonne_1"},
"2",
ScaleBox,
{
Ajouter une ligne de référence (0, "Pointillé", "Gris clair moyen", "", 1 ),
Ajouter une ligne de référence (cible, "solide", "vert foncé moyen", "cible", 1 ),
Ajouter une ligne de référence (USL, "Solid", "Medium Dark Red", "USL", 1 ),
Ajouter une ligne de référence (LSL, "Solid", "Medium Dark Red", "LSL", 1)}
),
Expédition(
{"Tableau de variabilité pour la colonne_1"},
"Tableau de variabilité",
FrameBox,
{Légende de la ligne(
Outil_MM,
Couleur( 1 ),
Thème de couleur( "JMP par défaut"),
Marqueur( 0 ),
Thème de marqueur( "" ),
Échelle continue( 0 ),
Inverser l'échelle( 0 ),
Lignes exclues( 0 )
)}
)
)
)
Je soupçonne que votre table de données dt1_spec_limits n'est pas terminée avant l'exécution du graphique de variabilité.Essayez d'ajouter
Wait( 0 );
juste avant le // SPLIT POINT.