2つの別々のデータテーブルを含む操作はどのように機能しますか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />たとえば、分割したいときデータ表1の列1の各値にデータ表2の列2の各値。 問題があるようですが、なぜこのエラーが表示されるのでしょうか。「スコープデータテーブルへのアクセスには、'dtbinsum:column'、dtbinsum:column / *###のアクセスまたは評価でデータテーブル列または変数{1}が必要です。 * /(Nrows )/ * ### * / "
スクリプトの一部は次のようになります。
//スクリプトの開始
dt = currentdatatable();
dtbinsum = dt << Summary(
Group(:Data File、:Lot id、:SBIN)、
Freq( "None")、
重み( "なし")、
統計列名format( "column")、
元のデータテーブルへのリンク(0)
);
dtbinsum << Select Where(dtbinsum:sbin!= 1);
dtbinsum<<行の削除;
dtbinsum2 = dt << Summary(
Group(:Lot id)、
N(:SBIN)、
Freq( "None")、
重み( "なし")
);
歩留まり={};
for(i = 0、i
yield_temp =(dtbinsum:column(Nrows ))/(dtbinsum2:column(N(SBIN) ));
Into(yield、yield_temp);に挿入します。
);
Show(yield);
//スクリプトの終わり
表示されるエラーは言うまでもなく、私の方法がおそらく最も効率的な方法ではないことを私は知っていますが、誰かがこれに対する解決策を持っていますか?
Re:2つの別々のデータテーブルを含む操作はどのように機能しますか?これは、次のエラーが発生する前に取得した距離です。
名前未解決: "、Name(" ")/ * ###*/のアクセスまたは評価中
コード:
dt1 =データ表(( 「メインテーブル」 )。 ;
dt2 =データ表(( 「REFテーブル分割」 )。 ;
cols = dt1 <<列名を取得する((ストリング)。 ;
為に((私= 2 、私<= N列(( dt1 )。 、私++、
one_column = cols [私] ;
vals = ((桁(( dt1 、 one_column )。 << getValues )。 :\ ((桁(( dt2 、 one_column )。 << getValues )。 ;
dt1 << NewColumn (( one_column 、数値、値(( vals )) ;
)。 ;
スクリプトはなんとかループを1回転し、正しい値で1つの列を作成します。
Re:2つの別々のデータテーブルを含む操作はどのように機能しますか?forループで動作するように数式を変更する方法について提案をいただけますか?
スクリプトと同じことを行う必要がありますが、すべての列で、新しいテーブルの名前は、取得した列のヘッダーである必要があります+商
dt1 =データテーブル( "メインテーブル");
dt2 =データテーブル( "参照テーブル");
cols = dt <<列名を取得する((ストリング)。 ;
for(i = 2、i <= N cols(myTable)、i ++、
//メインテーブルの列への参照のさまざまなバージョンを試しましたが、機能させることができません
vals = ((桁(( dt1 、 column(i) )。 << getValues )。 :\ ((桁(( dt2 、 column(i )。 )。 << getValues )。 ;
dt1 << NewColumn (列、数値、連続、値(( vals )) ;
);
BR
アンダース
Re:2つの別々のデータテーブルを含む操作はどのように機能しますか?Ianに感謝します。要素ごとの操作について指摘されたので、今では非常に理にかなっています。
Re:2つの別々のデータテーブルを含む操作はどのように機能しますか?((桁(( dt1 、 "分子" )。 << getValues )。指定された列の値を行ベクトルに入れます(この例では、v1と同じです)。 ((桁(( dt2 、 "分母" )。 << getValues )。他の列(実際にはv2と同じ行ベクトル)で同じことを行います。 そうして :\演算子は、要素ごとの除算を要求します。つまり、最初のベクトルの最初の要素を2番目のベクトルの最初の要素で除算して、結果ベクトルの最初の要素を取得します(他の要素についても同様です)。
「ヘルプ>本>スクリプトガイド」の第7章の「マトリックス」セクションをご覧ください。
Re:2つの別々のデータテーブルを含む操作はどのように機能しますか?イアンに感謝します、それは私のために働きます、しかし私は特にこのラインについてあなたに尋ねることができますか?
vals = ((桁(( dt1 、 "分子" )。 << getValues )。 :\ ((桁(( dt2 、 "分母" )。 << getValues )。 ;
^
私がJSLを理解する方法は、列を識別するのに役立つコロンです。このように使用すると、どのように機能しますか?
Re:2つの別々のデータテーブルを含む操作はどのように機能しますか?多分このような何か:
NamesDefaultToHere (( 1 )。 ;
//いくつかのテーブルを作成します
v1 = J (( 10 、 1 、 RandomInteger (( 1 、 5 )) ;
v2 = J (( 10 、 1 、 RandomInteger (( 1 、 5 )) ;
dt1 = NewTable (( "表1" 、 NewColumn (( "分子" 、数値、序数、値(( v1 )))) ;
dt2 = NewTable (( 「表2」 、 NewColumn (( "分母" 、数値、序数、値(( v2 )))) ;
//商の列を表1に追加します
待って(( 3 )。 ;
vals = ((桁(( dt1 、 "分子" )。 << getValues )。 :\ ((桁(( dt2 、 "分母" )。 << getValues )。 ;
dt1 << NewColumn (( "商" 、数値、連続、値(( vals )) ;