キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
The Discovery Summit 2025 Call for Content is open! Submit an abstract today to present at our premier analytics conference.
言語を選択 翻訳バーを非表示
最初に公開されたスレッドを表示

変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに機能しません。 これはそういう意味なのでしょうか?

Ressel
Level VI

私が書いたスクリプト内の以前の「罪」を、全会一致の参照で更新することで修正しようとしています。つまり、別のテーブルが現在のテーブルであっても、スクリプトが私が指示したい(欲しい)1つのテーブルを参照するようにします。または「干渉」)テーブル。 以下の問題を再構成してみました。

 

Names Default To Here( 1 );

// this is the table i want to work with
dt = New Table( "Target table", invisible,
 Add Rows( 3 ),
 New Column( "Name_1",
  Character( 1 ),
  "Nominal",
  Set Values( {"A", "B", "C"} ),
  Set Display Width( 45 )
 ),
 New Column( "Name_2",
  Character( 1 ),
  "Nominal",
  Set Values( {"X", "Y", "Z"} ),
  Set Display Width( 45 )
 ),
 New Column( "NumericRight",
  Numeric,
  "Continuous",
  Format( "Best", 12 ),
  Set Values( [1, 2, 3] ),
  Set Display Width( 78 )
 ),
 New Column( "NumericAlso",
  Numeric,
  "Continuous",
  Format( "Best", 12 ),
  Set Values( [7, 8, 9] )
 )
);

dt2 = New Table( "Interfering table", invisible,
 Add Rows( 3 ),
 New Column( "Name_1",
  Character( 1 ),
  "Nominal",
  Set Values( {"D", "E", "F"} ),
  Set Display Width( 45 )
 ),
 New Column( "Name_2",
  Character( 1 ),
  "Nominal",
  Set Values( {"U", "V", "W"} ),
  Set Display Width( 45 )
 ),
 New Column( "NumericInterference",
  Numeric,
  "Continuous",
  Format( "Best", 12 ),
  Set Values( [4, 5, 6] )
 ),
 New Column( "MoreNumeric",
  Numeric,
  "Continuous",
  Format( "Best", 12 ),
  Set Values( [7, 8, 9] )
 )
);



// get lists
lstName_1 = Associative Array( dt:Name_1 ) << Get Keys; 
lstName_2 = Associative Array( dt:Name_2 ) << Get Keys; 
colList = dt << Get Column Names( "Numeric" );
 
// window with radio buttons & col list box
New Window( "Select values",
 Show Menu( 0 ),
 Show Toolbars( 0 ), 
 Border Box( Top( 0 ), Bottom( 20 ), Left( 20 ), Right( 10 ),
  H List Box(
   
   Panel Box( "Name_1",
    Radio Box(
     Eval List( lstName_1 )
    ) 
   ),
   
   Panel Box( "Name_2",
    Radio Box(
     Eval List( lstName_2 )
    )
   ),
   
   Panel Box( "Numeric Columns",
    clb = Col List Box( )
   ),
   clb << Append( colList ); // making me cry ...
  )
 )
);

 

私が見たいもの:

undefined

 

「ターゲットテーブル」が現在のテーブルではない場合に常に表示される内容:

undefined

 

私を完全に混乱させているのは、名前を変更するときです。 dt2:数値干渉dt2:NumericRight 、この結果が得られました:

undefined

 

dt2 がスクリプトに私が実行したい作業を実行させないのはなぜですか? dt2 で列の名前を変更すると、列リスト ボックスの内容に影響が出るのはなぜですか? 移動方法をいくつか試してみました列リスト変数をラップしてみました評価リスト() 、「運」なし。

 

コミュニティ内を再度検索すると、これを見つけました列リスト ボックスに入力する際にサポートが必要です。 別の解決策がある場合は、お知らせいただきありがとうございます。 あるいは、これはそういうことを意図しているのでしょうか、そうであれば、これはどういう意味ですか。

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

2 件の受理された解決策

受理された解決策
hogi
Level XII

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

列リストボックスは、列リストボックスが作成されたときに「現在の」データテーブルから列を受け入れるだけのようです。

dt2 にそれぞれの列が含まれていない場合は、追加できません。

 

私は推測する

current data table(dt);
 
// window with radio buttons & col list box
New Window( "Select values",

あなたには選択肢がありませんか?

 

そうでない場合は、使用してください

clb = Col List Box( Data Table(dt) )

列リスト ボックスに使用するデータ テーブルを指定するには、次のようにします。

undefined

 

 

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

hogi
Level XII

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?


@レッセル書きました:

@ティエリー_S 、奇妙なことに、そして残念ながら、これは機能しません。


 

コードはほぼ正しいですが、使用する必要があります

clb = Col List Box(Data Table(dt), all, << Set Data Type ("numeric"))

あなたも使うことができます

clb = Col List Box(all, << Set Data Type ("numeric"), Data Table(dt))

ただし、「インジケーター」*) Data Table() を忘れないでください。

前回の投稿 (下記) で示したように、スクリプト ガイドによれば、次のようにする必要があります。

undefined

 

列名の場合と同様、名前を使用するか参照を使用するかは関係ありません。

ただし、インジケーターのない単なる引数ではなく、データ テーブル (名前またはテーブル参照) である必要があります。

 

多くの場合、Data Table(name) はデータ テーブル参照に置き換えられる可能性があるため、これは少し誤解を招きます:)

 

ただし、ここでは、データ テーブルはオプションの引数です。したがって、Jmp がそれが何であるかを認識できるインジケーター *) が必要です。

 

※)「インジケーター」の正式名称は何ですか?

 

 

15件の返信15
Thierry_S
Super User

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

こんにちは、

一見すると、テーブル dt から数値列のリストを取得するには、以下の構文を使用するだけで済みます。

clb = Col List Box(dt, all, << Set Data Type ("numeric"))

また、Get Column Names は列ではなく名前のリストを返すため、「clb << append (collist)」という行がどのように機能するかは不明です。

最後に、Col List Box を複数のテーブルにわたって使用することはできないと思います (ここで間違っている場合は修正してください)。

最高、

TS

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

Ressel
Level VI

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

ありがとう@ティエリー_S , 明日これを試してみます。 ただし、dt2 がスクリプトからコメントアウトされている場合、Col List Box は期待どおりに更新されるため、間違いなく機能します (元の投稿の最初のスクリーンショットも参照してください)。

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

Ressel
Level VI

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

@ティエリー_S 、奇妙なことに、そして残念ながら、これは機能しません。 最初に投稿したスクリプトに、あなたの提案に従って次の変更を加えました。

// this part was revised ...
Panel Box( "Numeric Columns",
 clb = Col List Box( )
),
clb << Append( colList );   // making me cry ...


// ... to look like this. 
Panel Box( "Numeric Columns",
clb = Col List Box( dt, all, << Set Data Type ( "numeric" ) ) // this adds the numeric columns from dt2. Why???
)

 

これにより、以下の結果が得られました。つまり、dt2 の数値列が列リスト ボックスに追加されましたが、私が欲しいのは dt の数値列です。

undefined

 

それでも、私にとって非常に有益な学びでした。 ありがとう!

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

hogi
Level XII

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?


@レッセル書きました:

@ティエリー_S 、奇妙なことに、そして残念ながら、これは機能しません。


 

コードはほぼ正しいですが、使用する必要があります

clb = Col List Box(Data Table(dt), all, << Set Data Type ("numeric"))

あなたも使うことができます

clb = Col List Box(all, << Set Data Type ("numeric"), Data Table(dt))

ただし、「インジケーター」*) Data Table() を忘れないでください。

前回の投稿 (下記) で示したように、スクリプト ガイドによれば、次のようにする必要があります。

undefined

 

列名の場合と同様、名前を使用するか参照を使用するかは関係ありません。

ただし、インジケーターのない単なる引数ではなく、データ テーブル (名前またはテーブル参照) である必要があります。

 

多くの場合、Data Table(name) はデータ テーブル参照に置き換えられる可能性があるため、これは少し誤解を招きます:)

 

ただし、ここでは、データ テーブルはオプションの引数です。したがって、Jmp がそれが何であるかを認識できるインジケーター *) が必要です。

 

※)「インジケーター」の正式名称は何ですか?

 

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

Ressel
Level VI

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

hogi
Level XII

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

リンクしていただきありがとうございます、 @David_Burnhamブログには素晴らしい宝石のコレクションが含まれています。

 

ディストリビューション プラットフォームの列参照に関する部分を読みました。

 

興味深い - スクリプトインデックスによると、次のとおりです。

undefined

「」がないので、 < >" Column() 引数の周りでは、次のように考えることができます。カラム()は 1 つのオプションではない引数です

- を使用しますか?カラム()列参照を生成する関数?

 

しかし、実際にはそれと同じですデータ表()前の議論で:

カラム()ですインジケータのためにオプション口論:

  • どこにでも配置でき、省略することもできます
  • 列または >=1 列のリスト (参照または名前として) を受け入れます - これが column() 関数ではないことを明確に示します

 

Scripting Index で、Columns() 引数の前後のドットが引数がオプションであることを示す別のエントリを見つけました。
ここでは、GUI と同様に Columns [複数形] です。 Y別名です。 どちらも機能に気を取られないようにするのに役立ちますカラム()
undefined

 

Distribution(Column("height"));

Distribution(:height); // doesn't workDistribution(Columns("name", :sex)); // accepts >=1 arguments; column references and namesDistribution(Columns({"name", :sex})); // accepts lists 
Distribution(Continuous Distribution(Column( :height ))); // Distribution can be used without a Column() argument
Distribution("dummy 1st entry", Columns("height")); // Column at non-first position -> worksDistribution("hello"); // not necessary to provide a meaningful (first) argumentDistribution(Columns("name")); // aliasDistribution(Y("name"));  // alias

 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

jthi
Super User

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

スクリプト ガイドには用語についての説明がいくつかありますスクリプトガイド > JSL スクリプトの作成の概要 > JSL 用語

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

hogi
Level XII

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

undefined
したがって、用語は次のとおりです名前付き引数
- 名前付き引数は常にオプションです - スクリプト インデックスに < > があってもなくても

 

残念ながら、明示的には記載されていません:
この場合、名前付き引数の「インジケーター」の正式名は「名前「?

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

jthi
Super User

Re: 変数に格納されたリストを使用して列リスト ボックスを更新すると、期待どおりに動作しません。 これはそういう意味なのでしょうか?

正式名称? インジケータ?

スクリプトガイド > JSL ビルディングブロック > JSL 構文ルール > 名前の JSL ルール

JSL では、名前は単に項目を呼び出すものです。 式内の変数に数値 3 を代入すると、 a = 3あるは名前です。


 

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。