数式列で最後の行が省略されているみなさん、こんにちは。
式の評価に関する問題について顧客から問い合わせがあり、これらのスクリーンショットが送られてきました。
(表を継続的に拡大する必要があるため、数式列用にこの数式を作成しました。)

これで彼らが目にする問題は、最後の行の数式列のセルが空のままであることです。

これには明らかな理由がありますか? で、解決方法は?
(数式は、列 1 ("Spalte 1") で関連する参照を検索し、現在の行の列 2 ("Spalte") の値を、一致する行のそれぞれの値で割ります。 列 3 ("Spalte 3") は数式列です。
よろしくお願いします、
フロリアン
Re: 数式列の最後の行が省略されています最初の引数が false に評価されるため、ネストされた If() は 3 番目の引数を返しますか? 「一致なし」という文字列を返しますが、これは数値列であるため、結果が欠落しています (「.」)。
また、式は行ごとに自動的に評価されます。 数式はさらに行を反復し、行ごとにすべての行を反復します。 この計算は有効ですか?
Re: 数式列の最後の行が省略されています私はマークに同意します。 式は、各行で多くの反復を行っています。 彼らは正確に何を計算しようとしているのでしょうか?
さらに、中間の If() 条件で、Spalte 3[i] におそらく繰り返し値を割り当てています。 これは型破りで従うのが難しく、おそらく彼らが望むものではないでしょう。
Re: 数式列の最後の行が省略されていますこんにちはフロリアン、
ネストされたループの代わりに、以下の式のようなものを使用することをお勧めします。 この数式は、現在の行と同じ参照を持つ "0%" を含む行の値で除算します。
dt = :Spalte 1 << get data table;
Eval(
Eval Expr(
:Spalte 2 / :Spalte 2[ dt << get rows where(
Contains( :Spalte 1, "0%" ) & Contains(
:Spalte 1,
Expr(
Word( 3, dt:Spalte 1[Row()], "-" )
)
)
) ]
)
);
行が予測可能な順序で表示され、欠落している行がないという意味で、顧客が「完全な」データを持っているように見える場合は、このはるかに簡単な式でも同様に機能します。
:Spalte 2 / :Spalte 2[ Mod ( Row ( ) - 1, 3 ) + 1 ]
これらは、以下のスクリーンショットの列 :spalte 3 および :spalte 3a です。 比率を簡単に確認できるように、列の値を変更しました。

乾杯、
ブレイディ