除外された行を操作しますか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />やあみんな、
2つの列があります。最初の列 (サイト) の横に番号 1 または 2 が表示されます。2 番目の列には、いくつかの数値が表示されます。
ランクとパーセンタイルを計算する関数を作成しました。まず、関数は新しい列でランクとパーセンタイルを計算します。次に、関数はサイト 1 で値 1 を持つすべての行を選択し、それらをカウントします。次に、サイト列の値 2 を持つすべての行を選択して除外し、別の列でランクとパーセンタイルを計算します。これらすべてが機能しています。
問題は、Site 列の値 2 を持つ行を選択して除外した後、ランクとパーセンタイルを計算するときに発生します。エラーは返されませんが、列に値がありません。これは私の数式の exclude() 式に関係があると思います。F3 から if ステートメントを削除して F とまったく同じにすると、その隣の列と同じ値が得られますが、F3 をそのままにすると値が得られません。
私には何が欠けているのでしょうか?これが非常に明白である場合は申し訳ありません...
rp関数=関数( {行、テスト} 、
//行 --> データテーブルには行(デバイス)が何行ありますか?
//テスト - ? RP を計算するのはどのテストですか?
現在のデータテーブル( dt概要) ;
コル=カラム(テスト) ;
新しいコル= 「RP」 ||テスト;
F =評価式( 100 * (コルランク(コル) /エクスプレッション(行) )) ;
dt概要<<新しい列(新しいコル、数値、式(名前の説明( F ) ) ) ;
コル=カラム(新しいコル) ;
コル<<式を削除する;
dt概要<<場所を選択してください( :サイト== 1 ) ;
行1 =狭い( dt概要<<選択された行を取得する()) ;
dt概要<<場所を選択してください( :サイト== 2 ) ;
行2 =狭い( dt概要<<選択された行を取得する()) ;
dt概要<<場所を選択してください( :サイト== 2 ) ;
dt概要<<除外する;
新しいコル= 「RP」 ||テスト|| 「サイト1」 ;
F1 =評価式( 100 * (コルランク(もし(除外される() 、 。 、コル) ) /エクスプレッション(行1 ) )) ;
dt概要<<新しい列(新しいコル、数値、式(名前の説明( F1 ) ) ) ;
コル=カラム(新しいコル) ;
コル<<式を削除する;
dt概要<<場所を選択してください( :サイト== 2 ) ;
dt概要<<除外を解除する;
dt概要<<場所を選択してください( :サイト== 1 ) ;
dt概要<<除外する;
新しいコル= 「RP」 ||テスト|| 「サイト2」 ;
F2 =評価式( 100 * (コルランク(もし(除外される() 、 。 、コル) ) /エクスプレッション(行2 ) )) ;
dt概要<<新しい列(新しいコル、数値、式(名前の説明( F2 ) ) ) ;
コル=カラム(新しいコル) ;
コル<<式を削除する;
dt概要<<場所を選択してください( :サイト== 1 ) ;
dt概要<<除外を解除する;
) ;
Re: 除外された行を操作しますか?こんにちは、MSさん
私に戻ってきてくれてありがとう。除外項目をすべて調べているときに、このことに気づきました。最初は行を除外する必要があると考えたので、それを選択しました。コードのシンプルさがとても気に入りました、ありがとう!
Re: 除外された行を操作しますか?If ステートメントで Site を直接ターゲットにし、行を完全に除外することを避ける方が簡単ではないでしょうか? 例えば:
rp関数=関数({テスト} 、
F =評価式( 100 * (コルランク(エクスプレッション(カラム(テスト))) /列番号( :サイト))) ;
dt概要<<新しい列( 「RP」 ||テスト、数値、式(名前の説明( F ))) ;
F =評価式( 100 * (コルランク(もし( :サイト!= 1 、 。 、エクスプレッション(カラム(テスト)))) /コル・サム( :サイト== 1 ))) ;
dt概要<<新しい列( 「RP」 ||テスト|| 「サイト1」 、数値、式(名前の説明( F ))) ;
F =評価式( 100 * (コルランク(もし( :サイト!= 2 、 。 、エクスプレッション(カラム(テスト)))) /コル・サム( :サイト== 2 ))) ;
dt概要<<新しい列( 「RP」 ||テスト|| 「サイト2」 、数値、式(名前の説明( F ))) ;
) ;
Re: 除外された行を操作しますか?ジムさん、ありがとうございました。機能しています!それを見ようとも思わなかった。私にとっては初めてのことであり、当然のことに目を向けていなかったので、行の除外に非常に執着していました。再度、感謝します。
Re: 除外された行を操作しますか?ナタリー、
見つけたと思います。
2 回目に「Col=Newcol」を割り当てるときは、実際にはそれを新しい列に割り当てたくないと思います。実際には、col が Rp Irgl 列を指すようにしておきたいとします。サイト 1 の Rp Irgl という新しい列ではありません。数式で Col の値を使用し、それをサイト 1 の Rp Irgl に再割り当てしました。
変更したばかりです
列=新しい列;
col<<式を削除;
に
xcol=新しいcol;
xcol<<式を削除;
Col=newcol の 3 番目の使用。そしてcol<<式を削除します。数式内の Col の値を使用して新しい列を作成するわけではないため、変更する必要はありません。
Re: 除外された行を操作しますか?こんにちはナタリー_
おそらく、選択の間に wait() を使用することができます。
それ以外の場合は、元のテーブルのサブセットを使用し、必要な計算で元のテーブルを更新することで時間を節約できます。元のテーブルのデータを上書きしないように注意してください。
ロン
Re: 除外された行を操作しますか?こんにちは、ジムさん
私に戻ってきてくれてありがとう。残念ながら、コードはまだ機能しません
送っていただいたコードで、サイト 2 の選択の下に exclude(1) を追加していないことに気付きました。追加しましたが、残念ながらうまくいきませんでした。データテーブルがどのように見えるかを示す画面ショーを添付しました。最初の 2 つの rp 列は必要なものですが、最後の列には値がありません。
rp関数=関数( {行、テスト} 、
//行 --> データテーブルには行(デバイス)が何行ありますか?
//テスト - ? RP を計算するのはどのテストですか?
現在のデータテーブル( dt概要) ;
コル=カラム(テスト) ;
新しいコル= 「RP」 ||テスト;
F =評価式( 100 * (コルランク(コル) /エクスプレッション(行) )) ;
dt概要<<新しい列(新しいコル、数値、式(名前の説明( F ) ) ) ;
コル=カラム(新しいコル) ;
コル<<式を削除する;
dt概要<<場所を選択してください( :サイト== 1 ) ;
行1 =狭い( dt概要<<選択された行を取得する()) ;
dt概要<<場所を選択してください( :サイト== 2 ) ;
行2 =狭い( dt概要<<選択された行を取得する()) ;
dt概要<<場所を選択してください( :サイト== 2 ) ;
dt概要<<除外する( 1 ) ;
新しいコル= 「RP」 ||テスト|| 「サイト1」 ;
F1 =評価式( 100 * (コルランク(もし(除外される() 、 。 、コル) )) /エクスプレッション(行1 ) ) ;
dt概要<<新しい列(新しいコル、数値、式(名前の説明( F1 ) ) ) ;
コル=カラム(新しいコル) ;
コル<<式を削除する;
dt概要<<場所を選択してください( :サイト== 2 ) ;
dt概要<<除外する( 0 ) ;
dt概要<<場所を選択してください( :サイト== 1 ) ;
dt概要<<除外する( 1 ) ;
新しいコル= 「RP」 ||テスト|| 「サイト2」 ;
F2 =評価式( 100 * (コルランク(もし(除外される() 、 。 、コル) )) /エクスプレッション(行2 ) ) ;
dt概要<<新しい列(新しいコル、数値、式(名前の説明( F2 ) ) ) ;
コル=カラム(新しいコル) ;
コル<<式を削除する;
dt概要<<場所を選択してください( :サイト== 1 ) ;
dt概要<<除外する( 1 ) ;
) ;

Re: 除外された行を操作しますか?ナタリー、
私はあなたのコードを採用し、それに非常にわずかな変更を加えました。 unexclude と exclude を exclude(0|1) に変更しました。これにより、メッセージの正しい動作が保証されます。exclude と unexclude は実際にはスイッチであり、絶対的なメッセージではありません。
コードは機能するようです:
rp関数=関数( {行、テスト} 、
//行 --> データテーブルには行(デバイス)が何行ありますか?
//テスト - ? RP を計算するのはどのテストですか?
現在のデータテーブル( dt概要 ) ;
コル=カラム( テスト ) ;
新しいコル= 「RP」 ||テスト;
F =評価式( 100 * (コルランク(列) /エクスプレッション(行) )) ;
dt概要<<新しい列( 新しいコル、数値、式(名前の説明( F ) ) ;
コル=カラム(新しい列) ;
コル<<式を削除します。
dt概要<<場所を選択してください( :サイト== 1 ) ;
行1 =狭い(dt概要<<選択された行を取得()) ;
dt概要<<場所を選択してください( :サイト== 2 ) ;
行2 =狭い(dt概要<<選択された行を取得()) ;
dt概要<<場所を選択してください( :サイト== 2 ) ;
dt概要<<除外する;
新しいコル= 「RP」 ||テスト|| 「サイト1」 ;
F1 =評価式( 100 * (コルランク(もし(除外される() 、 。 、列)) /エクスプレッション(行1) )) ;
dt概要<<新しい列( 新しいコル、数値、式(名前の説明( F1 ) ) ;
コル=カラム(新しい列) ;
コル<<式を削除します。
dt概要<<場所を選択してください( :サイト== 2 ) ;
dt概要<<除外する( 0 ) ;
dt概要<<場所を選択してください( :サイト== 1 ) ;
dt概要<<除外する( 1 ) ;
新しいコル= 「RP」 ||テスト|| 「サイト2」 ;
F2 =評価式( 100 * (コルランク(もし(除外される() 、 。 、列)) /エクスプレッション(行2) )) ;
dt概要<<新しい列( 新しいコル、数値、式(名前の説明( F2 ) ) ;
コル=カラム(新しい列) ;
コル<<式を削除します。
dt概要<<場所を選択してください( :サイト== 1 ) ;
dt概要<<除外する( 0 ) ;
) ;

Re: 除外された行を操作しますか?これが役立つかどうかはわかりませんが、古いバージョンのプログラムでは列の式は除外の影響を受けませんでした。
それ以外の場合は、選択ではなく << get rows where () に基づいて計算を行う方が適切です。
ロン
Re: 除外された行を操作しますか?編集: 私の説明の F3 は、実際には F2 と言うべきです。