Questa formula può essere completata in un solo passaggio?Ci ho provato, ma ho fallito
Grazie Esperti!
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
ca = "A";New Column( ca );
Column( ca ) << Formula( height / Lag( height, 5 ) > 1.1 );
dt << run formulas;
Column( ca ) << deleteFormula;
ca = "SumA";New Column( ca );
Column( ca ) << Formula( Sum( A[Index( Row() - 9, Row() )] ) );
dt << run formulas;
Column( ca ) << deleteFormula;
ca = "Sum1";New Column( ca );
Column( ca ) << Formula( Sum( height[Index( Row() - 9, Row() )] / height[Index( Row() - 9 - 5, Row() - 5 )] > 1.1 ) );
dt << run formulas;
Column( ca ) << deleteFormula;//??

Analisi e modellazione dei dati di basefinestreRi: Questa formula può essere completata in un solo passaggio?Cosa dovrebbe fare la formula e c'è un motivo specifico per cercare di forzarla a essere un unico passaggio?
Ri: Questa formula può essere completata in un solo passaggio?Ecco un modo per farlo
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
ca = "A";
New Column( ca, set each value( :height / Lag( :height, 5 ) > 1.1 ) );
ca = "SumA";
New Column( ca, set each value( Sum( :A[Index( Row() - 9, Row() )] ) ) );
ca = "Sum1";
New Column( ca,
set each value(
As Constant(
a = [];
For( i = 1, i <= N Rows( Current Data Table() ), i++,
If( i > 5,
a = a || ((:height[i] / :height[i - 5]) > 1.1),
a = a || .
)
);
);
If( Row() > 5,
Sum( A[Index( Max(6,Row() - 9), Row() )], . )
);
)
);
Ecco un altro modo
ca = "Sum1a";
New Column( ca,
set each value(
If( Row() <= 5,
val = .,
theRows = Index( Max( 6, Row() - 9 ), Row() );
val = .;
For Each( {calc}, theRows,
val = Sum( val, (:height[calc] / :height[calc - 5]) > 1.1 )
);
);
val;
)
);Ri: Questa formula può essere completata in un solo passaggio?Grazie Jim!
OK,
È una formula che avevo dimenticato e che avevo già ricevuto nella comunità.
Ora pensaci, va bene:
:\</img>
ca = "Sum1";New Column( ca );
Column( ca ) << Formula( Sum( height[Index( Row() - 9, Row() )] :\</img> height[Index( Row() - 9 - 5, Row() - 5 )] > 1.1 ) );
dt << run formulas;
Column( ca ) << deleteFormula;
Ri: Questa formula può essere completata in un solo passaggio?