問題タブ [informat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
format - sas の format と informat
次のデータがあります。
*date7.informat でこれを読み取り、date9.format でデータを提示する必要があります。
*まず幅形式でデータを読み取るにはどうすればよいですか? また、車が完全に数値ではない場合に、日付の幅を 7 から 9 に変換するにはどうすればよいですか?
そのようなことをしようとするとき:
完全に数値ではないvarで数値形式を使用しているため、失敗します
character-encoding - SAS 特殊文字が入力の列の配置を乱す
informat の使用を教える演習で、.dat データ セットを sas に入力しています。これが私がこれまでに持っているものです。
これは、特殊文字/国際文字を含む行を除くすべての行で機能します。そのような:
これらの行は最初の通貨値 (@53 sales comma6.) でつまずき、その入力に対して無効なデータが見つかったことを示す警告がスローされ、欠損値 (.) が割り当てられます。
@ ポインターと informat w 値をいじってみると、特殊文字が列の配置から外れていることが明らかになるようです。これは可能ですか (特殊文字は、1 文字として出力されたとしても、実際には 2 ビット/スペースを占有します。単純な文字はありますか?解決?
format - 生データが乱雑な場合にSASの入力形式を使用して日付を読み取る
基本的に、入力形式を使用して乱雑なデータを SAS に読み込もうとしていますが、問題があります。生のtxtファイルに次の形式のデータの列があります。
RegDate の場合、0 = 欠落、それ以外の場合、日付は存在します。このデータを SAS に読み込み、ゼロに「NA」、日付に日付を指定して、データセットに出力したいと思います。
すべての日付が存在する場合、コードを使用できます
ただし、入力形式が日付を読み取るように設定されているため、ゼロが考慮されていないため、これを行っている上記のテキスト ファイルを読み取ることができません。
proc import ステートメントを使用する場合
best32 を使用しようとします。最初の行にゼロがあるためです。日付を読み込むことはできません。
そのため、何らかのカスタム フォーマットを作成する必要があります。これは、数値入力形式のみ、文字入力形式のみ、または画像入力形式 (日付に必要ですか?) に対して実行できます。1 つの変数に対して複数の形式を組み合わせる方法がわかりません。解決策は非常に簡単だと思いますが、オンラインで見つけることができないため、これが明らかな場合はお詫び申し上げます。a) IF-THEN ステートメントをフォーマットに入れ、入力に応じて異なる処理を行う方法はありますか? b) フォーマットを使用する必要があるように、純粋にテキストとしてデータを読み取ります。
sas - SAS は Formatt を使用して新しい変数を作成します
質問を考えています: informat を使用して新しい変数を作成する方法。like : 次のような情報があります。
そしてそのようなデータセット:
今、私はこのようなデータセットを持ちたいです:
私が作成した入力形式を使用して、数値変数 age を文字変数 agegroup に入れる方法はありますか? ありがとう。
sas - ミリ秒単位の SAS 日付入力形式
次の日付形式の SAS 入力形式を作成しようとしています。
「yyyy-mm-dd hh:ii:ss.SSS UTC」、例: 「2016-01-14 10:31:01.456 UTC」
私は次のフォーマットコードを使用して近づいてきました:
残念ながら、これをINFORMATとして使用しようとすると、「フォーマットMyDateが見つかりません」というエラーが表示されます。これは、入力フォーマットとして定義されておらず、単なる出力フォーマットであるためです。
この形式から作成されたデータセットから入力形式を作成しようとすることはできますが、ミリ秒の制約により、ミリ秒セクションで .000 の時間にマップされる値のみが作成されます。例えば:
ミリ秒単位でデータセットを列挙できたとしても、非常に大きくなります。私の日付は何年にもわたる可能性があるためです。
入力データを入力形式に渡す前に切り捨てることはできますか? ミリ秒や UTC 修飾子は気にしません。入力データを変更できません。
編集: 入力形式anydtdtm.
として使用すると、エラー メッセージのない空の値になります。この入力形式を使用するデータ ステップは次のとおりです。
function - DATETIME18 を使用して、既存の変数から月番号を持つ変数を作成します。SAS の入力形式
私は非常に単純なことをしようとしていますが、惨めに失敗しています。
SAS クエリ ビルダーを使用して、既存の日付変数に基づいて、月番号を持つ新しい変数を作成したいと考えています。
変更したい変数の例は次のとおりです: 07/01/2015 00:00
そのため、番号1を含む新しい変数を作成したいと思います。
私の既存の変数には、DATETIME18 という入力形式があります。
だから私は次のことを試しました:
上記の両方で新しい変数が作成されますが、すべてのフィールドが空です。
そこで、変数の入力形式を変更して時間要素を削除し、月関数を使用することを考えたので、試しました:
しかし、次のエラーが発生します: エラー: 関数 MDY には、引数 2 として数値式が必要です。エラー: 関数 MDY には、引数 3 として数値式が必要です。
何か案は?基本的に、変数にDATETIME18がある場合、変数から月番号を引き出したいと思います。通知します。
前もってありがとうポール
sas - SASのフォーマットと長さの違い
「フォーマット」、「インフォーマット」、「長さ」の違いがわかりません。
sas - 今回は hh:mm:ss PM または SaS の AM を読み取る Informat はどれですか?
好きなExcelから列を読むことができません
Windows 10 TimeZone +2 上の SAS Base 9.4 で