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

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

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

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

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

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

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

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

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
MSAS 2000: Как подсчитать сумму элементов, входящих только в нижний уровень измерения?
    #33348013
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
многие-ко-многим на AS2K не поддерживаются out of box.

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


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