こんにちは、みんな、
たとえば、ディストリビューション プラットフォームは、グラフ ビルダーと同じ方法では列参照を受け入れないようです。
Column(dtname,number) 形式を使用してデータテーブル内のさまざまな列を参照するコードがあります。 たとえば、これは GB で実行したコードの一部ですが、問題なく動作します。
Graph Builder(
Size( 500, 350 ),
Show Control Panel( 0 ),
Variables(
X( Column( dt_results, NNxcol ) ),
Y( Column( dt_results, NNYCol + N Items( NNXList ) ) ),
Y( Column( dt_results, NNYCol + 1 + N Items( NNXlist ) ), Position( 1 ) ),
Y( Column( dt_results, NNYCol + 2 + N Items( NNXList ) ) )
),
Elements(
Position( 1, 1 ),
Points( X, Y( 1 ), Y( 2 ), Legend( 8 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Legend( 9 ) )
),
Elements( Position( 1, 2 ), Points( X, Y, Legend( 10 ) ), Smoother( X, Y, Legend( 11 ) ) ),
SendToReport(
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( NNYList[NNYCol] || " Stats vs. " || NNXList[NNxcol] )}
),
Dispatch( {}, "Y title", TextEditBox, {Set Text( NNYList[NNYCol] || " Train & Valid" )} )
)
)
ただし、Distribution プラットフォームで同様のことを実行しようとしても何も起こりません。これは、Continuous Distribution() 呼び出しがこの方法で列を参照することを好まないためだと思います。 列を Column(列名) として参照するのが良いようです。
Distribution(
Continuous Distribution( Column( dt_results, NNYCol + NNcolshift ), Quantiles( 0 ) ),
Continuous Distribution( Column( dt_results, NNYCol + 1 + NNcolshift ), Quantiles( 0 ) ),
Continuous Distribution( Column( dt_results, NNYCol + 2 + NNcolshift ), Quantiles( 0 ) )
)
プラットフォームを呼び出すときに変数を使用したいのは、列名自体をハードコーディングするよりもコードの柔軟性が高いためです。 ディストリビューション プラットフォームの動作が異なる理由、または意図した出力を得るために列を正しく参照する方法について何か考えはありますか?
ご意見/ご感想をお待ちしております。
ありがとう!、
DS