Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Уже разочаровался в поисках решения, поэтому обращаюсь к специалистам с таким вопросом: в хранилище есть таблица остатков в разряженном виде (из-за количества записей около 100 миллионов записей в свернутом виде такой способ хранения является единственным воплотимым в хранилище). Столбцы таблицы n_daily_rests : Код: plaintext Код: plaintext 1. 2. Итак, теперь у меня стоит задача предоставить доступ к этой таблице через Microstrategy. Как известно, перед добавлением такой таблицы в MSTR, необходимо ее развернуть . Конечно, можно сделать простой View , но тогда, по словам создателей хранилища, если количество желающих обратиться к такой View по всем магазинам за весь период превысит одного пользователя, сервер зависнет. Со стороны создателей хранилища были предложены два варианта решения, однако как реализовать из в Microstrategy, мне пока не понятно: Вариант 1. Параметризованные View. В хранилище создается параметризованная View V_MSTR_OST . Перед тем, как обратиться к V_MSTR_OST , Microstrategy должна запустить строку инициализации этой View по установленному пользователем фильтру. Например, если пользователь выбрал в фильтре отчета или через Promt два магазина Shop IN (43,44) , а так же выбрал фильтр по времени с 02.10.2005 по 16.10.2005 , то перед обращением к V_MSTR_OST должен выполниться следующий код: Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Есть ли у кого идеи или опыт работы с такими случаями в Microstrategy. Есть ли шансы реализовать такую схему через Microstrategy? Есть ли вариант еще до генерации финального SQL произвести инициализацию фильтра остатков по выбранному фильтру? Вариант 2. Разворачивающие SELECT. Производим прямое обращение к таблице остатков, пересекая её с сгенерированным по фильтру пользователя календарем: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. В этом случае сложность состоит в передаче в этот запрос фильтра по времени для генерации таблицы-календаря. Итак вопрос, сталкивался кто-нибудь из Вас с такой задачей, и какие здесь могут быть пути реализации доступа к остаткам? Принимаются любые идеи. Заранее большое спасибо. P.S. Все решения по созданию такой сложной структуры в ИХ примались исходя из того, что в таблице N_DAILY_RESTS порядка 100 миллионов записей. Поэтому для оптимизации запросов были придуманы различные методы ускорения работы, такие как вспомогательные календари и прочее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:27 |
|
||
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
Идею с инициализацией view для каждого отчета советую сразу отклонить - это не промышленное решение. Затем все пользователям объяснять последовательность действий при создании отчета с одной определенной метрикой... Советую пойти по классическому решению - хранить остаток неаддитивным способом на каждую дату изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:41 |
|
||
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
Вообще-то хорошо бы назвать версию MSTR и на чём сделано хранилище. Пробовали истользовать разбиения, от СУБД или MSTR? Если да, то даёт ли это какой-то выйгрыш? Задача с остатками неоднократно разбиралась на этом форуме, может быть не в приложении к MicroStrategy. Вы смотрели эти топики7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:49 |
|
||
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
MSTR FanСоветую пойти по классическому решению - хранить остаток неаддитивным способом на каждую дату изменения. А это разве даст значение остатка на дату, когда он не меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 12:52 |
|
||
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
Виктор СаковичА это разве даст значение остатка на дату, когда он не меняется. Используя view легко извлекается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 14:17 |
|
||
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
MSTR FanИспользуя view легко извлекается. Если view, то конечно. Я так и не понял, пробовал ли автор топика просто сделать такой view. Это же проще всего. Вопрос в том, что получится по производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 14:59 |
|
||
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
Виктор, я тоже считаю что view это проще всего. 2 infoman2001: Вот пример для простейшей таблицы с остатками на каждую дату изменения: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 15:25 |
|
||
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
Системы: Oracle10g, MSTR 8.01. Тестируем снова. В прошлый раз ничем хорошим это не кончилось. Спасибо, вскоре отпишусь как успехи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 15:26 |
|
||
|
Использование разряженных таблиц в Microstrategy
|
|||
|---|---|---|---|
|
#18+
infoman2001Системы: Oracle10g, MSTR 8.01. Тестируем снова. В прошлый раз ничем хорошим это не кончилось. Спасибо, вскоре отпишусь как успехи. А чем плохим закончилось? А если так? CREATE VIEW n_daily_rest_all AS SELECT A1.Articul, A1.Shop, A2.calendar_date, A1.REM FROM n_daily_rest A1, calendar A2 WHERE A2.calendar_date < A1.DateEnd AND A2.calendar_date>=A1.DateBegin ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2006, 16:00 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=33777244&tid=1870001]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
94ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 417ms |

| 0 / 0 |
