使用脚本加载数据时排除数据<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />嗨社区,
当我打开一个带有数据库的表,并将以下脚本保存到数据表时,它可以工作。 当我将脚本保存到插件中的菜单项时,它只是提取数据而不排除。 这是怎么回事?
开放数据库(
“DSN = PI SQL连接实验室;说明= PI SQL连接实验室; UID =; Trusted_Connection =是; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData”,
“SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data”,
“NSI_Discovered_Factors_Lab_Data”
“NSI数据库”
);
DT = CurrentDataTable();
dt <<选择Where(排除==“排除”)<< hide <<排除;
Re:使用脚本加载数据时排除数据感谢有关它从脚本编辑器运行但不作为加载项运行的线索。
这通常表示JSL中变量引用的范围问题。默认情况下,加载项使用“Names Default to Here(1)”选项运行,以便无范围的引用转到“Here”命名空间。
您的选择Where() 它的形式有一个无范围的变量排除 。
如果你在它之前包含一个:将它扩展到数据表列,它在两种情况下都适用(脚本编辑器和加载项)。
dt<<Select Where(:Exclude=="Exclude")<<hide<<Exclude;
-Jeff
Re:使用脚本加载数据时排除数据嗨拜伦,
当我将查询复制并粘贴到一个完全如下的脚本中时:
DT = CurrentDataTable();
dt <<选择Where(排除==“排除”)<< hide <<排除;
有用。 但是当我将脚本保存到jsl插件时,奇怪的是没有。 列名称,大小写和空格匹配。 对于行也是如此。 它非常奇怪,它在非addin jsl中工作,但在addin中不起作用。 我没有生成这个jsl形式的数据过滤器。
Re:使用脚本加载数据时排除数据可能还有其他一些小事要检查,我提前道歉,因为它是如此基本。
导入的数据表有一个名为“Exclude”的列
- 实际的列名是否有任何前导空格?
- 实际的列名匹配?例如标题案例和拼写。
要在名为“Exclude”的列中筛选的值
- 列中的值是否有任何前导或尾随空格?
- 对于“排除”级别的拼写和标题情况是否准确?
数据表中的脚本是否有效,是否来自数据过滤器?
Re:使用脚本加载数据时排除数据这是PMroz的一个选项,但我更愿意提取所有数据并让人们可以选择取消排除。
Re:使用脚本加载数据时排除数据这是一个想法。 由于您使用SQL提取数据,为什么不排除SQL中的行?另外我认为你有一个额外的参数来打开数据库(NSI数据库)。
DT = 打开数据库 (
“DSN = PI SQL连接实验室;说明= PI SQL连接实验室; UID =; Trusted_Connection =是; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData” ,
“SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data WHERE exclude!='Exclude'” ,
“NSI_Discovered_Factors_Lab_Data” ,
“NSI数据库” ) ;
Re:使用脚本加载数据时排除数据同样的问题PMroz。 奇怪的是它仍然无效。
Re:使用脚本加载数据时排除数据尝试使用wait(0)而不是运行公式。 我同意拜伦 - 删除dt =当前数据表并将dt =设置为打开数据库的结果。 像这样:
DT = 打开数据库 (
“DSN = PI SQL连接实验室;说明= PI SQL连接实验室; UID =; Trusted_Connection =是; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData” ,
“SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data” ,
“NSI_Discovered_Factors_Lab_Data” ,
“NSI数据库” ) ;
等待 ( 0 ) ;
DT << 选择Where ( 排除 == “排除” ) << 隐藏 << 排除 ;
Re:使用脚本加载数据时排除数据嗨拜伦,
这没有解决它。 我也做了一个单独的插件,应该可以工作,因为你说的是真的,我在加载数据集之后执行,如下所示。
DT = CurrentDataTable();
dt <<选择Where(排除==“排除”)<< hide <<排除;
这奇怪的是也不起作用。
Re:使用脚本加载数据时排除数据执行Select时,Open可能无法完成?
我没有看到这个确切的问题,但是当我使用有很多行的表时,它就像它一样。
两个建议:
首先,在打开变量时将数据表分配给变量。这样dt =当前数据表();当数据库表打开时,不会意外地指向当前表。
dt =开放数据库(“DNS ....
省去dt =当前数据表();
其次,在选择行之前强制进行dt评估。在完成打开之前无法对其进行评估
dt << Run Formulas; //先包括这个
dt <<选择Where(排除==“排除”)<< hide <<排除;