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

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

Контекстное меню «Выборка»

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

  • Скрытие строк с 0 и Null для выбранного факта;
  • Скрыть строки, где значения всех фактов равны 0 и/или Null;
  • Скрыть строки, где значение одного из фактов равно 0 или Null.

    Информация

    Если колонок факта несколько (например, присутствует верхняя размерность), шаблон учитывает все колонки.

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

Окно «Выборка»

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

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

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

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

    Кнопка «Размерность»

    Примечание

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

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

    Кнопка «Элемент»

    Внимание

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

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

    Кнопка «Факты»

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

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

    Кнопка

    Значение

    Функция

    Синтаксис

    top(n)

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

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

    В данной версии программы функция top(n) не работает. Вместо нее рекомендуется использовать функцию top_fetch.

    1. Нажать на кнопку top(n). В поле для ввода формулы поставить курсор между словом top и открывающей скобкой и ввести с клавиатуры _fetch:

    2. В полученной конструкции top_fetch(выберите факт;) нажать на «выберите факт» и выбрать факт, среди значений которого будут отбираться наибольшие.

    3. После точки с запятой ввести требуемое количество наибольших значений факта:

    4. Нажать на кнопку «Создать».

    Особенности использования функции top_fetch:

    • При наличии более одной размерности слева функция выбирает по N наибольших значений факта, соответствующих элементам последней вложенной размерности, для каждого элемента ее родительской размерности. Например, при наличии в таблице левых размерностей «Категория покупки» и «Номер чека» и факта «Сумма продажи» формула top_fetch(Сумма продажи;2) оставит в выборке строки, соответствующие двум чекам с наибольшей суммой продажи внутри каждой категории покупки.
    • При наличии верхних размерностей функция отбирает строки с учетом значений факта, соответствующих последней вложенной верхней размерности. Например, при наличии в таблице левой размерности «Категория покупки», верхних размерностей «Год», «Квартал», «Месяц» и факта «Сумма продажи» формула top_fetch(Сумма продажи;2) будет отбирать категории покупки с наибольшей суммой продажи, рассматривая значения факта в столбцах месяцев.
    • Функция отбрасывает строку, только если ячейки во всех ее столбцах не входят в топ-N c учетом иерархии. Например, при наличии в таблице левой размерности «Категория покупки», верхней размерности «Квартал» и факта «Сумма продажи» формула top_fetch(Сумма продажи;2) оставит в выборке две строки, только если значения в этих строках являются наибольшими для каждого квартала. Если же в каждом квартале максимальным значениям соответствуют разные категории покупки, в выборке останется восемь строк (по две для каждого из четырех кварталов). 
    • Область работы функции можно ограничить столбцами конкретных элементов верхних размерностей, используя кнопки «Размерность» и «Элемент».
    • Ограничить область работы функции столбцами промежуточных или совокупных итогов при наличии в таблице верхних размерностей нельзя. Для выполнения выборки с учетом значений в столбце совокупных итогов верхние размерности из таблицы нужно убрать.


    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. После того, как условия будут заданы, необходимо нажать кнопку «Создать». Если формула задана корректно, произойдет перестройка мультисферы согласно формуле. Если формула некорректна, поле формулы будет выделено красным и выборка применена не будет.

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

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

Окно с ошибкой выборки

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

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

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

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

Выборка и фильтр размерностей

Выборку можно применять к размерности, на которую наложен фильтр. При снятии фильтра с размерности в окне мультисферы, где применена выборка, выборка должна примениться и к строкам, которые были ранее скрыты наложенным фильтром. Строки, удовлетворяющие условиям выборки, будут отображены, остальные — скрыты. 

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

  • Нет меток