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

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

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

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

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

    Информация

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

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

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

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

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

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

  1. Укажите верхнюю размерность, выбрав ее в левой части окна в блоке «Данные», в списке с заголовком «Размерность»:

    Выбор размерности

    В поле для ввода формулы появится регулярное выражение типа Размерность, (Выберите элемент):

    Размерность в поле ввода формулы

     

    Примечание

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

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

    Выбор элемента

    Внимание

    Списки размерностей и элементов в блоке «Данные» доступны только при наличии в рабочей области мультисферы по крайней мере одной верхней размерности. Если верхняя размерность не добавлена, в списке элементов отображается соответствующая подсказка:

    Окно «Выборка» без верхних размерностей в таблице
  3. Укажите факт. Его всегда можно выбрать в левой части окна в блоке «Данные»:

    Выбор факта в блоке «Данные»

    Также факт можно выбрать в выпадающем списке в поле ввода формул, если предварительно была выбрана функция, предполагающая выбор факта:

    Выбор факта из выпадающего списка

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

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

    Кнопка

    Значение

    Функция

    Синтаксис

    Статистические функции

    top(n)

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

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

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

    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)

    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)

    and

    И

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

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

    or

    Или

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

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

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

    not

    Не

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

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

    is null

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

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

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

    is not null

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

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

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

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

    < 

    Меньше

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

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

    > 

    Больше

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

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

    <=

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

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

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

    >=

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

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

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

    =

    Равно

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

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

    !=

    Не равно

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

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

    Математические функции

    +

    Плюс

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

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

    -

    Минус

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

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

    *

    Умножить

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

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

    /

    Разделить

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

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

    ()

    Скобки

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

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

    Кнопки для создания формулы выборки

    Примечание

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

    Пример введенной формулы:

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

     

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


Для удаления элемента формулы, введенного по ошибке, используйте клавишу Backspace.

Нажатие на крестик в правом верхнем углу поля ввода формулы удаляет всю введенную формулу.

При нажатии на кнопку «Отменить» окно «Выборка» закроется, выборка применена не будет, а введенная формула не будет отображаться при повторном открытии окна. 

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

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

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

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

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

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

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

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

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

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

  • Нет меток