Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения? / 7 сообщений из 7, страница 1 из 1
26.10.2005, 12:50
    #33344721
Panky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения?
Здравствуйте!

Есть измерение из двух уровней. Элементы нижнего уровня могут входить в несколько элементов верхнего.

Код: plaintext
1.
2.
3.
4.
5.
Элемент A
   Элемент 1
   Элемент 2
Элемент A
   Элемент 2
   Элемент 3
При подсчете общей суммы для измерения, меры, соответствующие элементу 2 считаются два раза, поэтому итог неверен. А надо, чтобы общая сумма была равна сумме всех элементов нижнего уровня, то есть = Элемент 1 + Элемент 2 + Элемент 3.

Пробовал ставить "Aggregation Usage" измерения в "Bottom level only" - ничего не изменилось.

Как побороть?
...
Рейтинг: 0 / 0
26.10.2005, 13:25
    #33344826
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения?
сделать два одноуровневых измерения
...
Рейтинг: 0 / 0
26.10.2005, 17:43
    #33345847
Panky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения?
Сделал. Не помогло. Видимо проблема в том, что к одному факту может быть привязаны и Элемент А и Элемент Б. Я сделал это через промежуточную таблицу со строками типа
Элемент А - Элемент 1
Элемент Б - Элемент 3
Элемент С - Элемент 1
Элемент С - Элемент 2
и привязал эту таблицу к фактам - и факты, естественно умножились.

Тогда следующий вопрос как их посчитать обратно?
Подозреваю, что это делается через All Members Formula. Но пока знаний не хватает для написания правильного MDXа.
...
Рейтинг: 0 / 0
26.10.2005, 18:46
    #33346051
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения?
PankyСделал. Не помогло. Видимо проблема в том, что к одному факту может быть привязаны и Элемент А и Элемент Б. Я сделал это через промежуточную таблицу со строками типа
Элемент А - Элемент 1
Элемент Б - Элемент 3
Элемент С - Элемент 1
Элемент С - Элемент 2
и привязал эту таблицу к фактам - и факты, естественно умножились.

Тогда следующий вопрос как их посчитать обратно?
Подозреваю, что это делается через All Members Formula. Но пока знаний не хватает для написания правильного MDXа.

вы можете привести DDL для ваших таблиц?
По-моему у вас с дизайном что не в ладах.
Если у вас AS2000, в нем m:n не реализуешь. В AS2K5 - без проблем.
...
Рейтинг: 0 / 0
27.10.2005, 15:00
    #33347814
Panky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения?
Вот приблизительно такие таблицы:

CREATE TABLE [dbo].[AccountMovementFacts] (
[Date] [datetime] NOT NULL ,
[DebitSum] [money] NOT NULL ,
[CompanyKey] [int] NOT NULL
CONSTRAINT [FK_AccountMovementFacts_Companies] FOREIGN KEY
(
[CompanyKey]
) REFERENCES [dbo].[Companies] (
[CompanyKey]
),
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Companies] (
[CompanyKey] [int] IDENTITY (1, 1) NOT NULL ,
[CompanyId] [int] NOT NULL ,
[CompanyName] [nvarchar] (255)
CONSTRAINT [PK_Companies] PRIMARY KEY CLUSTERED ([CompanyKey]) ON [PRIMARY]
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[CompanyToCompanyTypeBridge] (
[CompanyKey] [int] NOT NULL ,
[CompanyTypeKey] [int] NOT NULL ,
[Weight] [float] NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[CompanyTypes] (
[CompanyTypeKey] [int] IDENTITY (1, 1) NOT NULL ,
[CompanyTypeName] [nvarchar] (255)
CONSTRAINT [PK_CompanyTypes] PRIMARY KEY CLUSTERED
([CompanyTypeKey]) ON [PRIMARY]
CONSTRAINT [FK_CompanyToCompanyTypeBridge_Companies] FOREIGN KEY ([CompanyKey]) REFERENCES [dbo].[Companies] ([CompanyKey]),
CONSTRAINT [FK_CompanyToCompanyTypeBridge_CompanyTypes] FOREIGN KEY ([CompanyTypeKey]) REFERENCES [dbo].[CompanyTypes] ([CompanyTypeKey])) ON [PRIMARY]
GO

Такую структуру я почерпнул из книжки Кимбала. Поле Weight в таблице связи многие-ко-многим, если я правильно его понял, равно 1 / "Количество типов компаний, привязанных к данной компании".
Но MSAS2000 не ругался ни в момент добавления и связки таблиц при редактировании куба, ни в момент его обработки. Всё стерпел, только неправильно посчитал.
...
Рейтинг: 0 / 0
27.10.2005, 15:59
    #33348013
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения?
многие-ко-многим на AS2K не поддерживаются out of box.

1. Берите AS2K5
2. Читайте здесь
...
Рейтинг: 0 / 0
27.10.2005, 16:37
    #33348163
Panky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения?
Спасибо. Пошел думать.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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