Expasys Questionnaire Studio Pro
Руководство пользователя (версия 2023.1)
×

Группы

 
Одной из основных задач при построении отчетов является задача группировки выводимых данных. Группировка может применяться, как для логического разделения строк с данными на странице, так и для визуального улучшения вида отчета.
 
Для построения отчетов с группировкой применяется два блока – Заголовок группы и Итог группы.
Блок Заголовок Группы выводится в начале каждой группы, блок Итог группы выводится в конце каждой группы.
 
  •  Для группировки данных по Колонке данных, в заголовок группы добавляется компонент Текст (Text), а из Словаря перетягивается нужный пункт.
 
Группировка данных по Колонке данных
 
  • Для группировки данных по графе Выражение, в заголовок группы добавляется запись вида {Data_1.Question_0}.
 
Группировка данных по графе Выражение
 
Настройки группировки данных определяются в редакторе блока Заголовок группы. Для того чтобы вызвать редактор блока Заголовок данных, необходимо:
  •  Дважды кликнуть левой кнопкой мыши по блоку Заголовок данных;
  •  В контекстном меню блока Заголовок данных выбрать Колонка данных;
  •  Из списка слева выбрать вопрос, по которому задается Условие группировки.
  •  Если нужно, можно также выбрать Направление сортировки.
 
Редактор отчета
 
Просмотр отчета с применением группировки данных
 
 ОСНОВНЫЕ ФУНКЦИИ
В словаре данных представлена отдельная категория Функции. В этой категории представлены элементы, при помощи которых можно рассчитать определенный результат или вернуть необходимое значение. Все элементы категории Функции разделены по группам.
 
 
В таблице представлен перечень основных функций, их описание и краткие примеры.
 

Date

Функция Описание Пример
{DateDiff(,)} Вычисляет интервал между указанными датами
  • Аргументы должны быть типа DateTime
  • Возвращает значение TimeSpan
  • {DateDiff(DateSerial(2022,1,30),DateSerial(2022,1,1))} - результат, в этом случае, будет 29.00:00:00, т.е. 29 дней.
  • {DateDiff(DataSource.Column1,DataSource.Column2)} - в этом случае, результат будет вычислен для каждого значения в Column1
{DateSerial(,,)} Предоставляет возможность указать дату
  • В аргументах указывается год, месяц, день
  • Возвращает значение DateTime
  • {DateSerial(2022,1,30)} - в этом случае, результат будет 1/30/2022 12:00:00 АМ
  • Функция возвращает значение DateTime, однако если необходимо отображение только даты, то следует применить к текстовому компоненту форматирование текста.
{Day()}
    Предоставляет возможность отобразить день из указанной даты
  • Аргументы должны быть типа DateTime
  • Возвращает значение long
  • {Day(DateSerial(2022,1,30))} - в этом случае, результат будет 30, т.к. в аргументах указано тридцатое января 2022 года
  • {Day(DataSource.Column)} - в этом случае, результат будет рассчитан для каждого значения Column
{DayOfWeek()}
    Предоставляет возможность отобразить день недели из указанной даты в текстовом виде
  • В аргументах указывается:
  • Дата (тип DateTime)
  • Культура (тип string).
  • Значение true or false (тип bool), для отображения результата с заглавной буквы или со строчной.
  • Значение true or false (тип bool), в зависимости от которого будет использоваться системная культура или локализация дизайнера
  • Возвращает значение string
  • {DayOfWeek(DateSerial(2022,1,30))} - в этом случае, результат будет sunday
  • {DayOfWeek(DataSource.Column)} - в этом случае, для каждого значения будет рассчитан день недели
  • {DayOfWeek(DateSerial(2022,1,30),"de")} - в этом случае, результат будет samstag, потому как установлена культура de
  • {DayOfWeek(DataSource.Column,"de")} - в этом случае, все результаты будут соответствовать на культуре de
  • {DayOfWeek(DateSerial(2022,1,30),"en", false)} - в этом случе, день недели будет со строчной буквы, т.е. sunday
  • {DayOfWeek(DataSource.Column,"de", true)} - в этом случе, дни недели будут с заглавной буквы, т.е. например Samstag
  • {DayOfWeek(DateSerial(2022,1,30), false)} - в этом случе, день недели будет отображен на культуре, которая используется системой
  • {DayOfWeek(DataSource.Column, true)} - в этом случе, день недели будет отображен на культуре, которая используется в дизайнере отчетов
{MonthName()}
    Предоставляет возможность отобразить название месяца из указанной даты
  • В аргументах указывается:
  • Дата (тип DateTime) и культура (тип string)
  • Культура (тип string)
  • Значение true or false (тип bool), для отображения результата с заглавной буквы или со строчной.
  • Значение true or false (тип bool), в зависимости от которого будет использоваться системная культура или локализация дизайнера
  • Возвращает значение string
  • {MonthName(DateSerial(2022,1,1))} - в этом случае, результатом будет January, поскольку установлена дата первое января 2022 года.
  • {MonthName(DataSource.Column)} - в этом случае, результатом будет название месяца для каждого значения Column
  • {MonthName(DateSerial(2022,2,1),"de")} - в этом случае, результат будет соответствовать культуре de, т.е. Februar.
  • {MonthName(DataSource.Column,"en")} - в этом случае, все названия месяцев будут соответствовать культуре en.
  • {MonthName(DateSerial(2022,1,1), false)} - в этом случае, название месяца будет со строчной буквы.
  • {{MonthName(DataSource.Column, true)} - в этом случае, название месяцев будет с заглавной буквы.
  • {MonthName(DateSerial(2022,1,1), false)} - в этом случае, название месяца будет соответствовать культуре, которая используется системой.
  • {MonthName(DataSource.Column, true)} - в этом случае, названия месяцев будут соответствовать культуре, которая соответствует культуре дизайнера отчетов.
{Year()}
    Предоставляет возможность отобразить год
  • В аргументах указывается:
  • Дата (тип DateTime)
  • Возвращает значение long
  • {Year(DateSerial(2022,1,2))} - в этом случае, результатом будет 2022, поскольку указана дата второе января 2022 года.
  • {Year(DataSource.Column)} - в этом случае, будут отображены года из каждого значения Column.

Math

 
Функция Описание Пример
{Abs()} Предоставляет возможность возвратить абсолютно число.
  • В аргументах указывается число (тип double,decimal,long)
  • Возвращает соотвественно значение типа double,decimal,long
  • {Abs(-42)} - в этом случае, результат будет 42
  • {Abs(DataSource.Column1)} - в этом случае, результатами будут абсолютные числа из значений Column1, т.е. без учет знака числа.
{Div()} Предоставляет возможность отобразить результат деления одного аргумента на другой:
  • В аргументах указывается:
  • Делимое и делитель (тип double, decimal, long).
  • Делимое, делитель и значение, которое будет результатом, если делитель равен 0
  • Возвращает значение типа double, decimal, long
  • {Div(2,1)} - в этом случае, результат будет 2, т.к. 2 / 1 = 2
  • {Div(2,0,4)} - в этом случае, результат будет 4, т.к. делитель равен 0 и отображаться будет третий аргумент.
  • {Div(DataSource.Column1,DataSource.Column2,DataSource.Column3)} - в этом случае, отображаться будет результат деления значений
  • Column1 на значения Column2. При этом, если Column2 содержит нулевые значения, то вместо результата деления, в данной строке будут отображаться значения из Column3.
{Exp()} Предоставляет возможность отобразить результат возведения в указанную степень числа e:
  • В аргументах указывается:
  • В аргументах указывается степень, в которую необходимо возвести число e (тип long)
  • Возвращает значение типа double
  • {Exp(4)} - в этом случае, число е будет возведено в 4-ую степень.
  • {Exp(DataSource.Column1)} - в этом случае, каждое значение из Column1 будет представлять собой степень, в которую будет возводиться число е.
{Log()} Предоставляет возможность вычислить натуральный логарифм:
  • В аргументах указывается значение (тип double)
  • Возвращает значение типа double
  • {Log(x)}, где х - это число или выражение, результатом будет вычислеение натурального логарифма.
{Maximum(,)} Предоставляет возможность сравнить два значения и отобразить максимальное:
  • В аргументах указывается два значения (тип long, decimal, double)
  • Возвращает значение типа long, decimal, double
  • {Maximum(5,9)} - в этом случае, результатом будет число 9.
  • {Maximum(DataSource.Column1,DataSource.Column2)} - в этом случае, все значения Column1 сравняться со значениями Column2. В отчете будут отображены максимальные числа.
{Minimum(,)} Предоставляет возможность сравнить два значения и отобразить минимальное:
  • В аргументах указывается два значения (тип long, decimal, double)
  • Возвращает значение типа long, decimal, double
  • {Minimum(5,9)} - в этом случае, результатом будет число 5.
  • {Minimum(DataSource.Column1,DataSource.Column2)} - в этом случае, все значения Column1 сравняться со значениями Column2. В отчете будут отображены минимальные числа.
{Sqrt()} Предоставляет возможность вычислить квадратный корень из числа:
  • В аргументах указывается число (тип double).
  • Возвращает значение типа double
  • {Sqrt(4)} - в этом случае, результат будет 2, т.к. квадратный корень из 4 равен 2.
  • {Sqrt(DataSource.Column1)} - в этом случае, для всех значений Column1 будет вычислен квадратный корень.