回复:转换列:排除行的错误作为一种解决方法,人们可以向数据过滤器询问过滤行并相应调整公式列。
它可以工作 - 但绝对不像使用 GraphBuilder 和 JmpDataFilter 时那样舒适。
一个很大的缺点:
在 Jmp 中,用户可以随时自由添加本地数据过滤器。
谁将添加过滤器状态处理程序以保证显示的值得到更新?
公式列和数据过滤器的组合 - 这听起来不像是一个利基应用程序。
因此,除了这个解决方法之外,我想 GraphBuilder 中还有一个简单的解决方案 - 但我到目前为止还找不到它。
谁有类似的应用程序 - 并且已经找到了一键式 Jmp 舒适解决方案?

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myRows=1::N Rows(dt);
New Column( "Rank_correct",Formula( Col Rank( :height, Excluded(), Contains( myRows, Row() ) > 0 ) ));
gb = dt << Graph Builder(
Variables(
X(
:name,
Order By( :Rank_correct, Ascending, Order Statistic( "Mean" ) )
),
Y( :Rank_correct )
),Elements( Points( X, Y ) ));
updateNow = Function({x},
myRows= (Current Report()["Local Data Filter"] << get scriptable object) << Get Filtered Rows;
if(or(isempty(myRows),NItems(myRows)==0),myRows=1::N Rows(dt));
:Rank_correct<<EVAL formula=""></EVAL>
回复:转换列:排除行的错误我发布了一个希望增强图形生成器中转换列的功能(以及其他报告,如摘要!!!):
转换列 - 与汇总统计一样舒适?
有了新功能,Transfrom Columns 将变得像摘要统计一样舒适 - 而且功能将远远超出这一点:)
转换列:排除行的错误在下面的示例中,我使用数据过滤器来限制数据 - GraphBuilder 脚本内的本地数据过滤器用于进一步限制数据。
绘制了 3 个不同的排名:
- 第一个排名(蓝点)没有 Excluded() 参数,因此所有数据点都会被计算在内 - 即使是被(全局)数据过滤器排除的数据点。 这就是为什么第一个绘制的条目已经以高值开始。
- 第二个排名公式(红色)具有 Excluded() 参数,因此某些行不计算在内,并且排名值较低。 但它们仍然不是从 1 开始的。 这是预期的,因为公式存储在数据表中 - 并且不知道被排除的行本地数据过滤器情节的。
- 第三个排名公式与第二个相同,但它用在随报表生成的转换列中。 不幸的是,这个公式还忽略了本地数据过滤器排除的行。
未显示:
用户期望的排名:值从 1 到 N。

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Data Filter( Add Filter( columns( :height ), Where( :height >= 63 ) ) );
dt << Graph Builder(
Transform Column( "Rank[height] 3", Formula( Col Rank( :height, Excluded() ) ) ),
Variables(
X(
:name,
Order By( :"Rank[height]"n, Ascending, Order Statistic( "Mean" ) )
),
Y( :"Rank[height]"n ),
Y( :"Rank[height] 2"n, Position( 1 ) ),
Y( :"Rank[height] 3"n, Position( 1 ) )
),
Elements( Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 14 ) ) ),
Local Data Filter( Add Filter( columns( :height ), Where( :height >= 65.815 ) ) ),
)
数据混合和清理数据探索和可视化