Руководство по SAS Enterprise считано незафиксированным в Query Builder - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь найти способ изменить уровень изоляции для чтения незафиксированных (RU) до того, как мой запрос будет запущен из построителя запросов, поскольку иногда мне нужно получать данные из операционных таблиц.

Есть ли способ сделать это в SAS Enterprise Guide? Я знаю, что в меню «Параметры» есть место для запуска пользовательского кода перед кодом задачи и запроса, но я не знаю, что ввести здесь, чтобы это произошло.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Ответ - это зависит. Часть, в которой вы выполняете незафиксированное чтение, настраивается в определении имени библиотеки. Если ваше имя библиотеки определено в метаданных, то нет - вы не можете сделать это в EG (по крайней мере, без использования мастера), вам понадобится менеджер библиотек в SMC или DI studio.

Если ваше имя библиотеки определено программно, то синтаксис зависит от того, какой тип базы данных вы используете. Для SQL Server вам необходимо добавить следующую опцию: Read_Isolation_Level=RU.

Обратите внимание, что это может означать, что вы читаете "грязные данные" (см. Это сообщества Тема ).

0 голосов
/ 01 мая 2018

В вашей программе автоматической загрузки, которая определяет библиотеки; вам просто нужно знать имя библиотеки SQL, которую вы хотите запросить. Затем выполните следующие действия:

  1. В вашем проекте EG: создайте новую программу: File / new / Program, Это добавит новую программу в ваш поток.
  2. Если имя библиотеки SQL называется «SQL», а таблица, которую вы хотите запросить, - «ORDERS»; вы используете PROC SQL, который очень похож на MS-SQL, затем нажимаете run или F8.

    proc sql; select id, sum(sales) as total_sales from SQL.ORDERS group by id ; quit;

Пример

Шаг 1:

step 1

Шаг 2: Step 2

New Program

Run

...