Поделиться через


Слияние секций, имеющих различные срезы данных

При слиянии секций, для которых в мастере секционирования заданы срезы данных, в результате может получиться секция, содержащая после обработки непредвиденные, неправильные данные. Чтобы избежать этого, можно создать фильтр, задающий данные в получающейся в результате секции.

Использование фильтров для исключения дублирования данных

Например, куб, содержащий сведения о трех безалкогольных напитках, содержит три секции, использующие одну и ту же таблицу фактов. Эти секции имеют срезы данных, основанные на каждом из продуктов. Секция 1 содержит данные о [ColaFull], секция 2 содержит данные о [ColaDecaf], а секция 3 содержит данные о [ColaDiet]. При слиянии секции 3 в секцию 2 данные в получающейся в результате секции (секции 2) правильны, а данные куба являются точными. Однако при обработке секции 2, если в ней нет фильтра, то ее содержимое может определяться «родительским» элементом элементов на уровне продуктов. Этот «родительский» элемент [SoftDrinks] также включает [ColaFull], продукт в секции 1. При обработке секции 2 будет загружена секция с данными для всех безалкогольных напитков, включая [ColaFull]. После этого куб будет содержать дублирующиеся данные для [ColaFull] и возвращать неправильные данные конечным пользователям.

В этом примере после слияния секции 3 в секцию 2 можно ввести фильтр, например ("Product" = 'ColaDecaf' OR "Product" = 'ColaDiet'), в получающуюся в результате секцию 2, чтобы указать, что из таблицы фактов будут извлекаться только данные о [ColaDecaf] и [ColaDiet], а данные, относящиеся к [ColaFull], будут исключены. Или можно указать фильтры для секции 2 и секции 3 при их создании, и эти фильтры будут скомбинированы во время процесса слияния. В любом случае, после обработки секции куб не будет содержать дублирующихся данных.

См. также

Основные понятия