Описание тега proc-sql

NoneProc sql - это процедура SAS, используемая для отправки операторов SQL компилятору SAS. Для Oracle Pro*C используйте [oracle-pro-c].
2 ответа

Импорт таблицы с неизвестной длиной из Excel .xlsm

Я хочу перенести таблицу из Excel в SAS (версия 9.2 и формат файла Excel.XLSM, макрос). Имена столбцов будут считаны из ячейки B3, а данные начнутся с ячейки B4, как показано ниже: A B C D E F G ... 1 2 3 Col1 Col2 4 15 20 5 16 21 6 ... ... Проблема…
09 окт '15 в 11:10
2 ответа

Proc SQL, SAS усекает значение переменной

В моем наборе данных SAS есть столбец с 20-значным идентификатором. Когда я пытаюсь отфильтровать некоторые записи с помощью PROC SQL в SAS EG, поле с идентификатором усекается до 1E18, и экспорт дает мне усеченное значение в каждом поле вместо факт…
01 ноя '13 в 05:57
1 ответ

Доверительный интервал стандартного отклонения с процедурой sql

Мой набор данных очень прост, только один столбец с отношением и другой столбец с категориальной переменной, мне нужно рассчитать стандартное отклонение для каждого класса, а также доверительный интервал. Есть ли встроенная функция в SAS (proc SQL) …
07 апр '14 в 15:04
3 ответа

Используйте команду sas select into: для создания глобальных макропеременных

Я хочу использовать select into: для создания глобальной переменной в макромодуле. %macro example(); proc sql noprint; select x into:DDD from aaa; quit; %mend; Проблема в том, что я хочу создать глобальную переменную DDD, в этом примере мы можем пол…
04 июл '16 в 03:31
2 ответа

Поиск строк с экстремальными значениями с использованием SQL

У меня есть таблица t1 с 4 столбцами: key, cd, date, result_num В SAS у нас есть следующий код: PROC SQL; create table t2 AS select * from t1 group by key having date = MAX(date) order by key, cd; RUN; У меня сложилось впечатление, что все столбцы, …
10 авг '15 в 12:21
2 ответа

Создать макропеременную на основе условия SAS

У меня есть следующая таблица data have; input x1; datalines; 1 2 3 4 5 6 7 8 9 10 11 ; run; и я пытаюсь создать макропеременную, которая распределяет количество различных записей максимум до десяти, чтобы я мог автоматически создать правильное коли…
24 окт '18 в 17:12
1 ответ

Усеченный SAS LASR стол

Я хочу обрезать таблицу вместо того, чтобы отбрасывать таблицу при запуске кода. Как я могу изменить код, от удаления существующей таблицы до усеченной таблицы? В таблице SAS LASR есть строка кода, как показано ниже: /* Drop existing table */ %vdb_d…
23 авг '16 в 01:53
2 ответа

Как рассчитать повторные даты с помощью процедуры SQL

У меня есть набор данных как таковой: Pat_ID Date Prov_ID A 05/12/2012 X1 A 05/12/2012 X2 B 11/12/2012 X1 B 03/22/2012 X1 C 04/25/2012 X1 C 04/25/2012 X2 C 04/25/2012 X3 ... Как видно, у некоторых пациентов одна и та же дата, но разные поставщики, а…
27 мар '15 в 19:30
2 ответа

SAS: получить номер наблюдения для максимального / минимального значения переменной

Я пытаюсь получить в качестве макропеременной или простой переменной номер наблюдения, который является мин / макс одной переменной. Я могу легко получить значение этого мин / макс, через процесс SQL proc sql noprint; select min(variable) into :minv…
16 мар '16 в 15:24
1 ответ

Общее время процесса PROC SQL, понимание журнала

Я хотел бы лучше понять журнал времени, чтобы улучшить производительность. Мое реальное время обычно намного больше, чем время процессора. Это ожидается? Разница связана с доступом к диску? Операции в памяти включены в процессорное время или в реаль…
07 июн '18 в 14:35
2 ответа

Proc SQL присваивание пропущенных значений

Если я запускаю запрос, который выдает ноль строк, я все же хочу, чтобы набор данных SAS создавался с одной строкой, в которой были назначены все столбцы с пропущенными значениями. Я нашел способ сделать это, используя отдельный шаг данных: %let dsi…
04 апр '17 в 16:39
2 ответа

Sql, Compged, Min и заготовки

Я сравниваю 4 строки, используя compged в sql вот выдержка: MIN(compged(a.string1,b.string1), compged(a.string1,b.string2), compged(a.string2,b.string1), compged(a.string2,b.string2)) < 200 К сожалению, бывают случаи, когда строка из набора a и с…
07 май '15 в 09:24
1 ответ

Как ограничить количество строк в таблице proc sql теми, которые содержат самую высокую дату

Я пытаюсь выполнить большой запрос на моем мэйнфрейме, мне нужно только развернуть все строки с самым высоким PD_START_DATE. Я полагаю, это что-то вроде PROC SQL ; SELECT PD_PROP_NUM, PD_RATE_PGM, PD_START_DATE, PD_END_DATE, PD_DOW_FREQ, PD_ROOM_POO…
15 мар '16 в 00:19
2 ответа

Вставка таблицы базы данных SQL SAS Proc

С помощью Proc SQL от SAS можно ли вставить записи из набора данных SAS в таблицу в открытом соединении с SQL Server? Примерно так (что не работает): proc sql exec; connect to sqlservr as DataSrc (server=my-db-srvr database=SasProcSqlTest); create t…
24 июн '09 в 20:05
2 ответа

Объединить три набора данных SAS по горизонтали с переименованием столбцов

Я работаю в руководстве SAS Enterprise и хочу объединить три отдельных набора данных в один набор данных. Все наборы данных имеют один столбец с одинаковой длиной, типом данных и заголовком столбца: Мои данные выглядят следующим образом (три таблицы…
28 фев '17 в 18:55
1 ответ

SAS захватить предыдущее наблюдение для сравнения

У меня есть набор данных SAS, похожий на: Joe Joe John Bill Bill Bill Bill Joanne Joanne Fred Fred Fred Ted То, что я пытаюсь сделать, это превратить его в новый набор данных, который содержит каждую запись только один раз, с добавленной переменной,…
02 окт '14 в 14:50
2 ответа

Почему SAS не использовал мой индекс?

У меня есть большой набор данных SAS, отсортированный по полю "A". Я хотел бы сделать запрос, который ссылается на поля "A" и "B". Для ускорения работы я создал индекс "B". Это приводит к бесполезному сообщению: INFO: Index B not used. Sorting into …
21 май '12 в 17:10
4 ответа

SAS SQL - две таблицы (A и B), где единственным общим полем является ключ - нужно все в A, что не в B

У меня есть две таблицы, где поля отличаются, за исключением общего ключа. Мне нужно хранить записи только с ключами, которые находятся в A, а НЕ в B. Мне не нужны записи, которые находятся только в B, или записи, которые находятся как в A, так и в …
29 сен '15 в 16:03
2 ответа

SAS Подсчет вхождений на основе нескольких слоев в течение установленного периода времени

Я пытаюсь подсчитать случаи, когда одному и тому же человеку выставлялся счет за товар четыре или более раз за одно и то же место в течение 30 дней с каждого экземпляра. Например, ввод будет выглядеть примерно так: person service place date A x shop…
01 фев '16 в 17:04
2 ответа

Подзапросы, дающие больше результатов, чем ожидается при объединении двух подмножеств

Я получаю больше идентификаторов, чем это возможно после выполнения левого оператора внешнего соединения для двух таблиц. Контекст: я сузил две таблицы из больших наборов данных. Ниже приведены запросы, которые я использовал для получения идентифика…
20 апр '12 в 02:47