无法在表格公式上使用 jmp 脚本执行布尔逻辑你好,
我正在尝试运行一个简单的脚本,该脚本将选择然后隐藏和排除距中心径向距离大于 100 毫米的点。
为了简化调试,我将其拆分为两个脚本:第一个生成具有径向距离 Radial = (x^2 + y^2)^(1/2) 公式的列,第二个计算此公式,选择和隐藏行其中径向 > 100。
不幸的是,这不起作用。 出于一些非常奇怪的原因,评估只适用于这个公式直到某个值。 Radial >(大于 30)选择所有行。
我可以看到两种解决方案:
1) 将值写入径向列,而不是公式本身。 (正确评估值,而不是公式)。 不知道如何做到这一点。
2) 理解并纠正问题,以便可以针对大于 30 的值评估公式。
脚本答案或交互式解释都是可以接受的。 想解决这个问题并从中学习。
谢谢!
戴夫
// script for creating the Radial column<BR />dt1 = Current Data Table ();
dt1 << New Column( "Radial", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));<BR /><BR />// script for evaluating the Radial formula<BR />dt =Current Data Table();<BR />dt << Clear Row States; <BR />dt << Select where(Radial < 100);<BR />dt << hide and exclude;<BR />
脚本编写回复:无法在表格公式上使用 jmp 脚本执行布尔逻辑用于创建径向列的脚本
dt1 = Current Data Table ();
dt1 << Clear Row States;
dt1 << New Column( "Radial", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));
用于评估径向公式的脚本
dt =Current Data Table();
dt << Clear Row States;
dt << Select where(Radial < 100);
dt << hide and exclude;
回复:无法在表格公式上使用 jmp 脚本执行布尔逻辑恐怕我无法在这里重现任何问题。 这是我用来测试的脚本。
dt1 = New Table( "Community 416651 Select Where",
Add Rows( 1000000 ),
New Column( "x coordinate",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Sequence( 5, 100, 5 ) ),
Set Selected
),
New Column( "y coordinate",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Sequence( 5, 100, 5, 20 ) ),
)
);
dt1 << New Column( "Radial",
Formula(
(X coordinate ^ 2 + Y coordinate ^ 2) ^ (1 / 2)
)
);
dt1 << Select where( Radial < 60 );
因此,我们需要更多有关您的脚本和数据表的详细信息。
你的数据表有多大? 你的脚本还在做什么?
回复:无法在表格公式上使用 jmp 脚本执行布尔逻辑感谢您回复杰夫。
将脚本的最后一行粘贴到我的并没有解决问题。 但是,我能够通过将列的名称更改为“Radial 1”并在末尾添加一行 Eval Formula 来提供解决方案。 不知道为什么会这样。 数据表大约有 1300 行 15 列,每个数字的宽度为 10 到 12。
以下两个脚本有效。 我将它们全部粘贴。 其他线评估凹坑深度和分布。
知道为什么修改有效吗? 我大部分时间都在这。
脚本 1:创建“仅坑”和“径向 1”列
dt1 = Current Data Table ();
dt1 << Clear Row States;
dt1 << New Column( "Pits Only", Formula (If( :Name( "Height (mm)" ) <= 0, :Name( "Height (mm)"), 0 )) );
dt1 << New Column( "Radial 1", Formula ((X coordinate^2 + Y coordinate^2)^(1/2)));
dt1 << Eval Formula;
obj = dt1 << Distribution( Column( :Pits Only), Horizontal Layout( 1 ), Count Axis);
脚本 2:隐藏和排除仅坑 > 10 或径向 1 > 100 或径向 1 < 30 的行
dt =Current Data Table();
dt << Clear Row States;
win = New Window( "Feature Depth" , <<MODAL> 100) | (Radial 1< 30) | (Pits Only > mf));
dt << hide and exclude;</MODAL>