web-dev-qa-db-ja.com

SASでは、オプション「dsd」は何を表していますか?

簡単な質問があります。

私はSASを学んでいて、dsd=オプション。

これが何を意味するのか誰か知っていますか?それは思い出す/文脈化するのを助けるかもしれません。

ありがとう。

13
Matt O'Brien

インターネットからテキストをコピーして貼り付けるだけではありません。もう少しわかりやすく説明しようと思います。区切り文字DLM=と同様に、DSDinfileステートメントで使用できるオプションです。

区切り文字がDLM=で指定されており、DSDを使用したとします。 SASが並んでいる、または間に空白があるspace(s)だけの2つの区切り文字がある場合、これは欠損値として認識されます。

たとえば、テキストファイルdog.txtに行が含まれている場合:

171,255,,dog 

そして、

data test;
    infile 'C:\sasdata\dog.txt' DLM=',' DSD;
    input A B C D $;
run;

出力されます:

                               A      B     C     D

                              171    255    .    dog

したがって、変数Cは、.で示されるように欠落します。 DSDを使用しなかった場合、無効なデータとして返されます。

12
Yick Leung

[〜#〜] dsd [〜#〜]デリミタ依存データ

データ値が引用符で囲まれている場合、値内の区切り文字が文字データとして扱われることを指定します。 DSDオプションは、LIST入力を使用するときにSASが区切り文字を処理する方法を変更し、デフォルトの区切り文字をコンマに設定します。DSDを指定すると、SASは2つの連続する区切り文字を処理します欠損値として、文字値から引用符を削除します。

http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000146932.htm

8
Patrick Moore

DSDはデリミタ依存データの略です。

InfileステートメントのDSD(区切り文字依存データ)は、3つのことを行います。 1:引用符で囲まれたデータ値の区切り文字を無視します。 2:データの一部として引用符を無視します。 3:連続する2つの区切り文字を欠損値として扱います。

出典: easy sas

8
Sheldon

DSDとは、データが欠落している場合に区切り文字が連続する区切りデータファイルを指します。以前は、区切られたファイルを作成するプログラムは、欠落したデータに対して常に空白を入れていました。ただし、今日では、PCソフトウェアは空白を入れません。つまり、区切り文字は区切られません。 INFILEステートメントのDSDオプションは、SASこれを監視するように指示します。以下に、(カンマ区切りの値を使用した)例を示します。

Old Way:    5,4, ,2, ,1    ===> INFILE 'file' DLM=',' ... etc
New Way:    5,4,,2,,1     ===>  INFILE 'file' DLM=',' DSD ... etc.

参照

参照

0
Nagaraj S