powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Кубы в SAS
25 сообщений из 42, страница 1 из 2
Кубы в SAS
    #37536465
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Существует ли возможность работы с кубами в SAS без SAS cube studio? Скажем, загрузить его из teradata или oracle в SAS enterprise guide и потом провести аналитику? Буду благодарен любой литературе.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37545966
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Не совсем понятно, что значит загрузить из teradata или oracle. Импортировать? Импортировать нельзя.

По своему опыту могу предложить два варианта:
1) С помощью SAS\ACCESS можно подключаться как к teradata, так и к oracle. Собственно замутить ETL который вытащит данные в SAS, а потом на этих данных построить куб.
2) В SAS 9.2 появился SAS Analytics Accelerator 1.2 for Teradata он вроде позволяет делать запросы из SAS на прямую к teradata. Т.е. можно строить куб прямо на данных teradata. Но я ещё не разбирался с этим новым продуктом. Если интересно вот guide по нему http://support.sas.com/documentation/onlinedoc/analyticsaccel/index.html
...
Рейтинг: 0 / 0
Кубы в SAS
    #37547827
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
замутить ETL который вытащит данные в SAS, а потом на этих данных построить куб.

Как раз это и хотелось сделать... Можно поподробнее о методах построения куба в SAS на основе SAS наборов без SAS OLAP CUBE STUDIO.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37548513
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поподробнее это можно. Если есть табличка с набором фактов для куба (ну или на чем вы там хотите строить куб), и есть желание строить его скриптом на SAS Base, а не с помощью всякой визуальной цыганщины, то тут надо использовать оператор proc olap. Если в двух словах, то этот оператор позволяет создавать, обновлять и удалять кубы, дизайнить его структуру и прочее. По большому счету OLAP CUBE STUDIO генерить proc olap и выполняет его. Собственно, зачастую можно не писать proc olap с нуля, а создать куб в STUDIO (или воспользоваться уже существующим), сделать Export Code (будет в контекстном меню, если жмакнуть правой кнопрой на куб) и поправить полученное руками по вкусу. То что получилось использовать для построения\обновления\удаления куба скриптом. Подробно про proc olap можно почитать здесь http://support.sas.com/documentation/onlinedoc/olap/ (выбрав SAS XX OLAP Server: User's Guide, где XX - номер нужной версии SAS).
...
Рейтинг: 0 / 0
Кубы в SAS
    #37549313
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То что нужно. Огромное спасибо.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37549330
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не за что, если что обращайтесь.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37554085
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может вопрос покажется очень глупым... но существует ли кардинальное отличие между ETL-процессом с использованием SAS Data Integration Studio и им же на SAS/BASE? Скажем, является ли скрипт на извлечение данных из исходной СУБД с использованием SAS SQL, а затем последующая очистка данных на BASE SAS ETL-процессом? и можно ли настроить календарное автоматическое извлечение данных из исходной СУБД на base SAS (допустим данные должны обновляться раз в неделю)?
...
Рейтинг: 0 / 0
Кубы в SAS
    #37555568
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И так по порядку:
1) Принципиального различия в ETL-процессе созданном в SAS DI Studio и им же на SAS/BASE нет. Собственно, SAS DI по графической схеме процесса генерит код на SAS/BASE и выполняет его. Другой вопрос что он это делает по определенным алгоримтам и не всегда оптимально (генерит много лишнего т.е. код избыточен), а ручками можно завернуть код похитрей (как по архитектуре, так и по логике), да поотимальней. Ну если не требуется каких-то хитрых решений при создании ETL-процессов, а так же требуется наглядность реализации ETL (для бизнесов), то без SAS DI никуда.
2) Естесственно, скрипт на SAS/SQL и SAS/BASE это ETL-процесс, если этот скрипт (набор скриптов) делает "извличение, передачу, загрузку". ETL-процесс - это все же некая совокупность действий для решения задачи ETL, а на чем и как он реализован это дело десятое.
3) Настроить автоматическое обновление конечно можно. Обычно пишется скрипт (набор скриптов) на SAS/BASE, SAS/MACRO, SAS/SQL, etc и потом ставится на регламентное выполнение в batch mode, стандартными средсвами ОС (например, cron для nix или task scheduler для win).
...
Рейтинг: 0 / 0
Кубы в SAS
    #37556342
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы меня прямо выручили, спасибо)
...
Рейтинг: 0 / 0
Кубы в SAS
    #37560646
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, можно завести тему "вопросы-ответы по SAS" и там постить различные вопросы, а народ будет давать различные ответы)) может и будет кому-нибудь полезна, такая тема. Текущие вопросы-ответы переросли тему кубы в SAS.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37560824
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АГ,

Пока вопросы не накопились). А на будущее я только за) вот только в каком разделе создать такую тему...
...
Рейтинг: 0 / 0
Кубы в SAS
    #37561967
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так как раздела по BI я не нашёл, то думаю можно создать в текущем разделе OLAP и DWH
...
Рейтинг: 0 / 0
Кубы в SAS
    #37754354
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил попробовать создать куб с помощью rolap сценария. В документации написано используйте NO_NWAY опцию, но примера почему-то нету...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
proc olap cube=mycube
	NO_NWAY
	fact=Mylib.MyFactTable
;
metasvr host=localhost
	port=8561
	protocol=bridge
	userid="sasadm"
	pw="admin"
	repository=Foundation
	olap_schema="OLAP Schema"
;

...



в логе
ERROR: The PROC OLAP statement is missing a cube path.

Если использовать опцию path= то все нормально, но тогда я не вижу разницы между обычным Olap сценарием и Rolap. Растолкуйте пожалуйста или ткните в нужный мануал.

Вообще задумка создать представления таблиц из БД (view) в SAS и по ним построить rolap-куб с помощью proc olap (измерения и таблица фактов построены на основе sql запросов к БД). Интерес чисто академический.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37755075
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex1610,

В данном случае SAS ругается на то, что вы не указали путь к директории куда он будет сохранять построенный куб. А куб не зависимо от того MOLAP, ROLAP или HOLAP в любом случае надо куда-то сохранить.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37755170
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex1610,

по поводу разницы между MOLAP или ROLAP. Разница между ними в способах хранения представляемых данных и доступу к ним. В MOLAP у нас есть детальная табличка, а всякие агрегации создаются при построении куба. В ROLAP детальную табличку и агрегации храняться в реляционной БД (они должны быть созданы заранее и потом просто цепляются при построении куба, при построении куба не создаются). Более подробно можно почитать в документе SAS X.X OLAP Server: User's Guide (X.X - нужная вам версия SAS), который можно найдти и скачать на support.sas.com.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37756079
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу прощения, я наверное неправильно сформулировал вопрос... Я не пойму, почему с использованием опции NO_NWAY куб считается MOLAP (см картинку)

http://imglink.ru/show-image.php?id=427afac723deb1013523b5ce969ced36


Обновятся ли (будут ли доступны для mdx запросов) автоматически данные в кубе построенного таким образом при добавлении данных в БД (с учетом того что куб строится по технологии звезда, где таблицами измерений и фактов являются вьюшки из БД) или все-таки Rolap куб в SAS строится каким-то другим образом?
...
Рейтинг: 0 / 0
Кубы в SAS
    #37756562
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex1610,

сама по себе опция NO_NWAY не делает куб ROLAP, она указывает на то что не надо делать агрегационные таблички автоматически. Кроме этой опции для ROLAP необходимо создать агрегационые таблицы (с пердсуммироваными данными для всех комбинации измерений) и сослаться на них при построении куба.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37756593
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex1610,

и опять же очень рекомендую почитать указанный мной мануал SAS X.X OLAP Server: User's Guide (X.X - нужная вам версия SAS), там я думаю вы найдете много интересного ))
...
Рейтинг: 0 / 0
Кубы в SAS
    #37756759
alex1610
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АГ,

Спасибо
...
Рейтинг: 0 / 0
Кубы в SAS
    #37760282
RomanFP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Подскажите, плиз, как в SAS EG прописать "взять последнюю таблицу"CNUM" из библиотеки "A_SRV". Моя попытка неудачно прошла...

PROC SQL INOBS=1;

select max(catt(libname,".",memname))
into :lastdsn
from sashelp.vstable
where libname eq 'A_SRV'
and memname like 'CNUM%MR'
;
%put >>> &lastdsn;


CREATE TABLE WORK.TST001(label="TST001") AS
SELECT DISTINCT t1._date_,
t1.uni_id,
t2.acc_n,
t4.Blo_code,
t5.call_dir,
t5.con_type
FROM EBD_MAR t1 LEFT JOIN WORK.MK_BAD t2 ON (t1.con_typ = t2.Code) LEFT JOIN
EBD_MAR_1 t4 ON (t1.acc_n = t4.ACC_N) INNER JOIN memname t5 ON (t1.app_n =
t5.app_n)

;
quit;



Ошибка: ERROR: File WORK.MEMNAME.DATA does not exist.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37760414
АГ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RomanFP,

не совсем понятно что вы имеет ввиду под "взять последнюю таблицу CNUM"? Судя по коду, вы выбрали некую таблицу из библиотеки "A_SRV" в макропеременную &lastdsn (кстати интересно было бы видеть что вам вывел %put), но потом вы эту переменную во втором запросе не используете, а пишете "INNER JOIN memname t5" (естественно SAS ищет табличку memname в библиотеки work). Я думаю что Вам следует писать следующим образом "INNER JOIN &lastdsn t5" и сразу полегчает.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37767535
neznau
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RomanFPДобрый день!
Подскажите, плиз, как в SAS EG прописать "взять последнюю таблицу"CNUM" из библиотеки "A_SRV". Моя попытка неудачно прошла...

PROC SQL INOBS=1;

select max(catt(libname,".",memname))
into :lastdsn
from sashelp.vstable
where libname eq 'A_SRV'
and memname like 'CNUM%MR'
;
%put >>> &lastdsn;


CREATE TABLE WORK.TST001(label="TST001") AS
SELECT DISTINCT t1._date_,
t1.uni_id,
t2.acc_n,
t4.Blo_code,
t5.call_dir,
t5.con_type
FROM EBD_MAR t1 LEFT JOIN WORK.MK_BAD t2 ON (t1.con_typ = t2.Code) LEFT JOIN
EBD_MAR_1 t4 ON (t1.acc_n = t4.ACC_N) INNER JOIN memname t5 ON (t1.app_n =
t5.app_n)

;
quit;



Ошибка: ERROR: File WORK.MEMNAME.DATA does not exist.


покажите, что %put выводит.
У вас там like не с проста, видимо в названии таблицы прячется ответ...
...
Рейтинг: 0 / 0
Кубы в SAS
    #37767536
neznau
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex1610Решил попробовать создать куб с помощью rolap сценария. В документации написано используйте NO_NWAY опцию, но примера почему-то нету...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
proc olap cube=mycube
	NO_NWAY
	fact=Mylib.MyFactTable
;
metasvr host=localhost
	port=8561
	protocol=bridge
	userid="sasadm"
	pw="admin"
	repository=Foundation
	olap_schema="OLAP Schema"
;

...



в логе
ERROR: The PROC OLAP statement is missing a cube path.

Если использовать опцию path= то все нормально, но тогда я не вижу разницы между обычным Olap сценарием и Rolap. Растолкуйте пожалуйста или ткните в нужный мануал.

Вообще задумка создать представления таблиц из БД (view) в SAS и по ним построить rolap-куб с помощью proc olap (измерения и таблица фактов построены на основе sql запросов к БД). Интерес чисто академический.

Посмотрите юзер-гайд.
Там даны примеры proc olap-ов, которые можно просто скопировать и подправить "под себя".
Половина вопросов отпадёт.
...
Рейтинг: 0 / 0
Кубы в SAS
    #37767537
neznau
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex1610Решил попробовать создать куб с помощью rolap сценария. В документации написано используйте NO_NWAY опцию, но примера почему-то нету...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
proc olap cube=mycube
	NO_NWAY
	fact=Mylib.MyFactTable
;
metasvr host=localhost
	port=8561
	protocol=bridge
	userid="sasadm"
	pw="admin"
	repository=Foundation
	olap_schema="OLAP Schema"
;

...



в логе
ERROR: The PROC OLAP statement is missing a cube path.

Если использовать опцию path= то все нормально, но тогда я не вижу разницы между обычным Olap сценарием и Rolap. Растолкуйте пожалуйста или ткните в нужный мануал.

Вообще задумка создать представления таблиц из БД (view) в SAS и по ним построить rolap-куб с помощью proc olap (измерения и таблица фактов построены на основе sql запросов к БД). Интерес чисто академический.

Там, кстати, метаданные ещё настроить надо...
...
Рейтинг: 0 / 0
Кубы в SAS
    #37769678
RomanFP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АГ,

Спасибо за ответ. Не получилось у меня добиться желаемого результата. Видимо далек от sql SAS EG
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Кубы в SAS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]