Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Выборочное суммирование, как? / 9 сообщений из 9, страница 1 из 1
21.12.2005, 17:50
    #33450129
Halo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
Как сделать так, чтобы вместо Grand Total = 150 во столбце Rsh приведенной ниже таблицы
Код: plaintext
1.
Код: plaintext
1.
2.
3.
4.
5.
6.
                Rsh  Money
Неделимое ( 6 )	 60      80 
Передача ( 3 )	 30      50 
Продажа ( 2 )	 30      40 
Услуги ( 1 )	 30      10 
-----------
Grand Total	 150    180 

получить Grand Total = 90 (то есть сумму первой и, например, 2 строк)
Код: plaintext
1.
Код: plaintext
1.
2.
3.
4.
5.
6.
                Rsh  Money
Неделимое ( 6 )	 60     80 
Передача ( 3 )	 30     50 
Продажа ( 2 )	 30     40 
Услуги ( 1 )	 30     10 
-----------
Grand Total	 90     180 

при этом сумма в столбце Money не должна измениться и остаться равной 180?

-----------
Измерение Dim:
Код: plaintext
1.
Код: plaintext
1.
2.
3.
4.
5.
ID  Name              isIncludeDataInAggregation
 1    Неделимое ( 6 )	  1 
 2    Передача ( 3 )	  1 
 3    Продажа ( 2 )	          0 
 4    Услуги ( 1 )            0  

Таблица фактов:
Код: plaintext
1.
Код: plaintext
1.
2.
3.
4.
5.
IDDim  Rsh  Money
 1        60     80 
 2        30     50 
 3        30     40 
 4        30     10 
...
Рейтинг: 0 / 0
21.12.2005, 20:37
    #33450528
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
есть такое свойство уровня - Unary Operators
для первых двух членов поставьте +, для остальных ~
или вам это надо динамически считать и каждый раз по разному?
тогда про ф-ю VisualTotal почитайте
...
Рейтинг: 0 / 0
23.01.2006, 10:13
    #33496563
Halo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
Попробовал менять unary operators - это не совсем то, что нужно. Ставлю у первых двух - "+", а у третьего и четвертого - "~". Столбец "Rsh" считается верно, а вот Money - нет. В сумме Money не учитываются третий и четвертый мембер. А мне необходимо, чтобы они учитывались в общей сумме.

Помогите плс, всю голову сломал уже.
...
Рейтинг: 0 / 0
23.01.2006, 12:32
    #33496990
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
А что если определить CM

Код: plaintext
1.
2.
3.
create calculated member [Measures].[Rsh_special] AS

iif ([Measures].CurrentMember is [Measures].Rsh AND 
     [Dim].CurrentMember is [Dim].[All], SUM({/*здесб перечислить тех членов, которых надо суммировать*/},[Measures].Rsh), [Measures].Rsh)

кстати для какого AS делаете?
...
Рейтинг: 0 / 0
23.01.2006, 13:02
    #33497097
Беляев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
Можете определить calculated cell, тогда ваши извращения получатся прямо в measure Rsh

Владислав Беляев
...
Рейтинг: 0 / 0
23.01.2006, 13:08
    #33497127
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
БеляевМожете определить calculated cell, тогда ваши извращения получатся прямо в measure Rsh

Владислав Беляев

Только для этого надо еще иметь Enterprise Edition, ecли речь идет о AS2000
...
Рейтинг: 0 / 0
23.01.2006, 17:57
    #33498082
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
тогда, имхо, надо в таблице фактов добавить поле rsh*isIncludeDataInAggregation
...
Рейтинг: 0 / 0
23.01.2006, 18:42
    #33498190
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
Dmitry Biryukovтогда, имхо, надо в таблице фактов добавить поле rsh*isIncludeDataInAggregation

Молодец, самое "убойное" решение. т.е. классное.
...
Рейтинг: 0 / 0
25.01.2006, 09:08
    #33501349
Halo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборочное суммирование, как?
backfireА что если определить CM

Код: plaintext
1.
2.
3.
create calculated member [Measures].[Rsh_special] AS

iif ([Measures].CurrentMember is [Measures].Rsh AND 
     [Dim].CurrentMember is [Dim].[All], SUM({/*здесб перечислить тех членов, которых надо суммировать*/},[Measures].Rsh), [Measures].Rsh)

кстати для какого AS делаете?

AS2000 - Enterprise Edition.
Попробовал предложенный Вами вариант с CM и он заработал! Внес небольшие изменения в код, убрав из IIF [Measures].CurrentMember is [Measures].Rsh. В итоге получился такой кусок кода:

Код: plaintext
1.
2.
create calculated member [Measures].[Rsh_special] AS

iif ([Dim].CurrentMember is [Dim].[All], SUM({[Dim].[Subtariff].&[Неделимое ( 6 )], [Dim].[Subtariff].&[Передача ( 3 )]},[Measures].Rsh), [Measures].Rsh)

Суммирование на верхних уровнях проходит как надо, на какие-либо подводные камни пока не наткнулся.

Большое спасибо всем за участие!
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Выборочное суммирование, как? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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