SQL OLAP Cube и измерение

В Windows Server 2008 с использованием SQL Server 2005, Visual Studio и служб аналитики SQL Server я создал куб OLAP.

Сценарий типичного магазина с продажей товаров, клиентов и агентов.

Куб состоит из таблицы фактов tblVendite (данные о продажах) и измерений, основанных на представлениях sql.

ПРИМЕЧАНИЕ: я попытался встроить скриншот сюда, но он будет изменен и не будет очищен, поэтому я разместил их на безопасном сайте, чтобы просмотреть его:

СКРИНШОТ: структура куба

  • Фактическая таблица tblVendite (продажа) > ПК: CdArticolo (IDProduct)
  • ИЗМЕРЕНИЕ Продотти (produtcs)
  • DIMENSION Calendario (календарь)
  • DIMENSION Agenti (агенты)
  • DIMENSION Clienti (заказчик)

Просмотр куба с основными фильтрами: календарь, клиент / агент, продукты, бренд... все работает нормально

Теперь мне нужно предоставить новую функцию, такую ​​как:Сравнение "самого продаваемого бренда" всей компании с продажей каждого агента, чтобы увидеть, как он продает этот бренд.

Итак, я сделал новую таблицу и связанный вид: vwMarcheOrd (самый продаваемый бренд)

Настольный бренд продаж предварительно заполнен sp и содержат 1 запись для каждого бренда (CdMarca - Position - Description порядок по позиции)

ПРИМЕЧАНИЕ: от vwMarcheOrd я не могу иметь прямую ссылку на таблицу фактов, потому что ПК CdMarca и это не присутствует, поэтому мне нужно "соединить" вид CdMarca и получить CdArticolo связать таблицу фактов

Размер и атрибуты для Brand а также Top Brand:

СКРИНШОТ: размер куба

ПОСМОТРЕТЬ КУБ И ПРОБЛЕМУ

Добавление измерения Brand(1) к полям строки результат правильный, но если я добавлю Top Brand(2) неверно и многие бренды отсутствуют (но они существуют)

СКРИНШОТ: просмотр Top Brand

Итак, мои вопросы 2:

  1. Что я пропустил или неправильно или неправильно с Top Brand Размер?
  2. How i can display all records Top Brand в полях строк, даже если агент не продал ни одного предмета этой марки (пустая строка)?

ps я также попытался создать измерение, основанное только на vMarcheOrd, а затем создать ссылочную связь с таблицей Product, чтобы соединить CdMarca > CdArticolo > Fact Table, но результат тот же

Заранее спасибо, кто действительно может помочь мне решить эту проблему, которая блокирует меня на протяжении многих дней

2 ответа

Решение

Из того, что я понимаю, похоже, что лучший бренд со временем может измениться. Это означает, что вам нужно как-то отслеживать это с течением времени. На мой взгляд, самый простой способ сделать это - добавить TopBrandKey в таблицу фактов и напрямую присоединить измерение бренда к таблице фактов. Таким образом, отслеживание времени выполняется для вас в таблице фактов. Когда появляются новые записи, вы должны найти ключ к бренду и добавить его в таблицу фактов. Я не думаю, что у вас это получится, потому что у проданного продукта не будет бренда, который является лучшим (это две разные вещи).

Чао лука:)

мне кажется, что у вас нет правильных отношений атрибутов между атрибутами в вашем кубе.

Я вижу, что вы используете BIDS 2005, с которым я не очень хорошо знаком (в 2008 году было бы легче помочь), но вам нужно установить отношения между Prodoti -> Brand -> top brand

Вы можете сделать это с помощью этих знаков + на атрибутах под именем измерения.

Другие вопросы по тегам