Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Из Куба в SQL-таблицу  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Всем привет.
Есть MDX-запрос, который возвращает набор. Мне необходимо положить его в SQL-таблицу используя VBA.
Пример MDX-запроса:
select	[Measures].[КолвоОпераций] on columns,
 {
 [ВидОперации_].[ВидОперации].&[1], 
 [ВидОперации_].[ВидОперации].&[2]
 } on rows
from [ПрофильСклада]
where [Отделение].[Отделение].&[30]

Его результат:
Вид Операции Колво Операций
погрузка 9564
разгрузка 4587


Таблица на SQL-таблицу:
CREATE TABLE T
(
ВидОперации VARCHAR(32),
КолвоОпераций INT
)


Подскажите как сделать?
8 дек 15, 12:31    [18528952]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
Yagrus2
используя VBA.
Подскажите как сделать?

Создать тему в правильном форуме
8 дек 15, 13:05    [18529150]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Glory
Создать тему в правильном форуме

SSIS пакеты, разве не здесь?
8 дек 15, 13:09    [18529185]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
vba тут при чем ? делаете линкед сервер на ssas запускаете свой запрос через openquery и складыватет в свою таблицу.

Хотя изврат еше тот
8 дек 15, 13:10    [18529200]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
Yagrus2
Glory
Создать тему в правильном форуме

SSIS пакеты, разве не здесь?

А VBA == SSIS у вас что ли ?
8 дек 15, 13:13    [18529224]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Glory
Yagrus2
пропущено...

SSIS пакеты, разве не здесь?

А VBA == SSIS у вас что ли ?

Описался на "A", должно быть VB
8 дек 15, 13:25    [18529337]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Maxx,
Попробую
8 дек 15, 13:26    [18529342]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
Yagrus2
Glory
пропущено...

А VBA == SSIS у вас что ли ?

Описался на "A", должно быть VB

Еще раз - задавайте вопрос в правильном форуме
8 дек 15, 13:26    [18529345]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4900
Yagrus2,

Сделайте Linked Server на SSAS.

Выполняйте MDX запрос через OpenQuery

https://support.microsoft.com/en-us/kb/218592
------------------------------------------
--OPENROWSET for OLAP Server
------------------------------------------


SELECT a.* FROM OpenRowset('MSOLAP','DATASOURCE=myOlapServer; Initial Catalog=FoodMart;',
'SELECT Measures.members ON ROWS,
 [Product Category].members ON COLUMNS
 FROM [Sales]') as a
go

-- Example of MDX with slicing --

SELECT a.* FROM OpenRowset('MSOLAP','DATASOURCE=myOlapServer; Initial Catalog=FoodMart;',
'SELECT	
      { Time.Year.[1997] } ON COLUMNS,
NON EMPTY      Store.MEMBERS ON ROWS
FROM Sales 
WHERE ( Product.[Product Category].[Dairy] )') as a

--------------------------------------------------
-- Linked Server Examples with OPENQUERY
--------------------------------------------------

EXEC sp_addlinkedserver
     @server='olap_server',
     @srvproduct='',
     @provider='MSOLAP',

     @datasrc='server',
     @catalog='foodmart'

go

-- MDX in OPENQUERY --

SELECT * FROM OPENQUERY(olap_server,
'SELECT
	{ Time.Year.[1997] } ON COLUMNS,
NON EMPTY       Store.MEMBERS ON ROWS
FROM Sales
WHERE ( Product.[Product Category].[Dairy])' )
8 дек 15, 14:12    [18529751]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
мигель1
Member

Откуда:
Сообщений: 3236
а куда смотрят на базу. может проще на уровне хранилища сделать инсерт?
8 дек 15, 14:20    [18529853]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Спасибо за подсказку. Данные переливаются. Но появилась проблема с форматированием.
То есть, в мере хранится значение = 0,04 в формате standard.
openquery возвращает данные в текстовом формате.
И в таблицу на SQL-servere попопадает 4.0000000000000001E-2 как строка.

Подскажите можно ли в MDX запросе правильно отформатировать значение, чтоб в таблицу падало значение в нужном формате?
То есть
0,04 а не 4.0000000000000001E-2?
9 дек 15, 13:54    [18535184]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4900
Yagrus2
Спасибо за подсказку. Данные переливаются. Но появилась проблема с форматированием.
То есть, в мере хранится значение = 0,04 в формате standard.
openquery возвращает данные в текстовом формате.
И в таблицу на SQL-servere попопадает 4.0000000000000001E-2 как строка.

Подскажите можно ли в MDX запросе правильно отформатировать значение, чтоб в таблицу падало значение в нужном формате?
То есть
0,04 а не 4.0000000000000001E-2?


TRY_PARSE(f04 AS REAL USING 'en-US'),  
9 дек 15, 14:05    [18535251]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
a_voronin,
Спасибо!
9 дек 15, 14:33    [18535503]     Ответить | Цитировать Сообщить модератору
 Re: Из Куба в SQL-таблицу  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Yagrus2 ,
не вижу проблем
select convert(float, '4.0000000000000001E-2')
9 дек 15, 17:18    [18536720]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить