Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ScoreCard Учебный курс.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
6.37 Mб
Скачать

2.2.12.5.Функции

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

  • Получение среднего значения: AVERAGE(X1, X2, ...)

  • Получение суммы значений: SUM(X1, X2, ...)

  • Получение минимального значения: MIN(X1, X2, ...)

  • Получения максимального значения: MAX(X1, X2, ...)

  • Получение произведения значений: PROD(X1, X2, ...)

  • Получение значения диапазонов: RANGE(X1, X2, …)

  • Получение значений с накоплением: CUMULATIVE(список входных значений, уровень периода, агрегатная функция)

Для вызова функции Вы должны подставить значения для всех ее параметров, разделенных запятой (','). Наименование функций в формулах не чувствительны к регистру и могут вводится как заглавными, так и строчными буквами.

Функции могут содержать следующие типы констант:

Тип

Формат

Примеры

Integer

[+|-]<n>

123, -311, +3

Floating Point

[+|-]<n>[.<n>]

0.45, -31.1, +0.1

Scientific

[+|-]<n>[.<n>]E[+|-]<n>

11E1, -1.13E3, +51E2, 0.3421E-5

Boolean

FALSE|TRUE

FALSE, TRUE

Date

'<mm>/<dd>/<yyyy>'

'12/09/2002', '01/30/2003'

Используемые обозначения:

<n>

числовое значение

<mm>

месяц (две цифры)

<dd>

день (две цифры)

<yyyy>

год (четыре цифры)

[ ]

необязательная часть

Примечание: Десятичный разделитель для чисел с плавающей точкой, всегда точка («.») и не зависит от региональных установок Windows.

Экспоненциальное представление чисел (в виде мантиссы и порядка) было создано для простого представления очень больших, либо очень маленьких чисел с плавающей точкой. Экспоненциальное представление содержит базовое значение и степень, которые разделены буквой E: <базовое значение>E<степень>. Для расчета реального значения экспоненциального значения, используйте формулу: <базовое значение>*10<степень>.

Формат даты - фиксированный. Изменение порядка последовательности месяц/день/год, изменение разделителя или изменение количества цифр для месяца или дня, вызовет ошибку. Апострофы также обязательны.

Групповые символы

В системе показателей, показателях и идентификаторах ряда в выражениях (формулах) можно использовать групповые символы. В программе QPR ScoreCard предусмотрено два типа групповых символов: один для подстановки вместо строки символов любой длины, а другой для подстановки вместо одного символа. Не следует путать эти два типа групповых символов, хотя они оба используют вопросительный знак («?»). Разница между ними контекстная (см. ниже):

Формат

Описание

Примеры

?

Заменяет строку символов любой длины

?

?.ACT()

<строка>?

Заменяет строку, которая начинается с точного текста, <строка>, а заканчивается любым одним символом

SC?

?<строка>

Заменяет строку, которая начинается с одного любого символа, а заканчивается точным текстом, <строка>

?EA1

<строка 1>? <строка 2>

Заменяет строку, которая начинается и заканчивается точным текстом, <строка 1> и <строка 2>, а между ними находится один любой символ

M?A9

??[?...?]

Заменяет любую строку фиксированной длины

??

???

?????

Примечание: В текущей реализации групповых символов невозможно использовать выражения, которые состоят из строк переменной длины (представленных групповыми символами) и точных строк. В терминах стандартных групповых символов выражения «*EA1», «MEA*» или «*EA*» невозможно использовать в QPR ScoreCard.

Вычисление результатов за предыдущие периоды

Для вычисления результатов за прошлые периоды Вы должны добавить знак минус '-' к смещению периода, который указывается в скобках, справа от кода ряда. Таким образом, -1 ссылается на прошлый период, -2 на позапрошлый период и т.д.

Следующая формула вернет среднее арифметическое значение показателя за три последних периода:

AVERAGE(MEA1.ACTUAL(), MEA1.ACTUAL(-1), MEA1.ACTUAL(-2))

Примечание: Хотя расчеты для предыдущих периодов разрешены, будущие периоды рассчитывать нельзя

Примеры использования функций в формулах

Вычисление значения элемента с кодом элемента «Mea1» и рядом «Alarm Value» (код ряда «ALA»):

MEA1.ALA()

Вычисление суммы значений ряда «Actual Value» (код ряда «ACT») трех элементов MEA5, MEA6 и MEA7:

SUM(MEA5.ACT(), MEA6.ACT(), MEA7.ACT())

Вычисление значения диапазона предыдущего периода для элемента с кодом элемента «Mea2», рядом «Actual Value» (код ряда «ACT»):

RANGE(MEA2.ACT(-1))

Вычисление значения диапазона последнего периода, содержащего значение для элемента с кодом элемента «Mea2», рядом «Actual Value» (код ряда «ACT»):

RANGE(MEA2.ACT(latest))

Получение значения основного ряда элемента с кодом элемента «Mea1»:

MEA1._DEFAULT()

Получение суммы значений основного ряда всех дочерних элементов:

SUM(?._DEFAULT())

Расчет среднего значения последних имеющихся значений диапазонов всех дочерних элементов:

AVERAGE(RANGE(?._DEFAULT(latest)))

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

SUM(?.ACT()*?.WW())/SUM(?.WW())

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]