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


Możesz użyć następującej podstawowej składni, aby przekonwertować zmienną numeryczną na zmienną daty w SAS-ie:

 date_var = input ( put (numeric_var, 8 .), MMDDYY10. );
date_var format MMDDYY10. ;

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

Powiązane: Jak przekonwertować zmienną numeryczną na znak w SAS-ie

Przykład: Konwertuj zmienną numeryczną 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 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;

Możemy wykorzystać zawartość procedury do wyświetlenia typu danych każdej zmiennej w zbiorze danych:

 /*display data type for each variable*/
proc contents data =original_data;

Widzimy, że dzień i sprzedaż są zmiennymi numerycznymi.

Możemy użyć poniższego kodu, aby utworzyć nowy zbiór danych, w którym konwertujemy zmienną dnia z wartości liczbowych na datę:

 /*create new dataset where 'day' is date*/
data new_data;
    set original_data;
    date_day = input ( put (day, 8. ), MMDDYY10.) ;
    date_day format 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, date_day , 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 datę
SAS: Jak przekonwertować zmienną znakową na numeryczną
SAS: Konwertuj ciągi na wielkie, małe i właściwe litery

Dodaj komentarz

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