Dans l'exemple ci-dessous, j'utilise un filtre de données pour restreindre les données - et un filtre de données local dans le script GraphBuilder pour restreindre davantage les données.
3 rangs différents sont tracés.
- La première formule de classement (points bleus) n'a pas d'argument Exclus() et donc tous les points de données exclus par le filtre de données (global) sont comptés. C'est pourquoi la première entrée tracée commence déjà à une valeur élevée.
- La formule Second Rank (rouge) a un argument Exclud(), donc certaines lignes ne comptent pas et les valeurs de Rank sont inférieures. Mais ils ne commencent toujours pas à 1 heure. Cela est clair car la formule est stockée dans la table de données et ne connaît pas les lignes exclues par le filtre de données local du tracé.
- La formule du troisième rang est la même que la deuxième, mais elle est utilisée dans une colonne TRansform qui est générée "à l'intérieur" du tracé. Malheureusement, cette formule ignore également les lignes exclues par le filtre de données local :
Quelle astuce dois-je appliquer pour que le filtre de données local ne soit pas ignoré par la formule ?

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Data Filter( Add Filter( columns( :height ), Where( :height >= 65.815 ) ) );
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 ) ) ),
SendToReport(
Dispatch(
{},
"Rank[height]",
ScaleBox,
{Min( 0 ), Max( 42 ), Inc( 5 ), Minor Ticks( 0 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
14,
Level Name(
1,
"Rank[height, Excluded]",
Item ID( "Rank[height] 2", 1 )
),
Level Name(
2,
"Rank[height, excluded] Transform Column",
Item ID( "Rank[height] 3", 1 )
),
Properties( 1, {Marker Size( 20 )}, Item ID( "Rank[height] 2", 1 ) )
)}
)
)
)