データテーブルのサブセット<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、みんな、
私はJMPコーディングをかなり始めたばかりで、これを理解するためにあなたの助けが必要です。
基本的に私がやろうとしているのは、Excelファイルをインポートしてデータテーブルとして保存することです。そして、私はこのコマンドを使って達成しています。
データベースを開く( "DSN = Excelファイル; DBQ =" xyz ".xlsm; DriverId = 1046; MaxBufferSize = 2048; PageTimeout = 5;"、"SELECT * from '$ CPQU by queue $' '"、"CPASU by queue $ ");
ここまでは順調ですね。
そして、作成されたキューデータテーブルによってCPASUから - 私は次のコマンドを使用してそのデータテーブルのサブセットを作成しようとしています
(データテーブル( "CPASU by queue $")<<場所を選択してAND(FWEEK> 201201、予測精度> 0)
<<サブセット(
リンク、
出力テーブル名( "予測精度$のサブセット")));
これらのコマンドを実行すると、キューでデータテーブルCPASUを作成し、サブセットテーブルである予測精度のサブセットを完全に作成できます。ただし、サブセット表に戻された行は、SELECT文節に指定した条件に従って戻されません。それはメインデータテーブル(キューによるCPASU)からすべての行を返しています...
誰かが私を助けてください。
私がJMP JSLを理解するために従うことができる本があればまた…私はJMP GUIによって自動的に作成されたスクリプトに従うことを試みましたが、それは今のところ悪夢でした。
どうもありがとうございました。
データテーブルのサブセットあなたのIFステートメントは余りにも早く括弧を閉じました、そして、あなたはコンマを欠いていました:
もし ( found_rows > 0、
DP << サブセット ( 出力テーブル名 ( "予測精度$のサブセット" )) ;
;
データテーブルのサブセットわかりました、問題は再び表面化しました...コードに何が起こったのか本当によくわかりません
DP = データ表 ( "キュー$によるCPASU" ) << どこを選択 ( そして ( FWEEK > 201201 、マスクなし != 0 )) ;
found_rows = 眉 ( DP << 選択した行を取得 ) ;
もし ( found_rows > 0 )
DP << サブセット ( 出力テーブル名 ( "予測精度$のサブセット" )) ;
キューによるCPASUは、コードの前半のExcelファイルから作成されたデータテーブルです。助けてください。
ありがとう、
データテーブルのサブセット良いアドバイスの後に解決した答えをマークし、正しい答えと役に立つ答えもマークすることを忘れないでください(=フォーラムの利用をより効率的にします)。
データテーブルのサブセットはい、問題は括弧の配置にあると思います...それは今うまくいきました...ありがとうございます..
データテーブルのサブセット2番目のサブセットの選択で括弧の位置を間違えたようです。あなたはAnd()をSelect Where()の中に置かなければなりません。
このような:
DP = データ表 ( "キュー$によるCPASU" ) << どこを選択 ( そして ( FWEEK > 201201 、マスキングなし != 0 ) ) ;
データテーブルのサブセット私はそれをやってみましたが、それはまだ新しい結果を返しません。以下は完全なコードです。
// - ファイルを開き、JMPで接続を確立します。
データベースを開く( "DSN = Excelファイル; DBQ = C:¥Users¥¥Documents¥¥JMP Analysis¥XXX.xlsm; DriverId = 1046; MaxBufferSize = 2048; PageTimeout = 5;"、"SELECT * FROM` 'CPASU by queue $ '`"、"キューによるCPASU $");
//最初のサブセットを作成します
(データテーブル( "キュー$によるCPASU")<<場所の選択(AND(FWEEK> = 201201、FWEEK!= 201248、FWEEK!= 201247、FWEEK!= 201243、実際のCPASU> 0))<<サブセット(リンク) ;
現在のデータテーブル(データテーブル(「待ち行列$によるCPASUのサブセット」))。
//予測精度の2番目のサブセットを作成します
dp =(データテーブル( "キュー$によるCPASU")<<場所を選択し、(FWEEK> 201201、マスキングなし!= 0));
found_rows = nrows(dp <<選択行の取得);
if(found_rows> 0、
//その後
dp <<サブセット(出力テーブル名( "サブセットの予測精度$"))、
//その他
書き込み(「行が選択されていません」)
;
問題は2番目のサブセットにあります。2番目のサブセットを作成していますが、最初のサブセットのクエリと同じ結果セットを返しています。データテーブルCPASUのキューごとに、SELECT WHERE AND(FWEEK> 201201)のsql条件に一致する行がいくつかあります。マスキングなし!= 0));
助けてください....ありがとう
データテーブルのサブセット検索用の行が見つかった場合にのみサブセットを作成してください。 行が見つからなかった場合、サブセットは元のテーブルとまったく同じになります。 あなたはこのようなものが必要です。 読みやすくするためにコードをいくつか改善しました。
dt = データベースを開く ( "DSN = Excelファイル、DBQ =" xyz ".xlsm; DriverId = 1046; MaxBufferSize = 2048; PageTimeout = 5;" 、
"SELECT * FROM` `CPASU by queue $ '` " 、 "キュー$によるCPASU" ) ;
//条件に従って行を選択する
dt << 場所を選択 ( : FWEEK > 201201 & : 予測精度 > 0 ) ;
//行が選択されたかどうかを確認
found_rows = 眉 ( dt << 選択した行を取得 ) ;
もし ( found_rows > 0 、
//その後
dt << サブセット ( 出力テーブル名 ( "予測精度$のサブセット" )) 、
//その他
印刷する ( "行が選択されていません" )
) ;
いくつかの優れたJMPスクリプト本があります。 JMPにはJMP Script PDFマニュアルが含まれていますが、その本もあります。 JMP(r)スクリプティングに飛び込むウェンディマーフリーとローズマリールーカス、ISBN 978-1-59994-658-0で