În SAS, ce reprezintă opțiunea „dsd”? (Programare, Sas)

tumultous_rooster a intrebat.

Am o întrebare rapidă.

Învăț SAS și am dat peste opțiunea dsd= opțiunea.

Știe cineva ce reprezintă aceasta? S-ar putea ajuta la reamintire / contextualizare.

Mulțumesc.

4 răspunsuri
Yick Leung

Mai degrabă decât să copiați și să lipiți textul de pe internet. Voi încerca să explic mai clar. Cum ar fi delimitatorul DLM=, , DSD este o opțiune pe care o puteți utiliza în infile declarație.

Să presupunem că un delimitator a fost specificat cu DLM= și am folosit DSD. Dacă SAS vede doi delimitatori care sunt unul lângă altul sau doar cu spații goale spațiu(e) între ei, atunci va recunoaște acest lucru ca fiind o valoare lipsă.

De exemplu, dacă fișierul text dog.txt conține rândul:

171,255,,dog 

Atunci,

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

va emite:

                               A      B     C     D

                              171    255    .    dog

Prin urmare, variabila C va lipsi, indicată prin semnul .. Dacă nu am fi folosit DSD, , ar fi fost returnată ca date invalide.

Comentarii

  • Și, pentru a răspunde la întrebare, DSD înseamnă Delimiter Sensitive Data (date sensibile la delimitator). –  > Por Sheldon.
  • Vă mulțumim! Asta e tot ce voiam să știu. Îmi amintește de versurile clasice, „Tot ce am vrut a fost un Pepsi!” –  > Por tumultous_rooster.
Sheldon

DSD înseamnă „Delimiter-Sensitive Data”.

Instrucțiunea DSD (Delimiter-Sensitive Data) în infile face trei lucruri pentru dumneavoastră. 1: ignoră delimitatorii din valorile datelor închise între ghilimele; 2: ignoră ghilimelele ca parte a datelor dumneavoastră; 3: tratează doi delimitatori consecutivi într-un rând ca valoare lipsă.

Sursă: easy sas

Comentarii

  • Mulțumesc, acest lucru răspunde la întrebare, cu privire la ce se referă caracterele DSD. Căutam o modalitate de a memora acest lucru și acest lucru mă ajută. –  > Por tumultous_rooster.
Patrick Moore

DSD (date sensibile la delimitator)

specifică faptul că, atunci când valorile datelor sunt incluse între ghilimele, delimitatorii din cadrul valorii sunt tratați ca date de caractere. Opțiunea DSD modifică modul în care SAS tratează delimitatorii atunci când utilizați intrarea LIST și stabilește delimitatorul implicit la virgulă. Atunci când specificați DSD, SAS tratează doi delimitatori consecutivi ca pe o valoare lipsă și elimină ghilimelele din valorile de caractere.

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

Nagaraj S

DSD se referă la fișierele de date delimitate care au delimitatori unul după altul atunci când există date lipsă. În trecut, programele care creau fișiere delimitate puneau întotdeauna un spațiu gol pentru datele lipsă. Astăzi, însă, programele pentru PC nu mai pun spații libere, ceea ce înseamnă că delimitatorii nu sunt separați. Opțiunea DSD a instrucțiunii INFILE îi spune lui SAS să fie atent la acest lucru. Mai jos sunt prezentate exemple (folosind valori delimitate prin virgulă) pentru a ilustra:

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

Consultați

referință

Comentarii

  • Tipule, practic ai copiat și lipit totul de aici: studysas.blogspot.com/2008/08/08/… fără să menționezi citatele. Prin urmare, link-ul tău este incorect, deoarece nu reflectă sursa corectă de unde ai obținut informațiile. –  > Por Yick Leung.

Tags: