Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сравнение данных в кубах
|
|||
|---|---|---|---|
|
#18+
Есть следующая задача: Имеются два куба в MS Analysis Services, с одинаковым набором измерений и мер. Необходимо убедится, что в обоих кубах данные абсолютно одинаковые. Мне пришло в голову только последовательно выполнять запросы типа --- select {[Dim1].Members} on columns, {[Dim2].Members} on rows from Cube --- для каждого из кубов по каждой паре измерений, и сравнивать результаты. Я реализовал это на Delphi через ADOQuery, но когда в измерении, выводимом по столбцам, больше 2048 членов, ADOQuery работать перестает. У меня в нескольких измерениях гораздо больше членов, так что этот вариант не подошел. В связи с этим вопрос: как еще можно решить задачу сравнения данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 19:27 |
|
||
|
Сравнение данных в кубах
|
|||
|---|---|---|---|
|
#18+
dmJonnyЕсть следующая задача: Имеются два куба в MS Analysis Services, с одинаковым набором измерений и мер. Необходимо убедится, что в обоих кубах данные абсолютно одинаковые. Мне пришло в голову только последовательно выполнять запросы типа --- select {[Dim1].Members} on columns, {[Dim2].Members} on rows from Cube --- для каждого из кубов по каждой паре измерений, и сравнивать результаты. Я реализовал это на Delphi через ADOQuery, но когда в измерении, выводимом по столбцам, больше 2048 членов, ADOQuery работать перестает. У меня в нескольких измерениях гораздо больше членов, так что этот вариант не подошел. В связи с этим вопрос: как еще можно решить задачу сравнения данных? Для этого достаточно сравнить таблицы фактов :-) Для SQL есть миллион тулзов с помощью которыз это можно сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 19:40 |
|
||
|
Сравнение данных в кубах
|
|||
|---|---|---|---|
|
#18+
через XMLA шлем запрос select dimension0.Members on 0, dimension1.Members on 1, ... dimensionN.Members on N, from Cube1 затем посимвольно сравниваем CellData :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 19:56 |
|
||
|
Сравнение данных в кубах
|
|||
|---|---|---|---|
|
#18+
backfire Для этого достаточно сравнить таблицы фактов :-) Для SQL есть миллион тулзов с помощью которыз это можно сделать. Таблица фактов одна для обоих кубов. Но один куб из них состоит из одной партиции, и процессится всегда весь. А второй куб состоит из нескольких партиций, из которых процессится как правило только одна. При этом часть измерений в нем changing dimension, и нужно проверять, все ли измерения в dimension отразились на всем кубе, а также не напутано ли чего-нить с условием разделения на партиции, которое периодически меняется (чтобы все попало в куб, и ничего не попало несколько раз). "Эталонный" куб нужен только для контроля правильности установок разбиения на партиции, пользователи будут обращаться к разделенному кубу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 19:59 |
|
||
|
Сравнение данных в кубах
|
|||
|---|---|---|---|
|
#18+
олапистчерез XMLA шлем запрос select dimension0.Members on 0, dimension1.Members on 1, ... dimensionN.Members on N, from Cube1 затем посимвольно сравниваем CellData :) А вы прикинули размер XML? Он будет просто немерянный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 20:15 |
|
||
|
Сравнение данных в кубах
|
|||
|---|---|---|---|
|
#18+
dmJonny backfire Для этого достаточно сравнить таблицы фактов :-) Для SQL есть миллион тулзов с помощью которыз это можно сделать. Таблица фактов одна для обоих кубов. Но один куб из них состоит из одной партиции, и процессится всегда весь. А второй куб состоит из нескольких партиций, из которых процессится как правило только одна. При этом часть измерений в нем changing dimension, и нужно проверять, все ли измерения в dimension отразились на всем кубе, а также не напутано ли чего-нить с условием разделения на партиции, которое периодически меняется (чтобы все попало в куб, и ничего не попало несколько раз). "Эталонный" куб нужен только для контроля правильности установок разбиения на партиции, пользователи будут обращаться к разделенному кубу. Если куб бъется на разделы вдоль временной оси, то следует предположить что и проверить достаточно вдоль этой одной оси. Т.е. одномерный RowSet. А что касается изменяющихся измерений, то надеюсь у вас FK между таблицей фактов и измерений есть и схема куба оптимизирована. В этом случае беспокоится о подвохе со стороны измерений не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 20:19 |
|
||
|
Сравнение данных в кубах
|
|||
|---|---|---|---|
|
#18+
backfire Если куб бъется на разделы вдоль временной оси, то следует предположить что и проверить достаточно вдоль этой одной оси. Т.е. одномерный RowSet. Да, согласен. backfire А что касается изменяющихся измерений, то надеюсь у вас FK между таблицей фактов и измерений есть и схема куба оптимизирована. В этом случае беспокоится о подвохе со стороны измерений не стоит. А можно поподробнее - как FK влияет, например, на правильность данных после "перераспределения" членов измерений между членами более высокого уровня? И как на правильность в таком случае влияет оптимизированность схемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 11:01 |
|
||
|
|

start [/forum/topic.php?fid=49&fpage=371&tid=1871818]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 363ms |

| 0 / 0 |
