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

Откуда:
Сообщений: 2029
Здравствуйте!

Есть SQL-запрос с OpenRowset, который подключается к OLAP. Но не запускается, пишет "строка символов, который начинается с "SELECT
{[Measures].[Отгрузки шт],
[Measures].[Возвраты шт],
[Measures].[Реализация ", - слишком длинный. Максимальная длина составляет 8000."

Как можно увеличить длину?
12 мар 18, 13:08    [21249424]     Ответить | Цитировать Сообщить модератору
 Re: Строка символов  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
исходя из того куска запроса, что вы привели... попробовать использовать named sets, например.
12 мар 18, 13:54    [21249665]     Ответить | Цитировать Сообщить модератору
 Re: Строка символов  [new]
ferzmikk
Member

Откуда:
Сообщений: 2029
+SQL-запрос
SELECT	
	CAST(F1."[Торговые точки].[Код ТТ].[Код ТТ].[MEMBER_CAPTION]" AS VARCHAR(20)) AS [Код ТТ],
	CAST(F1."[Продукция].[Код продукции].[Код продукции].[MEMBER_CAPTION]" AS VARCHAR(20)) AS [Код продукции],	
	CONVERT(nvarchar(10), F1."[Время].[Дата].[Дата].[MEMBER_CAPTION]" , 104) AS [Дата],
	F1."[Measures].[Отгрузки шт]" AS [Отгрузки шт],
	F1."[Measures].[Возвраты шт]" AS [Возвраты шт],	
	F1."[Measures].[Реализация шт]" AS [Реализация шт]	
	FROM OPENROWSET(
	'MSOLAP',
	'Provider=MSOLAP.3;...',
	'SELECT
		{[Measures].[Отгрузки шт],
		[Measures].[Возвраты шт],		
		[Measures].[Реализация шт]}
	ON 0,
	NON EMPTY		
		[Торговые точки].[Код ТТ].[Код ТТ]*
		[Продукция].[Код продукции].[Код продукции]*		
		[Время].[Дата].[Дата]
	ON 1
	FROM
		(SELECT
			([Время].[Дата].&[2017-07-01T00:00:00]:[Время].[Дата].&[2018-03-11T00:00:00],			
			{[Торговые точки].[Код ТТ].&[00001грд],[Торговые точки].[Код ТТ].&[00002грд],[Торговые точки].[Код ТТ].&[00003грд],[Торговые точки].[Код ТТ].&[000004грд],
                        ...
			[Торговые точки].[Код ТТ].&[00197грд],[Торговые точки].[Код ТТ].&[00198грд],[Торговые точки].[Код ТТ].&[00199грд],[Торговые точки].[Код ТТ].&[00200грд]}
			) ON 0
			FROM PROFIT)'
	) AS F1

В MDX-запросе приходится писать большой список ТТ, так как у этого списка отсутствует общий признак.
12 мар 18, 14:23    [21249792]     Ответить | Цитировать Сообщить модератору
 Re: Строка символов  [new]
ferzmikk
Member

Откуда:
Сообщений: 2029
Дедушка
исходя из того куска запроса, что вы привели... попробовать использовать named sets, например.

Именованный сет не будет работать в субкубе
12 мар 18, 14:27    [21249811]     Ответить | Цитировать Сообщить модератору
 Re: Строка символов  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
ferzmikk
Именованный сет не будет работать в субкубе
в вашем первом посте ничего про субкубы нет.
- формировать вЕсь запрос динамикой в переменную (max) и далее exec
- отказаться от openrowset и перейти на exec at (так же через переменную max)
12 мар 18, 14:43    [21249865]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить