如何将参数传递给不同的 jsl 脚本?你好,
我有一个 SQL 数据库,我们在其中注册不同客户的数据(每个客户都有很多工具)。
我正在创建一个自动报告来监控 SQL DB 中的工具性能。
对于一位客户,我有一个很长的脚本(一个很长的 JSL),它连接到 SQL,运行查询,从查询中保存表,然后修改/过滤表以获取我需要的数据,然后绘制一些图表并将结果保存在特定位置。
为了使其更易于使用、维护和升级,我想创建不同的 JSL 脚本并使用 Customer_Tool_Info.txt 文件(请参阅 Zip 中附加的示例)作为配置文件。
由于我们有很多客户,因此我可以简单地使用 For 循环,使用此配置文件来创建我们需要的所有报告。
Customer_Tool_Info.txt 包含客户信息、工具和 ODBC 连接信息。
我想要的是让主脚本打开 Customer_Tool_Info.txt 并提取所需的信息并将它们作为其他子脚本的参数传递。
- Main_script.jsl(获取传递给子脚本的参数)
- 子脚本:
- 从 SQL.jmpquery 获取数据
- FFilter_the_Table.jsl
- Get_Charts.jsl
是否可以将参数传递到不同的 jsl 脚本中?如何? 我尝试在 Main_Script.jsl 中解释我想做的所有事情。
如果您有任何疑问,请告诉我,并感谢您的帮助。
问候
杰夫
回复:如何将参数传递给不同的 jsl 脚本?它与全局变量一起工作得很好! 谢谢回复:如何将参数传递给不同的 jsl 脚本?如果您不想使用全局变量,请使用包含文件来定义函数,并且仅包含文件一次,可能在主文件的开头。 然后您可以使用参数调用用户定义的函数。 像这样的东西:
主要.jsl
--------
include("sub1.jsl");
include("sub2.jsl");
calculator(42);
reportWriter("report title");
子1.jsl
--------
reportWriter = function({title},{i,j,k}, // i,j,k are local variable examples
write(title,"this is my report")
);
亚2.jsl
----
calculator = function({thresholdNumber},{x,y,z},
return(sqrt(thresholdNumber));
)
回复:如何将参数传递给不同的 jsl 脚本?您可以通过全局变量将信息传递给其他 JSL 脚本。它们有前缀“::”;我添加了 ag 来表明它们是全球性的。例如:
::g_my_var = "Hello";
include("my_script.jsl");