2.35.8 Чтобы добавить данные из CSV-файла
Чтобы загрузить данные из csv-файла в микрокуб, нажмите кнопку «
» на панели инструментов таблицы и выберите пункт меню «Добавление данных из CSV-файла» или выберите пункт локального меню таблицы «Импорт/Добавление данных из CSV-файла».
2.36 Настройка фильтров
Именованные фильтры - это сохраненное под пользовательским именем состояние фильтров всех измерений среза. Именованные фильтры сохраняются в BI - проекте и доступны всем пользователям для быстрого включения.
2.36.1 Чтобы создать новый фильтр
Чтобы сохранить фильтры под новым именем, нажмите на панели инструментов таблицы кнопку «
» «Список фильтров» и выберите пункт меню «Сохранить фильтр под новым именем».
В открывшемся окне «Сохранение фильтра» введите название и код фильтра. Код имеет значение только для использования BI-проекта в других программах.
Каждый срез отображается как закладка. Для каждого среза Вы можете указать, выключенные или включенные значения следует сохранять в проекте. Это важно, если количество значений измерений, на которые накладывается фильтр, при обновлении отчета может меняться.
Нажмите кнопку «Сохранить».
Если ни одно из измерений не отфильтровано, кнопка «Список фильтров» недоступна.
2.36.2 Чтобы изменить фильтр
Измените состояние фильтров измерения. В меню «
» «Список фильтров» выберите пункт «Сохранить фильтр».
Если фильтр не изменился, пункт меню будет недоступен.
2.36.3 Чтобы включить фильтр
В меню «
» «Список фильтров» выберите фильтр по имени.
2.36.4 Чтобы отменить фильтрацию
В меню «
» «Список фильтров» выберите пункт «
» «Выключить все».
2.36.5 Чтобы удалить фильтр
В меню «
» «Список фильтров» выберите фильтр по имени, а затем в этом же меню выберите пункт «Удалить фильтр».
2.37 Настройка колонтитулов таблиц
Печатный отчет можно оформить колонтитулами – «шапкой» и «подвалом». В «шапке», например, можно вводить реквизиты организации или подразделения, в «подвале» - примечания и подписи ответственных лиц. «Шапка» и «подвал» могут отображаться на экране и/или в печатной форме отчета.
2.37.1 Чтобы добавить «шапку» и «подвал»
Нажмите кнопку «
» (при этом откроется окно редактирования «Колонтитул», состоящее из двух закладок для настройки верхнего и нижнего колонтитулов) или выберите в меню «
» пункт «шапка» или «подвал».
В область текста можно ввести произвольный текст и отформатировать его, как в MS Word. Также в эту область можно скопировать текст из документа MS Word.
Для «шапки» можно задать расположение текста над заголовком таблицы или под ним.
2.37.2 Чтобы включить или выключить «шапку» и «подвал»
Для того чтобы убрать с экрана или показать «шапку» или «подвал», выключите или включите в меню «
» пункты «Показывать Шапку» или «Показывать Подвал».
2.38 Создание вычисляемых полей
Язык формул используется для создания вычисляемых полей и задания условий форматирования клеток таблицы. В формулах используются поля куба, арифметические операции, операции сравнения, встроенные и пользовательские функции и константы. Язык формул содержит библиотеку прикладных функций для расчета трендов, средних и так далее.
2.38.1 Чтобы добавить вычисляемый факт
2.38.1.1 В «Рабочей панели»
Отметьте в структуре микрокуба элемент «
» «Факты» и нажмите кнопку «
» или выполните в локальном меню редактора команду «Добавить вычислимый факт». В результате будет вызвано окно «Редактор формул».

Добавив в микрокуб новый факт, его можно добавить в любую таблицу микрокуба. Для этого надо выделить новый факт в «Рабочей панели» и перенести его в выбранную таблицу.
2.38.1.2 В окне отчета
Нажмите кнопку «
» «Новый» на инструментальной панели и введите формулу в редакторе формул. Новое поле будет добавлено в куб и в текущую таблицу.
Вы можете изменять формулы интерактивно в строке редактирования формул, результат будет отражаться в таблице немедленно.
2.38.2 О языке формул
2.38.2.1 Примеры формул:
Средняя цена: Amount / Quantity;
Округленный объем продаж: round(Price * Quantity);
Отклонение от предыдущего периода в процентах: VariancePrevP(Sales, Year, Quarter, Month);
Формулы могут содержать:
Имена фактов;
Имена измерений при описании @-выражений;
Константы;
Встроенные и пользовательские константы;
Встроенные функции и пользовательские функции;
Операторы;
Десятичные числа.
Идентификаторы - имена переменных, функции, их параметры и именованные константы, содержащие пробелы или нелатинские буквы - нужно заключать в фигурные скобки.
2.38.2.1.1 Пример:
a
epsilon
delta13
Delta13
_temp
Все идентификаторы учитывают регистр клавиатуры, поэтому delta13 и Delta13 - это разные имена.
Идентификатор в фигурных скобках может содержать последовательность любых символов за исключением фигурных скобок {} и точек. В этих идентификаторах также не допускаются начальные и конечные пробелы.
2.38.2.1.2 Пример
{Остаток}
{Средняя цена товара}
Идентификаторы в фигурных скобках также учитывают регистр клавиатуры.
Сами фигурные скобки не являются частью идентификатора. В фигурные скобки можно брать любой идентификатор, т. е. идентификаторы {Hello} и Hello эквивалентны.
Кроме того, в любом месте, где допускаются пробелы, могут быть добавлены комментарии. Они могут содержать любые символы, включая символы перевода строки, и должны заключаться в контейнеры /* и */, как показано ниже:
/*Это
Комментарий
на нескольких строках */
2.39 Счетчик записей
Количество записей набора данных, возвращенного запросом, может быть использовано как факт. Это может быть полезным для расчета количеств, средних величин, относительных изменений и т. п. Поле «Количество записей» автоматически добавляется в список полей запроса в окне создания OLAP-отчета.
2.39.1 Чтобы добавить счетчик записей
Закройте отчет и выберите на «Рабочей панели» папку «Факты куба». На панели инструментов «Рабочей панели» нажмите кнопку «
» «Редактирование счетчиков». В открывшемся окне «Редактирование счетчиков записей» выберите тип счетчика, который Вы хотите добавить в отчет, и нажмите кнопку «Применить».
К созданному счетчику записей Вы можете подключить встроенные алгоритмы.
В отчете можно применить не более одного счетчика записей.
2.39.2 Чтобы изменить счетчик записей
Выберите факт-счетчик. В редакторе свойств измените свойство «Уровень расчета количества», выбрав подходящее значение из выпадающего списка.
2.39.3 Чтобы удалить счетчик записей
Выберите факт-счетчик. Нажмите кнопку «
». Все дочерние факты будут удалены.
2.40 Работа с формулами
Вычисляемые поля, в том числе формульные факты, можно вводить и редактировать интерактивно, во время работы с отчетом. Для этого предназначена инструментальная панель «Формулы»: ![]()
2.40.1 Формульный факт
2.40.1.1 Чтобы создать формульный факт
Нажмите кнопку «
», введите новую формулу в «Редакторе формул».
2.40.1.2 Чтобы изменить формульный факт
Установите курсор в строку редактирования формулы и измените текст формулы. Красный цвет текста формулы говорит о наличии в ней ошибки. Для принятия изменений нажмите «Enter».
Вы также можете нажать кнопку «
» и отредактировать факт в «Редакторе формул».
2.40.1.3 Чтобы удалить формульный факт
Выделите факт в таблице и нажмите кнопку «
».
2.40.2 Факт, вычисляемый по встроенному алгоритму
2.40.2.1 Чтобы добавить факт, вычисляемый по встроенному алгоритму
Установите курсор в клетку факта, на основе которого будет создан новый вычисляемый факт.
Нажмите кнопку «
», в открывшемся окне перенесите один или несколько алгоритмов из списка «Не выбранные» в список «Выбранные».
2.40.2.2 Чтобы удалить факт, вычисляемый по встроенному алгоритму
Установите курсор в клетку факта, на основе которого был создан вычисляемый факт.
Нажмите кнопку «
», в открывшемся окне перенесите один или несколько алгоритмов из списка «Выбранные» в список «Не выбранные».
2.40.3 Проценты
Чтобы добавить отображение факта как процентов, выделите его и выберите вид процентов в меню кнопки «
».
2.40.4 Периоды
Чтобы создать временной период, нажмите кнопку «
», в левой части окна выберите базовую дату, включите или выключите периоды. В таблице появятся включенные периоды и исчезнут выключенные.
2.41 Синтаксис и операторы языка формул
В языке формул определено три типа операторов: арифметические, операторы сравнения и логические.
Ниже перечислены операторы в порядке убывания приоритета выполнения:
Круглые скобки ();
Унарный -, унарный +;
^ (возведение в степень);
*, /;
<, >, <=, >=, ==, ! =;
not;
and;
or, xor;
eqv.
2.41.1 Арифметические операторы
Оператор | Действие | Пример | |
Унарный + | Пустой оператор | +20 = 20 | |
Унарный - | Изменение знака операнда на противоположный | -5 = -5 | |
X + Y | Арифметическое сложение | 2+3 = 5 | |
X - Y | Арифметическое вычитание | 2.9 – 1.3 = 1.6 | |
X * Y | Умножение | 6*3 = 18 | |
X / Y | Деление. Деление на ноль обрабатывается и возвращается INF (бесконечность). | 6/3 = 2 |
|
Псевдовеличина INF может быть как положительной, так и отрицательной (+INF, - INF) в зависимости от знака последнего вычисляемого операнда. Например, -1/0 возвращает - INF, а +1/0 == +INF.
2.41.2 Операторы сравнения
Операторы сравнения возвращают 1, если результат является истиной, и 0, если в результате вычисления выражения получается ложь.
Оператор | Описание | Пример |
< | Меньше | 1<2 =1 |
> | Больше | 1>2 =0 |
<= | Меньше или равно | 1<=2 =1 |
>= | Больше или равно | 1>=2 =0 |
== | Равно | 1==2 =0 |
!= | Не равно | 1!=2 =1 |
<> | Не равно | 1<>2 =1 |
2.41.3 Логические операторы
Оператор | Описание |
OR | Или |
|| | Или |
AND | И |
&& | И |
EQV | Равно |
== | Равно |
NOT | Не |
! | Не |
XOR | Исключающее или |
Некоторые операторы имеют альтернативное написание: && для AND, || для OR, ! для NOT.
Операторы XOR и EQV взаимно противоположны - если один возвращает истину, то другой возвращает ложь, и наоборот.
Во всех логических выражениях вычисляются только подвыражения, необходимые для вычисления логического результата. Например, в выражении A AND B, если подвыражение A равно нулю, B не вычисляется, потому что результат полностью определен значением A.
Аналогично в выражении A OR B, если A не равно нулю, B не вычисляется, потому что результат полностью определен значением A.
Логические операторы возвращают не ноль и единицу, а «результат последнего вычисленного подвыражения». Например:
22 OR 789 == 22
0 OR 574 == 574
0 OR 0 == 0
22 AND 789 == 789
0 AND 574 == 0
22 AND 0 == 0
То есть любое ненулевое значение в формульном языке интерпретируется как истина.
2.41.4 Условный оператор if (если)
Оператор if позволяет контролировать ветвь вычисления с помощью величины, которая получается при вычислении специального условия. Этот оператор имеет следующий синтаксис:
if (условие, часть истина, часть ложь);
Условие может быть любым допустимым выражением. Если условие равно нулю, возвращается значение ложь, в противном случае - истина. Ниже приведено несколько примеров использования оператора if:
if(а==а, 789, 22) == 789
if(3.14, 789, 22) == 789
if(round(0.6), 789, 22) == 789
if(round(0.4), 789, 22) == 22
Подобно логическим операторам, если условие вычислено, то вычисляется только необходимая часть результата. Таким образом, если условие равно нулю, Часть истина не вычисляется; если Условие отлично от нуля, вычисляется только Часть истина.
2.42 Коды возврата формул
Существуют ситуации, когда формула не может быть вычислена. Например, выражение A/B неразрешимо, если В=0 или значения В для данного сочетания значений измерений не существует. В таких случаях формула возвращает код ошибки, а в клетке отображается описание ошибки. Существует набор предопределенных кодов возврата функций и их описаний. Для обработки встроенных кодов возврата определены константы. Описания ошибок могут быть отредактированы.
2.42.1 Обработка ошибок в формулах
Можно обрабатывать ошибки в формулах, задавая точки выхода. Для этого используется функция
abort(StatusCode) ,
где StatusCode - возвращаемый код завершения операции. Функция прерывает все вычисления и принудительно устанавливает формуле указанный в аргументе код завершения.
Например, приведенное выше выражение можно обработать следующим образом:
if(B, A/B, abort(1))
Если В не равно 0 или null, то будет вычислено A/B, иначе вычисление будет прервано и формула вернет код ошибки 1.
2.42.1.1 Примечание
Область допустимых значений аргумента функции abort() - от 1 до 1
2.42.2 Изменение текстов ошибок по умолчанию
Тексты ошибок по умолчанию, выводимые в таблице, можно изменять. Тексты настраиваются индивидуально для каждого факта таблицы. Для этого в «Рабочей панели» выберите Факт таблицы и нажмите кнопку «
». Измените тексты ошибок. Для того, чтобы скрыть ошибку, введите пробел.
2.42.3 Обработка ошибок в условном форматировании
Можно создавать специальные правила для отображения клеток с ошибками с помощью условного форматирования. Для этого можно задать формат для каждого кода возврата, в том числе пользовательского кода.
2.42.4 Коды ошибок
Константа | Описание |
#DIMNDX | Неверно задано измерение |
#DIM | Неверный индекс измерения |
#FACT | Неверно задан факт |
#POINTNDX | Неверный индекс узла |
#RANGE | Неверный диапазон значения |
#DOMAIN | Ошибка области определения |
#FPERR | Ошибка вычисления |
#+INF | Положительная бесконечность |
#-INF | Отрицательная бесконечность |
#N/A | Невычислимый факт |
#NULL | Значения не существует |
#OK | Ошибок нет |
#ERR | Общая ошибка |
#ABRT(1) | Прервано пользователем |
2.43 Функции языка формул
В формулах можно применять функции. Функция может возвращать числовое или логическое значение. Функция может принимать параметры.
Язык формул поставляется с библиотекой встроенных математических и статистических функций, которые можно использовать для быстрого создания вычисляемых фактов. Вы также можете создавать собственные функции.
2.43.1 Встроенные функции
В языке формул существует несколько типов встроенных функций:
Арифметические функции;
Функции отклонения;
Функции времени и даты;
Функции округления;
Функции определения знака;
Функции агрегации;
Глобальные функции;
Предопределенные константы.
2.43.2 Функции вычисления итогов
Функции, вычисляющие итоги в группах.
Функция | Описание | Примеры |
Total (Факт) | Итог по строкам или колонкам в зависимости от положения 'направления расчетов'. | Total (Amount) - итог. $self/Total ($self) - доля клетки в строке или колонке для текущего факта. |
Subtotal (Факт) | Промежуточный итог по строкам или колонкам в зависимости от положения 'направления расчетов'. | Subtotal (Amount) $self/SubTotal ($self) - доля клетки в группе в строке или колонке для текущего факта. |
Grandtotal (Факт) | Окончательный итог таблицы. | Grandtotal (Amount) $self/GrandTotal ($self) - доля клетки в таблице для текущего факта. |
2.43.3 Функции отклонения
Функции для вычисления экономических и статистических показателей по временным рядам (time series). Параметрами являются факт и список измерений. Если измерения - даты, то будут вычисляться отклонения по времени, если не даты - то отличия между значениями фактов для значений измерений.
Существуют функции, вычисляющие собственно отклонения (VarianceАлгоритм), относительные значения (ValАлгоритм) и позиции(PosАлгоритм).
Существует две категории функций отклонений - функции вычисления абсолютных отклонений и процентных отклонений. В имя функции для вычисления отклонений в процентах добавляется буква P - ИмяфункцииP.
Функция | Описание | Примеры |
Cumulative() | Накопительный итог. Если применять измерения - не даты, то будет вычисляться накопительная сумма для значений измерений. Применение: Cumulative(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | Cumulative(Indicator, Year, Month, Day) - накопительный итог для дней, месяцев и лет. VarianceLastP($self, Year, Quarter) - тоже самое для текущего факта. |
VariancePrev() | Отклонение от предыдущего периода. Применение: VariancePrev(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | VariancePrev(Indicator, Year, Quarter, Month) - изменение показателя по сравнению с предыдущим годом, кварталом, месяцем. VariancePrev($self, Year, Quarter) - то же для текущего факта. |
VarianceSame() | Отклонение от одноименного прошлого периода. Например, отклонение от одноименного квартала прошлого года. Применение: VarianceSame(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | VarianceSame(Indicator, Year, Quarter) - изменение показателя по сравнению с тем же кварталом прошлого года. VarianceSame($self, Year, Quarter) - то же для текущего факта. |
VarianceFirst() | Отклонение от первого периода. Например, отклонение от одноименного квартала прошлого года. Применение: VarianceFirst(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | VarianceFirst(Indicator, Year, Quarter) - изменение показателя по сравнению с первым годом, кварталом. VarianceFisrt($self, Year, Quarter) - то же для текущего факта. |
VarianceNext() | Отклонение от следующего периода. Например, отклонение от следующего года. Применение: VarianceNext(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | VarianceNext(Indicator, Year, Quarter, Month) – отклонение показателя по сравнению со следующим годом, кварталом, месяцем. VarianceNext($self, Year, Quarter) - то же для текущего факта. |
VarianceLast() | Отклонение от последнего периода. Например, отклонение показателя по сравнению с последним годом. Применение: VarianceLast(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | VarianceLast(Indicator, Year, Quarter, Month) – отклонение показателя по сравнению с последним годом, кварталом, месяцем. VarianceLast($self, Year, Quarter) - то же для текущего факта. |
VariancePrevP() | Вычисляет разницу в значении факта между предыдущей и текущей датами в процентах | То же, что и VariancePrev(), но значение будет отражено в процентах. |
VarianceSameP() | Вычисляет разницу в значении факта между одноименными датами в процентах | То же, что и VarianceSame(), но значение будет отражено в процентах. |
VarianceFirstP() | Вычисляет разницу в значении факта между первой и текущей датами в процентах | То же, что и VarianceFirst(), но значение будет отражено в процентах. |
PosOfPrev() | Позиция (индекс) факта для предыдущего значения измерения. Применение: PosOfPrev(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | PosOfPrev(Indicator, Year, Quarter, Month) - позиция показателя в предыдущем году, квартале, месяце. PosOfPrev($self, Year, Quarter) - то же для текущего факта. |
PosOfSame() | Позиция (индекс) факта для одинакового значения измерения в старшем измерении. Применение: PosOfSame(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | PosOfSame(Indicator, Year, Quarter) – позиция показателя с тем же кварталом в прошлом году. PosOfSame($self, Year, Quarter) - то же для текущего факта. PosOfPrev(Indicator, Year, Quarter, Month) - позиция показателя для каждого периода в одноименном прошлом периоде, для года - значения нет, для квартала - того же квартала прошлого года, для месяца - того же месяца прошлого квартала. |
PosOfFirst() | Позиция (индекс) факта для первого значения измерения. Применение: PosOfFirst(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | PosOfFirst(Indicator, Year, Quarter) - позиция показателя для первого года, первого квартала текущего года. PosOfFirst($self, Year, Quarter) - то же для текущего факта. |
PosOfNext() | Позиция (индекс) факта для следующего значения измерения. Применение: PosOfNext(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | PosOfNext(Indicator, Year, Quarter) - позиция показателя для следующего года, следующего квартала текущего года. PosOfNext($self, Year, Quarter) - то же для текущего факта. |
PosOfLast() | Позиция (индекс) факта для последнего значения измерения. Применение: PosOfLast(fact, dim [, dim, :]), где fact - факт, dim - измерение. Как минимум, одно измерение обязательно. | PosOfLast(Indicator, Year, Quarter) - позиция показателя для последнего года, последнего квартала текущего года. PosOfLast($self, Year, Quarter) - то же для текущего факта. |
2.43.4 Функции времени и даты
Функции времени и даты позволяют манипулировать значениями дат и строить алгоритмы, зависящие от значений поля типа дата-время.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 |


