Sas: jak przekonwertować zmienną znakową na datę


Możesz użyć funkcji input() w SAS-ie, aby przekonwertować zmienną znakową na format zmiennej daty.

Ta funkcja wykorzystuje następującą podstawową składnię:

 date_var = input (character_var, MMDDYY10. );
date_var format MMDDYY10. ;

Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.

Przykład: Konwertuj zmienną znakową na datę w SAS-ie

Załóżmy, że mamy następujący zestaw danych w SAS-ie, który pokazuje całkowitą sprzedaż zrealizowaną przez sklep w sześciu różnych dniach:

 /*create dataset*/
data original_data;
    input day $sales;
    datalines ;
01012022 15
01022022 19
01052022 22
01142022 11
01152022 26
01212022 28
;
run ;

/*view dataset*/
proc print data = original_data;

Widzimy, że dzień jest zmienną znakową, ale musi być przedstawiony w formacie daty.

Możemy użyć poniższego kodu, aby utworzyć nowy zbiór danych, w którym konwertujemy zmienną dnia z formatu znakowego na format daty:

 /*create new dataset where 'day' is in date format*/
data new_data;
    set original_data;
    new_day = input (day, MMDDYY10. );
    format new_day MMDDYY10. ;
    drop day;
run ;

/*view new dataset*/
proc print data = new_data; 

Uwaga : Użyliśmy funkcji drop , aby usunąć pierwotną zmienną dnia ze zbioru danych.

Widzimy, że nowa zmienna, którą utworzyliśmy, nowy_dzień , ma format daty.

Należy pamiętać, że MMDDYY10. to tylko jeden z możliwych formatów daty, jakiego mogliśmy użyć. Pełną listę formatów daty SAS-owej znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

SAS: Jak przekonwertować zmienną znakową na numeryczną
SAS: Jak przekonwertować zmienną numeryczną na znak
SAS: Jak zastąpić brakujące wartości zerem

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *