Hi,
I wrote a script that 1) queries a table(myDT) to build a control chart on and 2) another table(specLimitsTable) and 3) a loop that takes data from the second table to set spec limits on table 1.
Cela fonctionne très bien dans JMP PRO et les étapes 1) et 2) fonctionnent bien dans JMP LIVE, mais lorsque j'ajoute la 3ème partie, il est indiqué que la régénération n'a pas réussi lorsque je vais actualiser mes données.
Le JSL qui fonctionne dans JMP PRO est ci-dessous :
myDT = Open Database(
"APP=JMP;DATABASE=BBAnalytics;DRIVER={SQL Server};Description=BB Analytics Data Warehouse;Trusted_Connection=Yes;UID=%_UID_%;WSID=SFX-JPCZ724;SERVER=SFX-DWA01;DBCNAME=SFX-DWA01;",
"SELECT * FROM [dbo].[DDGSControlChartDataBPX]",
"myDT"
);
specLimitsTable = Open Database(
"APP=JMP;DATABASE=BBAnalytics;DRIVER={SQL Server};Description=BB Analytics Data Warehouse;Trusted_Connection=Yes;UID=%_UID_%;WSID=SFX-JPCZ724;SERVER=SFX-DWA01;DBCNAME=SFX-DWA01;",
"SELECT * FROM [dbo].[PivotSpecLimitsMediansBPXF]",
"specDTTest"
);
// Iterate over the rows of the spec limits table
For Each Row(specLimitsTable,
// Get values from the current row
column_name = Column(specLimitsTable, "Column_Name")[Row()];
lsl = Column(specLimitsTable, "LSL")[Row()];
usl = Column(specLimitsTable, "USL")[Row()];
// Set spec limits for the corresponding column in the main data table
col_ref = Column(myDT, column_name);
Eval(
Eval Expr(
col_ref << Set Property(
"Spec Limits",
{LSL( Expr( lsl ) ), USL( Expr( usl ) ),
Show Limits( 1 )}
)
)
););Quelques choses à essayer - Tout d'abord, modifiez la structure Open Table() en New SQL Query(). Deuxièmement, essayez d'utiliser Manage Limits() avec le message "Enregistrer dans les propriétés de la colonne" au lieu de la boucle. Vous pouvez trouver des exemples des deux dans l'index des scripts. Query Builder peut également être utilisé pour créer graphiquement les appels de requête. Vous pouvez ensuite utiliser l'option du menu Triangle rouge pour enregistrer un extrait de script terminé.