Saya sedang menulis program di Proc SQL. program ini mengambil berbagai file input, yang nama filenya berubah dari bulan ke bulan (yaitu myfile_YYYY_MM atau mytable_YYYYMM, atau mydata_YY_M).
Sebagian besar program sekarang bersifat dinamis, dan pengguna diminta memasukkan tanggal pelaporan melalui prompt saat menjalankan program.
"Tanggal Segera" (&Tanggal_Rep.) dalam kode memiliki format DD MON YYYY (31 Mei 2018), dan saya perlu menyiapkan satu variabel makro yang mengubah nilai ini ke format YYMMn6 (yaitu 201805).
Sintaksnya terlihat seperti ini:
%let Period = input("&Rep_Date."d,YYMMN.);
Ini berfungsi ketika mencoba membuat variabel d9, dan untuk membuat variabel bulan/tahun, seperti ini:
%let date = "&Rep_Date."d; /*Last day execution month*/
%let year = %sysfunc(year("&Rep_Date."d));
%let month = %sysfunc(month("&rep_Date."d));
untuk beberapa alasan, hal yang sama tidak berfungsi saat mencoba memformat tanggal ke YYMMn6.
Saya juga mencoba membuat variabel "Periode" di tabel SAS sementara seperti ini, tetapi sekali lagi tidak berhasil:
Data dates;
Period = input((&Rep_date.,6.), yymmn6.);
format Period yymmn6.;
Run;
Adakah ide tentang kesalahan saya?