Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как физически реализируется “Incremental Update” ?
|
|||
|---|---|---|---|
|
#18+
Всем Привет. 1. Вот такой вопрос, когда делаеш Incremental Update Dimension, через Analysis Console, или через DTS таск, новые данные как бы попадают в дименшион. Причем никаких условий в визардах на Incremental Update нет, просто check box. Вопрос в том, откуда OLAP Server знает что данные обновились в таблице, на которой построен дименшион, как он обпределяет что данная строка новая или нет. Напрашивается вывод что как то через индексы, построенные на таблице, но никаких специальных индексов я не видел. Или он у себя на сервере запоминает что-то. Вопрос только что. Возможно состояние последнее значения левела, используемого в дименшине Вот к примеру у меня дименшен построенный на колонке где хрянятся возрастающее значение типа integer. Я предпологаю, что MS Analytical Service у себя в кишках где-то запоминает последнее значение и анализирует только те rows где значение колонки больше запомненого. А если у меня varchar type, что тогда ? Короче не знаю, обьсните народ. 2. Еще вопрос: а если что-то было удаленно из таблицы за прошлые даты, что тогда, придется делать Full Process Dimension и соответственно всего куба в целом, или Incremental Update настолько умен, что исключит несущесвующие данные из дименшиен? 3. Был дименшен, Товар, с двумя левелами, Код Товара и Имя товара, был построен на соответсвующе таблице с двумя колонками (cod_product, product_name). Причем PK включал в себя два поля (cod_product, product_name). Узеры как-то сделали Update колонки product_name, изменили имена некоторых товаров. Теперь в кубе я имею напротив определенных cod_product два значения – новое и старое, причем данные есть только для одного имени, хотя в приложении я всегда ожидаю только одно имя товара после кода товара. Как бы полечить такое безобразие оптимальным образом? Сейчас просто делаю Full Process Dimension and CUBE. Всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2005, 17:09 |
|
||
|
Как физически реализируется “Incremental Update” ?
|
|||
|---|---|---|---|
|
#18+
1. умность заключается в анализе свойств Member Key Column, Member Name Column, Member Keys Unique, Member Names Unique 2. а что мешает провести эксперимент? Члены измерений не удаляются. Факты тоже. Рекомендуется делать отрицательные проводки (если агрегация - сумма). 3. запретить менять юзерам ключевые колонки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 11:15 |
|
||
|
Как физически реализируется “Incremental Update” ?
|
|||
|---|---|---|---|
|
#18+
1. Ничего не скажу... 2. По большому счету таблицы для дименшенов содержат в основном "справочную" информацию (например товары), а справочник дело такое что времени давности не имеет. Ну а если грохнуть запись в такой таблице то придется делать Full Reproccess если были ссылки из фактов. Кричит, что есть попытка удалить значение такоето из измерения такогото хотя данное значение используется в фактах. 3. Если товар имеет структуру (cod_product, product_name) то смысл делить по разным уровням? Ничего удивительного в вышеописанной ситуации. Шо просили так сказать. ИМХО свойствами членов измерений пользоваться надо кагда есть желание/необходимость выводить код/наименование/вес/объем/цвет/запах/вкус..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2005, 20:34 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=32856861&tid=1871915]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 368ms |

| 0 / 0 |
