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

В Polymatica Analytics есть три предустановленных шаблона выборки и возможность создания пользовательской выборки. Функциональность выборки доступна через контекстное меню факта:

В контекстном меню «Выборка» предусмотрено три шаблона выборок:

Кнопка-ссылка «Новая выборка» открывает окно создания пользовательской выборки:

Условия для выборки задаются в формуле с помощью кнопок «Размерность», «Факты», «Элемент», кнопок для применения функций и операторов, а также с помощью ввода значений с клавиатуры. 

В формуле выборки необходимо задавать логические выражения. Использование арифметических выражений не предусмотрено.

Для создания простой формулы вы можете использовать следующий процесс:

  1. Укажите верхнюю размерность. Кнопка «Размерность» позволяет добавить в формулу любую верхнюю размерность из выпадающего списка. В поле формулы появится регулярное выражение типа Размерность, (выберите элемент). 

    Если при расчете используются не только факты, но и верхние размерности, то сначала указывается размерность, после чего будет предложено выбрать элемент. После этого нужно вставить оператор AND и выбрать факт. Если используются только факты, следует начать с шага 3.

  2. Укажите элемент верхней размерности. Кнопка «Элемент» позволяет добавить в формулу любой элемент верхней размерности из выпадающего списка:

    Кнопки «Размерность» и «Элемент» доступны только при наличии в рабочей области мультисферы верхней размерности. Как показано на рисунке ниже, кнопки активны, если в рабочей области мультисферы присутствует верхняя размерность.

  3. Укажите факт для элемента верхней размерности (если верхней размерности нет, то просто факт). Кнопка «Факты» позволяет добавить в формулу любой исходный факт из выпадающего списка:

    Если при расчете используются не только факты, но и верхние размерности, то на шаге 3 после выбора размерности и элемента нужно вставить оператор AND и выбрать факт.

  4. Задайте условие. Для задания условия выборки можно использовать следующие функции и операторы:

    Кнопка

    Значение

    Функция

    Синтаксис

    top(n)

    Выборка наибольших значений

    Возвращает n наибольших значений выбранного факта.

    top([факт 1];n), например: top([Депозит];10)

    total

    Всего

    Возвращает значение «Всего» выбранного факта.

    total([факт 1]), например: total([Депозит])
    В формуле выборки функцию следует использовать не изолированно, а в составе логического выражения. Например: формула total([Скидка])>[Покупки] оставит в таблице только те строки, значения факта «Покупки» в которых меньше, чем итоговая скидка.

    corr

    Корреляция

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

    corr([факт 1];[факт 2]), например: corr([Депозит];[Оплата])

    В формуле выборки функцию следует использовать не изолированно, а в составе логического выражения. Например: corr([Депозит];[Оплата])>0,5

    if

    Если

    Выполняет проверку условия.

    if(условие;результат 1, если истинно; результат 2, если ложно)

    Чтобы отобразить строки, удовлетворяющие условию, и скрыть строки, не удовлетворяющие условию, на месте результата 1 нужно ввести 1, а на месте результата 2 нужно ввести 0. Например: if([Оплата]>1000000;1;0)
    При необходимости скрыть строки, удовлетворяющие условию, и отобразить строки, не удовлетворяющие условию, нужно поменять 1 и 0 местами:
    if([Оплата]>1000000;0;1)

    not

    Не

    Меняет условие на противоположное.

    Например, not([Депозит]>0) скроет все строки, где значения факта [Депозит]>0.
    Также можно использовать данную функцию вместе с if:
    if(not(условие);результат 1, если истинно;результат 2, если ложно).
    В таком случае if(not([Оплата]>1000000);1;0) отобразит только те строки, в которых значения факта [Оплата] не превышают 1000000. При использовании if(not([Оплата]>1000000);0;1) такие строки наоборот будут скрыты.

    and

    И

    Проверяет выполнение нескольких условий.

    (Условие 1)and(Условие 2), например: ([Оплата]>=1000000)and([Комиссия]=0)

    or

    Или

    Проверяет выполнение хотя бы одного из условий.

    (Условие 1)or(Условие 2), например:

    ([Оплата]>=1000000)or([Комиссия]=0)

    ()

    Скобки

    Используются для изменения порядка вычислений.

    Например: ([Итоговая сумма]-[Оплата])*100/[Комиссия]>=100000

    =

    Равно

    Возвращает значения фактов, которые равны друг другу или указанному значению.

    Например: [Комиссия]=0

    +

    Плюс

    Возвращает сумму значений.

    Например: [Стоимость товаров]+[Комиссия]!=[Итоговая сумма]

    -

    Минус

    Возвращает разность значений.

    Например: [Цена конкурента]-1 < [МРЦ]

    *

    Умножить

    Возвращает произведение значений.

    Например: [Тариф]*[Понижающий коэффициент]>=500000

    /

    Разделить

    Возвращает частное значений.

    Например: [Лучшая цена]/[НМЦК]>=0,9

    < 

    Меньше

    Возвращает значения факта, которые меньше указанного.

    Например: [Комиссия]<0

    > 

    Больше

    Возвращает значения факта, которые больше указанного.

    Например: [Комиссия]>0

    !=

    Не равно

    Возвращает значения факта, которые не равны указанному.

    Например: [Оплата]!=[Итоговая сумма]

    <=

    Меньше или равно

    Возвращает значения факта, которые меньше или равны указанному.

    Например: [Комиссия]<=0

    >=

    Больше или равно

    Возвращает значения факта, которые больше или равны указанному.

    Например: [Комиссия]>=0

    is null

    Равно пустому значению

    Возвращает пустые значения факта.

    Например: is_null(Комиссия)

    is not null

    Не равно пустому значению

    Возвращает значения факта, КРОМЕ пустых.

    Например: not(is_null(Комиссия))

    Числовые значения можно вводить с клавиатуры. Для указания дробной части числа используйте точку.

    Введенная формула:

     

  5. После того, как условия будут заданы, необходимо нажать кнопку «Создать». Если формула задана корректно, произойдет перестройка мультисферы согласно формуле. Если формула некорректна, поле формулы будет выделено красным и выборка применена не будет.

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

В случае ввода в поле для формулы некорректных данных отображается окно с ошибкой:

Выборка с учетом вложенных размерностей

Если в мультисфере вынесено несколько размерностей влево, в зависимости от вида факта и типа расчета выборка работает следующим образом:

Выборка для сложных фактов с расчетом по уровню требует вынесения не менее двух размерностей влево.