如何使用用戶定義的變量來定義數據庫查詢?您好,我正在使用 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>