powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / System.OutOfMemoryException
3 сообщений из 3, страница 1 из 1
System.OutOfMemoryException
    #39441592
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть MDX-запрос.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
WITH 
MEMBER [Measures].[Вычисляемая мера Средняя из Атрибута 9] AS 
    (CASE
	WHEN [Измерение1].[Атрибут9].CurrentMember is [Измерение1].[Атрибут9].&[1] then 5
	WHEN [Измерение1].[Атрибут9].CurrentMember is [Измерение1].[Атрибут9].&[2] then 20
	WHEN [Измерение1].[Атрибут9].CurrentMember is [Измерение1].[Атрибут9].&[3] then 40
	WHEN [Измерение1].[Атрибут9].CurrentMember is [Измерение1].[Атрибут9].&[4] then 125
	ELSE	NULL 
    END)

SELECT
	{
        //[Measures].[Вычисляемая мера Средняя из Атрибута 9],	
	[Measures].[Мера1]	
	}
 ON 0,
NON EMPTY	
	[Измерение2].[Атрибут].[Атрибут] *
	[Измерение1].[Атрибут1].[Атрибут1] *	
	[Измерение1].[Атрибут2].[Атрибут2] *
	[Измерение1].[Атрибут3].[Атрибут3] *
	[Измерение1].[Атрибут4].[Атрибут4] *
	[Измерение1].[Атрибут5].[Атрибут5] *
	[Измерение1].[Атрибут6].[Атрибут6] *
	[Измерение1].[Атрибут7].[Атрибут7] *
	[Измерение1].[Атрибут8].[Атрибут8] *
	[Измерение1].[Атрибут9].[Атрибут9]
ON 1 
FROM
	(SELECT ([Время].[Месяц].&[2017-02-01T00:00:00] )  ON 0 FROM [Profit])

Выгружается за 37 секунд. 27 000 строк.

Если включить меру [Measures].[Вычисляемая мера Средняя из Атрибута 9], то выдает сообщение "Выдано исключение типа "System.OutOfMemoryException"."

Пишу MEMBER по другому
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
MEMBER [Measures].[Вычисляемая мера Средняя из Атрибута 9] AS 
    (CASE      	
	WHEN [Измерение1].[Атрибут9].CurrentMember.Item(0).Name =  "до 10"  then 5
	WHEN [Измерение1].[Атрибут9].CurrentMember.Item(0).Name =  "от 10 до 30" then 20
	WHEN [Измерение1].[Атрибут9].CurrentMember.Item(0).Name =  "от 31 до 50" then 40
	WHEN [Измерение1].[Атрибут9].CurrentMember.Item(0).Name =  "от 51 до 200" then 125
	ELSE	NULL 
    END)

Также все

Возможно функция CurrrentMember кушает не мало памяти или что то другое. Все таки возможно ли как то обойти эту ошибку? Как то по другому написать MEMBER?
...
Рейтинг: 0 / 0
System.OutOfMemoryException
    #39441840
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

сколько раз говорить?
если подсказок не делать, то и поведение FE тупое!!!
беда в
[Измерение1].[Атрибут1].[Атрибут1] *
[Измерение1].[Атрибут2].[Атрибут2] *
[Измерение1].[Атрибут3].[Атрибут3] *
[Измерение1].[Атрибут4].[Атрибут4] *
[Измерение1].[Атрибут5].[Атрибут5] *
[Измерение1].[Атрибут6].[Атрибут6] *
[Измерение1].[Атрибут7].[Атрибут7] *
[Измерение1].[Атрибут8].[Атрибут8] *
[Измерение1].[Атрибут9].[Атрибут9]
количество атриб 1 * на кол-во атриб2 * на кол-во атриб 3 и тд...
легенду про шахматы помните??? так это помощнее будет..

без вычисляемой меры срабатывает быстро, т.к. FE практически не зайдействовано, а SE выдергивает только имеющиеся комбинации.

при включении вычисляемой меры, FE не откуда взять информацию что ему конкретное пересечение считать не надо, т.к. оно не существует (из формулы этого не следует). поэтому FE предварительно пытается сделать ВСЕ комбинации этих атрибутов и для КАЖДОЙ комбинации выполнить вычисление.
...
Рейтинг: 0 / 0
System.OutOfMemoryException
    #39442090
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HAVING спасает
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / System.OutOfMemoryException
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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