воскресенье, 12 декабря 2010 г.

MultiProvider vs InfoSet

Тонкости различий между мультипровадером (MultiProvider) и инфо-набором (InfoSet).

MultiProvider суть оператор UNION языка SQL - хорошо описано тут http://www.sql.ru/docs/sql/u_sql/ch14.shtml
По сути он выполняет объединение (сложение) данных из различных источников:

В SAP BW часто используется для построения отчетов типа план факт.


InfoSet суть оператор JOIN языка SQL - возвращает пересечение данных:

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

Пример:
DP1:

Материал
Количество
Валенки
10
Матрешки
20
Лапти
12



DP2:

Материал
Поставщик
Валенки
Иванов
Матрешки
Петров
Шапки-Ушанки
Сидоров


MultiProvider = DP1 union DP2:

Материал
Количество
Поставщик
Валенки
10
Иванов
Матрешки
20
Петров
Лапти
12
#
Шапки-Ушанки
#
Сидоров


InfoSet = DP1 join DP2:

Материал
Количество
Поставщик
Валенки
10
Иванов
Матрешки
20
Петров


*в примере ключом является поле материал.