J'essaie d'ajouter un graphique de générateur de graphiques avec un filtre de données local dans Journal. Ça a l'air bien sur JMP quand j'exécute le JSL. Mais lorsque j'exporte au format pdf, les fonctionnalités de filtrage des données locales ont disparu. Quelqu'un peut-il conseiller ce qui ne va pas? Selon les commentaires de Bryon, les fonctionnalités de filtre de données locales ne sont pas présentes sur le PDF, mais le filtre est toujours présent avec des notes dans le tableau ci-dessous.
Un autre problème que j'ai est que je génère 2 graphiques avec un filtre de données et que je l'envoie au journal. Mais le premier graphique avec filtre de données s'affiche correctement avec la fonction de filtre. Mais le 2ème filtre de données de graphique n'est pas présent.
Corrigez les graphiques que j'attendais dans le PDF.

J'ai joint mon JSL, l'échantillon et le pdf généré.
Names Default To Here( 1 );
Clear Symbols();
Clear Log();
Close All( Data Tables, NoSave );
Close All( Journals, NoSave );
//Journal
nw = New Window( "Reports",
<<JOURNAL></JOURNAL>
Merci danschikore. J'essaie votre script. Il a inclus la plate-forme de filtrage de données locales dans le journal. Mais le 2ème graphique n'a toujours pas vraiment la fonction de filtre de données. Si c'est le cas, je ne verrai pas les points sur le cercle rouge.
Je ne comprends toujours pas entièrement pourquoi la fonction de filtre de données du 1er graphique fonctionne, mais la fonction de filtre de données du 2ème graphique ne fonctionne pas. Et à côté de cela, je ne sais pas non plus pourquoi il y a un point de marquage noir là-bas.

Dans le JSL d'origine, vous utilisez la fonction Report() lors de l'ajout du contenu au journal.La fonction Report() sur une plate-forme renvoie une zone d'affichage qui contient le contour de la plate-forme et tout ce qu'il contient, mais n'inclut pas le filtre ou les sélecteurs de colonne qui sont sur le côté.
Dans le script de Byron, il envoie le message <
lub << Append(cht_uNV_EC_RD_Set_AfterCyc << Top Report);
lub << Append(cht_uNV_EC_RD_Erase_AfterCyc << Top Report);
Je ne sais pas non plus pourquoi ça ne fonctionnait pas. Cela semblait fonctionner pour moi, mais je suis sur un Mac, donc cela pourrait en faire partie.
L'approche que j'utilise pour le problème sur lequel vous travaillez est un peu différente et semble fonctionner de manière robuste dans de nombreuses situations différentes. Je crée d'abord les graphiques, puis je copie le script du graphique dans une expression.
graph1=expr( "paste the graph script here" );
Un avantage secondaire de cela vient du pliage de code (allez dans Fichier> Préférences> Éditeur de script et activez cette option).Je peux plier tout le graphique en une seule ligne dans l'éditeur de script, ce qui est très pratique.
Après avoir terminé tous les graphiques, je peux générer l'affichage de la fenêtre avec quelques lignes courtes.
win=new window("Example", vlist box( graph1, graph2);
Une fois que les graphiques sont dans la fenêtre, je peux leur envoyer des messages pour le formatage et tout ça.
Dans cet exemple, "win" est un objet qui peut être journalisé, ou plus simplement, simplement enregistré dans un PDF ou Powerpoint.
Lorsque j'utilise JSL, à de très rares exceptions près, je n'utilise pas le journal comme conteneur intermédiaire. Le journal est cependant très pratique comme conteneur pour les opérations manuelles.
Heureux que cela ait aidé !
Chers,
Byron
Je ne suis pas sûr. Quand j'ai exécuté votre script avec la table de test. Les deux graphiques sont identiques et peuvent être exportés au format PDF. Dans les 4 (?) cas, le filtre de données local est inclus avec les chiffres.
J'ai un peu déconné avec ton script.
J'ai enveloppé les deux graphiques et les filtres dans une expression.
Quand je fais la fenêtre, je les mets directement dans la fenêtre vlistbox (Lub) en évaluant les expressions qui s'y trouvent.
Ensuite, j'ai ajouté (à l'opposé d'ajouter, en quelque sorte) le texte en haut.
Une fois la fenêtre terminée, je l'ai journalisée comme dernière étape. Les journaux peuvent être pénibles à utiliser, alors j'essaie toujours de tenir mon journal en dernier. Enregistrez le journal au format PDF, puis ouvrez-le pour vérifier son apparence.
//*************************************
//dt_source = Data Table( "Wafer_Sort" );
dt_source = Open( "test.jmp" );
set = Expr(
cht_uNV_EC_RD_Set_AfterCyc = dt_source << Graph Builder(
Size( 1029, 643 ),
Show Control Panel( 0 ),
Variables(
X( :SplitGrp ),
X( :Wafer, Position( 1 ) ),
Y( :Name( "DL_uNV_EC_RD_Set_AfterCyc-DL_uNV_EC_RD_Set_AfterCyc,11510,-" ) )
),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {32, [-1]} ), Position( {-1} )}
)
)
)
);
erase = Expr(
cht_uNV_EC_RD_Erase_AfterCyc = dt_source << Graph Builder(
Size( 1029, 643 ),
Show Control Panel( 0 ),
Variables(
X( :SplitGrp ),
X( :Wafer, Position( 1 ) ),
Y( :Name( "DL_uNV_EC_RD_Erase_AfterCyc-DL_uNV_EC_RD_Erase_AfterCyc,11512,-" ) )
),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {32, [-1]} ), Position( {-1} )}
)
)
)
);
filters = Expr(
cht_uNV_EC_RD_Set_AfterCyc << Local Data Filter(
Add Filter(
columns(
:Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ),
:Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ),
:Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ),
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ),
:Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" )
),
Where( :Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ) == 0 ),
Where(
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ) == 0
),
Where( :Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" ) == 0 )
)
);
cht_uNV_EC_RD_Erase_AfterCyc << Local Data Filter(
Add Filter(
columns(
:Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ),
:Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ),
:Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ),
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ),
:Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" )
),
Where( :Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ) == 0 ),
Where(
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ) == 0
),
Where( :Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" ) == 0 )
)
);
);
nw = New Window( "Reports",
hlb = H List Box(
lub = vlist Box( set,erase )
)
);
filters;
lub << prepend( tb = Text Box( "uNV RD_Set & RD_Erase after 10k
" ));
tb << Set Font Size( 14 ) << Set Font Style( "Bold" ) << Justify Text( "center" );
tb << set width(700) << set wrap(700);
nw<<JOURNAL></JOURNAL>

les filtres de données locaux ne sont pas actifs dans la vue PDF, de sorte que les conditions de sélection du filtre sont signalées sous le graphique.
si vous souhaitez que le filtre de données local s'affiche, enregistrez simplement le rapport au format PDF sans l'envoyer à un journal.
De plus, l'exportation au format PDF peut fonctionner différemment sur un Mac ou dans la version 15.2 où cela fonctionne pour moi.