スクリプト:データテーブルの特定の名前の列を取得する<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
一部の列名に日付形式(9月14日など)があるデータテーブル(Excelからインポート)があります。 しかし、他の列もあります。 添付されているのは、jmpデータテーブルExample1です。 2つの問題があります。
創刊:
日付列を積み重ねて、たとえばグラフビルダー分析でXとして使用する必要があります。これはそれほど難しいことではありません(例1のスクリプトですが、テーブルは生きたドキュメントになり、月が進むにつれて新しい列が追加されるため、できません。ハードコードされた列で自動化されたスクリプトを使用します。
そのような日付構造(月YY)でそれらの列名を抽出し、それらをスタックする必要があります。 列リストを抽出するGetColumnNameを使用しようとしました。
colNames =データ表(( 「例1」 ) <<列名を取得する;
公演(colNエームズ) ;
しかし、スタックしたいものだけを抽出することはできませんでした。 Regex()について考えましたが、思い通りに実行できませんでした。
2番目の問題:
その後、次の問題が表示されます。 データ型は文字と名義になります。 数値と序数(または少なくとも文字と序数ですが、正しいシリーズ)にする必要があります。 プロパティを数値に変更すると、多くの欠落値が表示されましたが、すべてではありません。
ここで何が間違っているのかわかりません。
ご協力いただきありがとうございます、
マーティン
Re:スクリプティング:データテーブルの特定の名前の列を取得していますこんにちはドン、
使用した正規表現の式がよくわかりました。 変数名に「MonthYY」、「DD Month YY」、「DD.MM.YY」などの変数名が混在している場合など、条件を追加することで汎用に調整できると思います。最終的なフォーマット。
最良の方法は、JMPが認識している変数名に対して一貫した入力形式を使用することです。
あなたの助けに感謝します、あなたはあなたの例で私を正しい軌道に乗せました。 ありがとう!
マーティン
Re:スクリプティング:データテーブルの特定の名前の列を取得していますこんにちはドン、
単語Countは先頭の数字があるかどうかに依存するため、if構文を使用してTransferの日付を回避しました。
現在のデータテーブル() <<新しい列(( 「新しい日付」 、
数値、
序数、
フォーマット(( 「ddMonYYYY」 ) 、
式(
場合((不足している((数((語(( 1 、 :データム) ) ) 、
日付DMY ((
1 、
一致((語(( 1 、 :データム) 、
「1月」 、 1 、
「2月」 、 2 、
「メルツ」 、 3 、
「4月」 、 4 、
「マイ」 、 5 、
「ジュニ」 、 6 、
「ジュリ」 、 7 、
「8月」 、 8 、
「9月」 、 9 、
「10月」 、 10 、
「11月」 、 11 、
「12月」 、 12 、
13
) 、
2000年+数((語(( 2 、 :データム) )
) 、
日付DMY ((
数((語(( 1 、 :データム) ) 、
一致((語(( 2 、 :データム) 、
「1月」 、 1 、
「2月」 、 2 、
「メルツ」 、 3 、
「4月」 、 4 、
「マイ」 、 5 、
「ジュニ」 、 6 、
「ジュリ」 、 7 、
「8月」 、 8 、
「9月」 、 9 、
「10月」 、 10 、
「11月」 、 11 、
「12月」 、 12 、
13
) 、
2000年+数((語(( 3 、 :データム) )
)
)
)
) ;
しかし、リストregNamesを作成するための正規表現式に関してはまだ問題があります。
マーティン
Re:スクリプティング:データテーブルの特定の名前の列を取得していますこんにちはドン、
私はあなたの例を試してみました。 ただし、空のregNamesリストが表示されるため、スタックスクリプトにより、以前と同じようにすべてを入力するように求められます。 これにより、リストがないために新しい列のスクリプトが機能しないデータテーブルが作成されます。 さらに、日付変換は私にとっても機能しません。
あなたは試しましたか、それはあなたのために働きましたか? どの言語の設定を使用しましたか?
ありがとう、
マーティン
Re:スクリプティング:データテーブルの特定の名前の列を取得していますマーティン、
私はあなたが抱えている問題を解決するはずのスクリプトを添付しています。 Regexは、JSLで使用するのが特に難しいため、標準の正規表現とは多少異なります(ただし、かなり近く、ほとんどの場合、一部の機能が不足しています)。 JMPが日付を利用可能な情報として認識しなかったため、日付の問題が発生しています。少なくとも、私のバージョンでは日付が表示されませんでした。 私のソリューションは名前を解析し、数値の日付で新しい列を作成しました。 代替の解決策がありますが、これが最も簡単です。 !