Описание тега sas-macro
Язык метапрограммирования, используемый в пакете SAS для изменения обычного кода SAS во время выполнения.
1
ответ
Создать таблицу с циклом в SAS
Когда у вас есть стол, как; somefield1 somefield2 lastterm1 lastterm2(10) (20) (1) (-)(20) (40) (1) (2)(30) (50) (-) (2) и попробуйте сгруппировать для каждого термина, есть ли более простой способ сделать это, чем; PROC SQL; CREATE TABLE WORK.LAST_…
09 ноя '16 в 13:06
1
ответ
Модификатор двоеточия в макросе
Я пытаюсь использовать функциональность модификатора двоеточия в макросе, но, похоже, он работает не так, как на шаге данных. Пример того, что я пытаюсь сделать, показан ниже. data _null_; str = "hello"; if str =: "h" then put "y"; else put "n"; run…
19 май '17 в 19:21
2
ответа
Динамический доступ к макро-переменным SAS
Я использовал call symputx для создания списка макропеременных с Item 1 по Item N, и теперь я хочу перенести их в массив в другом шаге данных, чтобы точка 1 в массиве получала Item1, точка 2 получала Item2 и т. Д. do j=1 to &num_OR; rulesUsed{j}…
18 июн '18 в 17:24
1
ответ
Измененное значение байта решило эту проблему, но почему? SAS: этот диапазон повторяется или значения перекрываются
Мой отдел BI только что столкнулся с ошибкой SAS: этот диапазон повторяется или значения перекрываются. Я нашел несколько ссылок, на которые они смотрели, и обнаружил, что в макросе произошла ошибка. Ошибка состояла в том, что длина байтового значен…
13 май '15 в 11:37
1
ответ
Как создать собственный набор данных sas
proc sql; select * INTO: SAGIA From Sasoprsk.Cust_field_value, Sasoprsk.Cust_obj_7 Where Cust_field_value.BUSINESS_OBJECT_RK eq Cust_obj_7.CUST_OBJ_7_ID; run; data Work.Temp = &SAGIA; run; Я хочу создать пользовательский набор данных, в котором …
07 ноя '17 в 06:49
1
ответ
Извлечение значений из макро-переменной SAS
Я определил макропеременную %let data_names = fuzzy_Data_segment EMWS2.Clus_TRAIN; Затем я написал макрос для извлечения и печати значений из вышеуказанной макропеременной как: %macro calling_data; %do i = 1 %to 2; %let data_name&i = %qscan(&…
14 июн '16 в 13:56
2
ответа
SAS EG Export Excel с пропуском
Как я могу защитить мой файл Excel с помощью пароля, потому что в SAS EG не поддерживается DDE. Я использую это, но у меня нет convert.vbsТак где я могу получить это? /***********************************************/ /* Create a test worksheet to pa…
20 дек '18 в 11:05
3
ответа
Макрос, возвращающий значение
Я создал следующий макрос. Proc power возвращает таблицу pw_cout содержащий столбец Power, data _null_ шаг назначает значение в столбце Power из pw_out к макропеременной tpw, Я хочу, чтобы макрос возвращал значение tpw, так что в основной программе …
13 сен '11 в 13:03
2
ответа
Попытка создать макрос, который проверяет существование макропеременной и создает ее, если она не существует
%Macro symexistchk(valuex); %if %symexist(&valuex) %then %put &valuex; %else %do; %let valuex = 0; %end; %Mend symexistchk; %symexistchk(g900_r); Я хочу проверить, существует ли макропеременная g900_r, и создать ее, если она не существует. С…
30 янв '15 в 21:06
1
ответ
Как импортировать 100 CSV-файлов из каждой из 1000 папок
У меня есть 1000 папок в каталоге с именем folder1, folder10, folder 25, .......folder10200. Каждая из этих 1000 папок содержит 100 CSV-файлов с именами file1, file2,..... file100 Задача, которую мне нужно выполнить, - это создать один набор данных …
26 дек '14 в 08:39
1
ответ
SAS - как остановить открытие вкладки результатов в sas с помощью кода.
У меня есть следующий код: ods _all_ close; ods csv file="filename.csv" %macro mac_name (st, en=); %do j=1 %to &en.; %let k=%eval(&j.+1); proc freq data=data_name; tables status&j. * status&k. / nocol norow nopercent missing; run; %e…
06 сен '17 в 14:12
3
ответа
Переменная SAS Macro с запятыми для преобразования в одинарные кавычки с запятыми
Может ли кто-нибудь помочь мне, как я могу получить макрос-переменную с одинарными кавычками. Я получаю числа в виде значений, разделенных запятыми, из набора данных, как показано ниже: 2108008080, 2108008081, 2108888082, 2108858090, 213856345 и т. …
03 дек '15 в 05:56
1
ответ
SAS: повысить эффективность массива с помощью макросов
Сейчас я пытаюсь попрактиковаться в макросах SAS, и хотя они кажутся по большей части логичными, в документации я нашел мало информации о том, как повысить эффективность массива с помощью макросов. Есть ли другой способ, и я делаю все это неправильн…
05 фев '19 в 01:51
3
ответа
В SAS, вне шага данных, каков наилучший способ заменить символ в макропеременной пробелом?
В SAS, вне шага данных, каков наилучший способ заменить символ в макропеременной пробелом? Кажется, что TRANSLATE было бы хорошей функцией для использования. Однако при использовании %SYSFUNC с помощью этой функции параметры не заключаются в кавычки…
06 фев '09 в 17:17
2
ответа
Как я могу выполнить итеративную программу макросов с последовательными постоянными числами в sas?
Я новичок в макросе. Я модифицировал макропрограмму и работает. Но я должен написать следующий макрос сто раз следующим образом. %quint(dsn=cc1, var=MB, quintvar=MB5, num=111) ; %quint(dsn=cc1, var=MB, quintvar=MB5, num=112) ; %quint(dsn=cc1, var=MB…
04 ноя '14 в 14:49
1
ответ
SAS: определение переменных в цикле if
Я новичок в написании макросов SAS, и я изо всех сил пытался написать код для следующего экземпляра. %let DateOfInterest= "15jul2016"d; %let yearyyyy=%sysfunc(putn(&DateOfInterest,year4.)); %let yearyyyy2=eval(yearyyyy+1); data _null_; if "01JAN…
03 май '17 в 14:40
2
ответа
SAS libref не распознается в цикле макросов
Я столкнулся со странной причудой SAS, которую не могу понять - надеюсь, вы поможете. У меня есть простой макро-цикл, который импортирует файлы CSV, и по какой-то причине, если я использую инструкцию libref в части процедуры импорта out= out, SAS не…
04 июл '15 в 16:40
4
ответа
Список специальных символов в макросах SAS
Я хотел бы знать, какие символы безопасны для любого использования в SAS макросы. Так что я подразумеваю здесь под специальными символами любой символ (или группу символов), который может играть определенную роль в SAS в любом контексте. Меня не инт…
12 апр '18 в 13:48
1
ответ
Массивы в макросах в SAS
%macro test ; %array factors(7) &ordered_col ; %array names(7) &ordered_col2 ; %do i = 1 %to 7 ; %let factorname = factors(&i) ; %let output = names(&i) ; proc sort data=actshare.policy out=&output nodupkey ; by &factorname ;…
26 апр '17 в 11:59
1
ответ
В SAS, как мне назначить макропеременную для номера текущей недели?
Я назначаю макропеременную следующим образом: %let days2=31; но вместо 31 я хочу, чтобы переменная автоматически была текущим номером недели. Я пытался использовать week2=week(today(), 'u'), но это возвращает ошибку. Есть идеи? Заранее спасибо!!
22 авг '17 в 08:37