如何使用用户定义的变量来定义数据库查询?您好,我正在使用 JMP16。 我有一个弹出框要求用户输入以定义我想用来查询数据库的两个变量(“Entity”和“Last_X_Days”)。 我没有问题定义这些变量,但数据拉取查询在引号中并且不会将输入作为变量。 它只是从字面上理解它们。
如果之前将“Last_X_Days”和“Entity”定义为变量(基于用户输入),我如何获取查询以提取变量而不是只写变量的名称?
注意:我将一些不相关的代码更改为 CAPS 中更通用的术语。
谢谢你!!!
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>
]\"
);
自动化和脚本回复:如何使用用户定义的变量来定义数据库查询?在这种情况下,我很可能会使用评估插入()
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>