Hallo, ich verwende JMP16. Ich habe ein Popup-Fenster, in dem ich um Benutzereingaben gebeten werde, um zwei Variablen („Entity“ und „Last_X_Days“) zu definieren, die ich zum Abfragen einer Datenbank verwenden möchte. Ich habe kein Problem damit, diese Variablen zu definieren, aber die Daten-Pull-Abfrage steht in Anführungszeichen und akzeptiert keine Eingaben als Variablen. Es nimmt sie einfach wörtlich.
Wenn „Last_X_Days“ und „Entity“ zuvor als Variablen definiert wurden (basierend auf der Benutzereingabe), wie kann ich die Abfrage dazu bringen, die Variablen abzurufen und nicht nur die Namen der Variablen wörtlich zu schreiben?
Hinweis: Ich habe einen Teil des irrelevanten Codes in CAPS in allgemeinere Begriffe geändert.
Danke schön!!!
script = PROGRAM:openDATABASEscript("\[
<PROGRAMINPUT>
<TASK>
<TASKNAME>PROGRAM</TASKNAME>
<ADDITIONALQUERIES>
<QUERY>
<TASKNAME>PARAMETER</TASKNAME>
<AUTOJOIN>1</AUTOJOIN>
<PARAMETERS>TOOL</PARAMETERS>
<PRIMARYENTITY>1</PRIMARYENTITY>
</QUERY>
</ADDITIONALQUERIES>
<AUTORUN>1</AUTORUN>
<EXTRACTXML>1</EXTRACTXML>
<SITE>LOCATION</SITE>
<DATABASEQUERY>
<QUERY>
<TASKNAME>DATABASEByDateRange</TASKNAME>
<PARAMETERS>PARAMETER NAME</PARAMETERS>
<DATERANGE><FONT color="#FF6600"><U><STRONG>Last_X_Days</STRONG></U></FONT></DATERANGE>
<ENTITY><STRONG>><FONT color="#FF6600">Entity</FONT></STRONG></ENTITY>
<EXCLUDEINVALID>0</EXCLUDEINVALID>
<EXCLUDENONSTANDARD>0</EXCLUDENONSTANDARD>
<EXCLUDEPRE>1</EXCLUDEPRE>
<INCLUDESUBS>1</INCLUDESUBS>
<MONITORTYPE>ALL</MONITORTYPE>
</QUERY>
</DATABASEQUERY>
<TECHNOLOGY>TECHNOLOGY</TECHNOLOGY>
<TOOLSTYLE>DATABASE</TOOLSTYLE>
<WRITEJSL>FILE</WRITEJSL>
</TASK>
</PROGRAMINPUT>
]\"
);
In diesem Fall würde ich höchstwahrscheinlich verwenden Eval Insert()
Names Default To Here(1);
Last_X_Days = 1;
Entity = "ABC";
query_template = "\[
<PROGRAMINPUT>
<TASK>
<TASKNAME>PROGRAM</TASKNAME>
<ADDITIONALQUERIES>
<QUERY>
<TASKNAME>PARAMETER</TASKNAME>
<AUTOJOIN>1</AUTOJOIN>
<PARAMETERS>TOOL</PARAMETERS>
<PRIMARYENTITY>1</PRIMARYENTITY>
</QUERY>
</ADDITIONALQUERIES>
<AUTORUN>1</AUTORUN>
<EXTRACTXML>1</EXTRACTXML>
<SITE>LOCATION</SITE>
<DATABASEQUERY>
<QUERY>
<TASKNAME>DATABASEByDateRange</TASKNAME>
<PARAMETERS>PARAMETER NAME</PARAMETERS>
<DATERANGE>¤Last_X_Days¤</DATERANGE>
<ENTITY>Entity
<EXCLUDEINVALID>0</EXCLUDEINVALID>
<EXCLUDENONSTANDARD>0</EXCLUDENONSTANDARD>
<EXCLUDEPRE>1</EXCLUDEPRE>
<INCLUDESUBS>1</INCLUDESUBS>
<MONITORTYPE>ALL</MONITORTYPE>
</ENTITY>
</QUERY>
<TECHNOLOGY>TECHNOLOGY</TECHNOLOGY>
<TOOLSTYLE>DATABASE</TOOLSTYLE>
<WRITEJSL>FILE</WRITEJSL>
</DATABASEQUERY>
</TASK>
]\";
query_str = Eval Insert(query_template, "¤");
show(query_str);
script = PROGRAM:openDATABASEscript(query_str);</PROGRAMINPUT>