Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MS AS добавляет "левые" таблицы в куб. / 25 сообщений из 34, страница 1 из 2
29.09.2004, 10:49
    #32715995
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Простой (казалось бы) куб, элементарная звезда. Факты и ключи измерений в одной таблице, имена членов измерений - в других.
В кубе ровно одна таблица - факты. Куб создал, отпроцесировал, работает. Открываю через день дизайнер кубов - а там пяток таблиц (в которых имена членов измерений).
Аналогичная фигня была, когда автоматически добавлялись связи, и нельзя процессить - loop in schema.
Кто нибудь знает как отключить багофичу автоматического добавления таблиц в куб?
...
Рейтинг: 0 / 0
29.09.2004, 11:20
    #32716090
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Ну так никакие они не левые. Если из них берутся данные для измерений они самые что ни на есть правые.
А связи нужно самому просмотреть и откорректировать.
...
Рейтинг: 0 / 0
29.09.2004, 11:32
    #32716132
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Левыми я их назвал исключительно потому, что и без них куб работает. Несомненно они нужны для процесинга измерений, но в самом кубе - они нах надо. Работает как надо и без них.
Насчёт подкоректировать - не проблема если это надо делать один раз, но коректировать приходится при КАЖДОМ открытии куба. И это я ещё сегодня помню какие таблицы "левые", а послезавтра? или в понедельник :-(
Раздражает ещё то, что если просто в СМ поменять одну циферку, то процессить аж целый куб - а это время.
...
Рейтинг: 0 / 0
29.09.2004, 11:58
    #32716229
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Опаньки... Кирдык-мирдык... О чем мы вааще говорим?
Если не военная тайна, то может скриин-шотик с дизайном...
Если измерения из таблицы фактов выдергиваются то понятно в дизайне доп.таблиц не будет и связей не будет.
А если измерения шаровые то таблицы и связи неизбежны как...
И изменение СМ не требует репроцесса, на то он и СМ, то биш "on fly".
...
Рейтинг: 0 / 0
29.09.2004, 12:24
    #32716336
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Если измерения из таблицы фактов выдергиваются то понятно в дизайне доп.таблиц не будет и связей не будет.
А если измерения шаровые то таблицы и связи неизбежны как...


Измерения шаровые, но их ключи вытягиваются из таблицы фактов

И изменение СМ не требует репроцесса, на то он и СМ, то биш "on fly".

Ну дык и прикол в том, что для того чтобы поменять хоть что-то в кубе (хотя бы СМ), его надо открыть дизайнером, потом удалить неожиданно появившиеся таблицы (а это уже изменение структуры), потом уже менять. И неудобство в том, что после удаления таблиц, которые MSAS сам добавил надо обязательно перепроцессить куб.
...
Рейтинг: 0 / 0
05.10.2004, 21:32
    #32724940
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Dmitry Biryukov

Измерения шаровые, но их ключи вытягиваются из таблицы фактов



Это как?
...
Рейтинг: 0 / 0
06.10.2004, 10:23
    #32725253
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
2 Андрей Никифоров

В кубе только Shared Dimensions
У каждого члена измерений есть ключ и имя. Для каждого измерения есть отдельная таблица с ключами (PK) и именами членов. Есть таблица фактов, в которой ссылки (FK) на ключи измерений. Т.е. чтобы строить куб, таблицы измерений не нужны. А An.Man их дробавляет каждый раз при открытии куба
...
Рейтинг: 0 / 0
06.10.2004, 10:47
    #32725314
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Dmitry Biryukov2 Андрей Никифоров

В кубе только Shared Dimensions
У каждого члена измерений есть ключ и имя. Для каждого измерения есть отдельная таблица с ключами (PK) и именами членов. Есть таблица фактов, в которой ссылки (FK) на ключи измерений. Т.е. чтобы строить куб, таблицы измерений не нужны. А An.Man их дробавляет каждый раз при открытии куба

У меня тоже схема куба оптимизирована как и у Вас, но подобного глюка не видел ни разу. Довольно загадочно.

Не затруднит лт вас выложить пару скринов из MSAS админ. до глюка и после,
а также скрин одного из измерений, которое добавляется автоматически.

Кстати, что за железо, OS, Service Packs?
...
Рейтинг: 0 / 0
06.10.2004, 11:27
    #32725444
Андрей Никифоров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Dmitry Biryukov
В кубе только Shared Dimensions
У каждого члена измерений есть ключ и имя. Для каждого измерения есть отдельная таблица с ключами (PK) и именами членов. Есть таблица фактов, в которой ссылки (FK) на ключи измерений. Т.е. чтобы строить куб, таблицы измерений не нужны. А An.Man их дробавляет каждый раз при открытии куба

Простите, но я все равно не понял. Если вас не затруднит, распишите в терминах "таблица-запись" и с примерами данных.

По поводу добавления таблиц. Вы когда добавляли dimensions их делали как star, а не snowflake, не так ли? По идее "лишние" таблицы добавятся, если у вас snowflake.
...
Рейтинг: 0 / 0
06.10.2004, 11:47
    #32725510
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
пока слова, картинки чуть позже
win2k server sp4, msas2k sp3
2хР4 1.7, RAID, 1Gb

Измерения, как оказалось и snowflake и star.
sory.
Но сути это не меняет - все ключи всех членов всех уровней есть в таблице фактов, которая (если это полезно) не таблица, а view на скл-сервере 2к.818
...
Рейтинг: 0 / 0
06.10.2004, 12:02
    #32725556
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
работающий куб
...
Рейтинг: 0 / 0
06.10.2004, 12:03
    #32725561
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
измерение snowflake
...
Рейтинг: 0 / 0
06.10.2004, 12:04
    #32725565
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
куб (см. выше) сохранил, отпроцессировал, закрыл и открыл ещё раз
...
Рейтинг: 0 / 0
06.10.2004, 12:19
    #32725604
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
При переходе на закладку Data выдаёт сообщение
The following tables are not joined to the table ...
Please create appropriate joins
Удаляю "левые" таблицы
Перехожу на закладку Data
Unable to display cube until it has been processed
Что, в принципе, логично т.к. изменился дизайн
Вот и получается что даже при изменении коэффициента в CM приходится ждать несколько минут пока процессится куб :-(
А потом (если не закрывать дизайнер куба), можно менять СM без ре-процессинга. Что опять же логично, ведь дизайн не меняется. Но стоит только закрыть дизайнер куба - см. первый пост :-(
...
Рейтинг: 0 / 0
06.10.2004, 12:54
    #32725717
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Вопрос - а что собссно мешает зафиксировать связи между таблицами?
И что там должно быть связано?
Если проблема что эта связка идет на кустомеров и регионы, то может регионы вынести в отд. view и завязаться из фактов на него?
...
Рейтинг: 0 / 0
06.10.2004, 13:05
    #32725766
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Связать, конечно, ничего не мешает, но зачем?
Во вторых, работает же без связей и "левых" таблиц
В третьих, зачем делать двойную работу: связывать в SQL, а потом ещё и в MS AS.
View был специально построен и джойны в нём сложнее чем =.
(учитываются временн Ы е изменения параметров)

Есть у меня ещё один куб - там джойн добавляется и это приводит к петле, которую MS AS отказывается принимать. Симптомы такие же, структура сложнее. Я думал решив эту проблему - решу и другую.
...
Рейтинг: 0 / 0
06.10.2004, 15:33
    #32726229
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Dmitry BiryukovСвязать, конечно, ничего не мешает, но зачем?
Во вторых, работает же без связей и "левых" таблиц
В третьих, зачем делать двойную работу: связывать в SQL, а потом ещё и в MS AS.
View был специально построен и джойны в нём сложнее чем =.
(учитываются временн Ы е изменения параметров)

Есть у меня ещё один куб - там джойн добавляется и это приводит к петле, которую MS AS отказывается принимать. Симптомы такие же, структура сложнее. Я думал решив эту проблему - решу и другую.

Мне, IMHO, сдается, что вы пытаетесь сами себя перехитрить.
Утверждения типа "работает же без связей и "левых" таблиц" нельзя считать серьезными в IT.

Попробую более аргументированно обосновать мои замечания.
Вы включили в FactTable не только ключи листовых уровней измерения, но и ключи последующих уровней. Спрашивается зачем? Ведь нелистовой уровень связан с записями FactTable не напрямую, а опосредовано, через таблицу листового уровня. Поэтому, мой вам совет. И то что CubeEditor законно ругается на Loop является вполне обоснованным.

Мой совет. Не пытайтеь играть против CubeEditor, играйте на его стороне. Не извращайте таблицу фактов. Это вам ничего не принесет кроме головной боли, что уже свершилось.
...
Рейтинг: 0 / 0
06.10.2004, 15:58
    #32726303
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
В данном случае, вы скорее всего правы, такая таблица фактов - наследие пивотов экселя.
Позже раскажу о похожем случае с джойном, когда будет время доходчиво объяснить предметную область и структуру куба.

Когда я задавал этот вопрос, я думал где-то в опциях есть птичка "Автоматически добавлять related tables"
Ну или в регистри что подкрутить... А если не сделали ещё такого, буду писать памятку на каждый куб что удалять в случае повторного открытия.
Всем откликнувшимся - большое спасибо.
...
Рейтинг: 0 / 0
06.10.2004, 16:28
    #32726426
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Хотя...
попробую продолжить тему: может я уже и БД проектирую не в нормальной форме? Хранилище - точно неправильно, ибо его нет и источником данных является view на SQL-сервере.
Вводная:
таблица продажи:
Продукт
Дата
Кол-во
Продукт - иерархия: ценовой сегмент-брэнд-сам продукт
Необычность в том, что брэнд иногда переходит из одного ценового сегмента в другой.
Предлагаю Вашему вниманию две реализации схемы БД - картинка
У меня - первая (верхняя)
backfireВы включили в FactTable не только ключи листовых уровней измерения, но и ключи последующих уровней. Спрашивается зачем?
Вы уже увидели зачем? Согласен приведённый мною ранее пример не столь илюстративен, но вот в этом случае без него не обойтись, т.к. ПродуктИД не определяет однозначно Сегмент. А вот пара (ПродуктИД, Дата) - определяет, причём условие джойна должно быть ДатаПродажи between ДатаС and ДатаПо.
MS AS не поддерживает такие виды джойнов. (Jurii, а когнос?)
Продукты естественно хочется анализировать по иерархии сегмент-брэнд-продукт. Причем один и тот же продукт может бы представлен как разные листья в дереве членов этого измерения.
...
Рейтинг: 0 / 0
06.10.2004, 16:40
    #32726463
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Ya bi na vashem meste ne vkluchal CenovoiSegment v Ierrarchiyu, a sdelal bi ego nezavisimim izmereniem, kotoroe soedinyaetsya napryamuyu s tablicei faktov. T.o. vi vsegda mozhete posmotret. A kakie brandi kogda i v kakom cenovom diapazone prodavalis.
...
Рейтинг: 0 / 0
06.10.2004, 16:42
    #32726469
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
A ya vam predlagayu vtoruyu schemu, kotoraya v MS AS otrabativaetsya na Ura.
...
Рейтинг: 0 / 0
06.10.2004, 16:48
    #32726491
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
OK.
Есть такое понятие Share Of Segment
SOS = [сумма продаж продукта(или брэнда)] / [сумму продаж сегмента]
Как бы Вы сделали такой CМ если сегмент - отдельное измерение.
Я делаю это чрезвычайно просто
Код: plaintext
[Measures].[Sales] / (Ancestor([BrandsH].CurrentMember, [BrandsH].[Segment]), [Measures].[Sales])
...
Рейтинг: 0 / 0
06.10.2004, 17:22
    #32726585
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Кроме того, клиент - OWC10 и настраивать отдельно фильтры по сегменту и продуктам неудобно.
Пример: пользователь выбрал сегмент prestige, в котором пяток брэндов, в соседнем поле фильтра (продукт) остались все продукты, в том числе и пара сотен брэндов сегментов pid-price и popular.
Или выбрав пару (сегмент, продукт) пользователь рискует получить пустой отчёт.
...
Рейтинг: 0 / 0
06.10.2004, 19:05
    #32726817
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
В моем случае это тоже элементарно.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
WITH 
member [CalendarYear].[Column  1 ] as '([CalendarYear].[All].[2004],[Kunde].CURRENTMEMBER,[Measures].CURRENTMEMBER)*100.0/
([CalendarYear].[All].[2004],[Brand].[TotalMember],[Measures].CURRENTMEMBER)', SOLVE_ORDER= 1 
SET [PeriodSet0] AS ' {[CalendarYear].[All].[2004], [CalendarYear].[All].[2004]}'
SET [PeriodSet1] AS 'FILTER([PeriodSet0], COUNT(INTERSECT(EXCEPT(ASCENDANTS([PeriodSet0].CURRENT.Item(0)),{[PeriodSet0].CURRENT.Item(0)}),[PeriodSet0]))=0)'

SET [RowSet0] AS '{[Brand].[All].children}'
SET [RowSet1] AS 'EXTRACT(NonEmptyCrossjoin([RowSet0],{[Measures].[SalesCount]}, [PeriodSet1], 2),[Brand])'
SET [RowSet2] AS 'topcount([RowSet1],100)'
SET [TotalSet] AS '[RowSet2]'

member [Brand].[TotalMember] AS '[Brand].[All]'
SELECT
{[CalendarYear].[All].[ 2004 ],[CalendarYear].[Column  1 ]} ON COLUMNS,
 CROSSJOIN({[Brand].[All],[RowSet2]},{[Measures].[Sales]})

ON ROWS
FROM SalesCube
WHERE ([PriceSegment].[All].[SegmentX])
...
Рейтинг: 0 / 0
06.10.2004, 19:11
    #32726822
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS AS добавляет "левые" таблицы в куб.
Dmitry BiryukovКроме того, клиент - OWC10 и настраивать отдельно фильтры по сегменту и продуктам неудобно.
Пример: пользователь выбрал сегмент prestige, в котором пяток брэндов, в соседнем поле фильтра (продукт) остались все продукты, в том числе и пара сотен брэндов сегментов pid-price и popular.
Или выбрав пару (сегмент, продукт) пользователь рискует получить пустой отчёт.

Мне проблемы OWC известны - эта поделка годится только для элементарных запросиков на умеренных размерах измерений, т.к. MDX она строит отвратительнейший (такое впечатление, что команда MS AS зажала для OWC команды, набранной наверное из студентов, сведения о привратностях поведения MS AS).
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / MS AS добавляет "левые" таблицы в куб. / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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