Список ячеек


Главная » Ресурсы » Здесь

Ячейки представляют собой «кирпичи», из которых выстраиваются панели управления Envision. Ниже приводится список всех ячеек, поддерживаемых Envision.


Синтаксис ячеек

Обычно ячейки встраиваются с помощью следующего синтаксиса:
show table "hello" a1c2 tomato with
  x
  sum(y)
  avg(z)
  group by [x,a]
  order by [max(y), b] desc
Первый аргумент после имени ячейки (table в примере выше) представляет собой заголовок ячейки. После заголовка указывается размер ячейки и ее положение на панели управления, закодированные с помощью сетки, напоминающей Excel (столбцы обозначаются буквами, строки — цифрами). Наконец, указывается цвет: либо один из веб-цветов, либо в виде шестизначного кода без символа # (например FF6347 для tomato).

  • Большинство ячеек могут иметь несколько аргументов, указанных после ключевого слова with.
  • Оператор group by является дополнительным и поддерживает различные выражения. При использовании group by выражения должны содержать агрегаторы, кроме случаев когда они объединены заранее.
  • Оператор order by также является дополнительным и поддерживает различные выражения. Оператор desc можно опустить. Когда он есть, элементы выстраиваются в порядке убывания.

Выражения, указанные в виде аргументов после with, автоматически выравниваются Envision, чтобы обрабатывать входящие данные в виде таблицы для создания ячеек. Эту входящую таблицу можно экспортировать с помощью следующего выражения:
show table "hello" a1c2 tomato export:"/mytable.tsv" with x, y, z
Поддерживаются форматы CSV, TSV, XLSX (Excel) и RFF (простой исходный файл). Если указано неизвестное расширение файла, во время экспорта появится сообщение об ошибке.

Ячейки также можно одновременно экспортировать в два и более места с помощью оператора export:
show table "hello" a1c2 tomato export:"/foo1.tsv" export:"/foo2.tsv" with x, y, z
На практике целое выражение для создания ячейки выглядит очень длинным, поэтому в Envision появился синтаксис для блока ячейки:
show table "hello" a1c2 tomato export:"/foo1.tsv" export:"/foo2.tsv" with
  x as "My Name" 
  sum(y) as "My total" unit: "$"
  avg(z)
  group by [x, a]
  order by [max(y), b]

Цвет как параметр времени выполнения работы

Компактный синтаксис для встраивания цветных ячеек имеет один недостаток: невозможно выбрать цвет через программу. Envision позволяет задавать цвета по названиям:
isMonday := today() mod 7 == 0
myColor := isMonday ? "black" : "red"
show label "Monday is Black" color: myColor
Параметр color должен представлять собой скалярное текстовое значение. В примере выше цвет ячейки изменяется в зависимости от текущего дня недели. Он будет черным по понедельникам и красным — в любой другой день недели.

Ячейка assert

Данная ячейка предназначена специально для того, чтобы отображать неудачные запуски проекта, если данные не соответствуют каким-либо условиям. Список условий можно указать после ключевого слова with.
show assert "My flags" with
  count(Id) > 20 as "More than 20 items found"
  sum(Orders.1) > 20 as "More than 20 orders found"

Ячейка barchart

Данная ячейка предназначена для отображения гистограммы. Выражение, указанное после ключевого слова with, должно содержать агрегатор. Необходимо использовать открытый оператор group by.
show barchart "Stock per Brand" unit: "$" with
  sum(StockOnHand * PurchasePrice)
  group by Brand

Для данной ячейки поддерживаются следующие опции:
  • color (scalar text): Основной цвет отображаемых графиков.
  • download (scalar text): Имя файла при загрузке ячейки из панели управления.
  • export (scalar text): Имя локального файла, где находится содержимое ячейки.
  • unit (scalar text): единица измерения, привязанная к числовым значениям.

Опции столбцов не предусмотрены.

Ячейка form

Данная ячейка предназначена для отображения формы для ручного ввода значений из окна панели управления. Переменные, которые необходимо отобразить в данной ячейке, нужно внести в виртуальную таблицу Form.
show form "My settings" with
  Form.myValue as "My Value"
  Form.secondValue as "Second Value"
Переменные, указанные в формах, всегда являются скалярными. Их скалярный тип определяется использованием в сценарии. В форме можно указать несколько разных переменных. Мы рекомендуем назначать высоту (количество задействованных рядов в решетке) равную N+1, где N представляет собой число входящих переменных Form, перечисленных после with.

Ячейка histogram

Данная ячейка предназначена для отображения гистограммы. В отличие от barchart, в данной ячейке столбики гистограммы располагаются вертикально. В ячейке гистограммы в качестве аргумента указывается только один числовой вектор.
show histogram "Quantities ordered" with
  Orders.Quantity
Кроме того, ячейку гистограммы можно использовать для отображения скалярного распределения:
show histogram "Poisson Law" with poisson(3)
Если вы создали вероятностный прогноз спроса, нужно выбрать один элемент. Это можно сделать следующим образом:
where Id == "123"
  show histogram "My Forecast" with same(Demand)

Для данной ячейки доступны следующие опции:
  • color (scalar text): основной цвет гистограммы.
  • unit (scalar text): единица измерения для числовых значений.

Для столбцов предусмотрены отдельные опции.

Ячейка label

Данная ячейка предназначена только для отображения текста в панели управления. Это самая простая ячейка, для нее не требуется входящих данных.
show label "Hello World"

Ячейка linechart

Данная ячейка предназначена для отображения временных рядов. Данная ячейка использует входящие данные, индексированные по дате. После ключевого слова with можно в качестве аргументов указывать несколько различных выражений.
Week.sold := sum(Orders.NetAmount)
show linechart "Week sold/purchased" unit: "$" with
  Week.sold as "Sold" color: "red"
  sum(PO.NetAmount) color: "blue"
Цвет можно задать на уровне ячейки (как и в других ячейках Envision), однако можно определить цвет каждой линии на гистограмме, как показано выше.

Для данной ячейки доступны следующие опции:
  • color (scalar text): основной цвет, который применяется к первой линии.
  • unit (scalar text): единица измерения для числовых значений.

Для данных столбцов доступны следующие опции:
  • color (scalar text): цвет линии, привязанной к столбцу.
  • unit (scalar text): вторую единицу измерения можно задать. В таком случае ось Y слева и единица справа получают градуирование.

Ячейка logo

Данная ячейка предназначена для отображения логотипа компании. В ячейке отображается файл изображения logo.png или logo.jpg, который нужно поместить в корневой каталог вашей учетной записи Lokad. Если вы еще не загрузили файл с логотипом, в ячейке будет предложено загрузить его. Рекомендованные размеры логотипа — 150 х 70 пикселей (ширина одного столбца) или 310 х 70 пикселей (ширина двух столбцов).
show logo "My Company"

Ячейка markdown

Ячейки данного типа нужны для отображения контекстной документации, отформатированной в виде разметки, очень простого языка, позволяющего создавать документы, которые можно просматривать в сети.
show markdown "My title" a6h6 with """
# Part A
## Subpart A.1
A list of **important** remarks.

* remark 1
* remark 2
* remark 3

## Subpart A.2
# Part B

Less important remarks.
"""  

Рекомендуется оставлять заголовок пустым — ячейка заголовка обычно не нужна, так как заголовок задается в разделе разметки. См. пример:
show markdown "" with """ ... """

Ячейка piechart

Данная ячейка предназначена для отображения круговой диаграммы. Выражение, указанное после ключевого слова with, должно содержать агрегатор. Необходимо использовать открытый оператор group by.
show piechart "Stock per Brand" unit: "$" with
  sum(StockOnHand * PurchasePrice)
  group by Brand

Ячейка plot

Данная ячейка предназначена для отображения функции f(x)=y.
show plot "My function" with T.X, T.Y

Для данной ячейки доступны следующие опции:
  • color (scalar text): основной цвет, который применяется к линии, построенной по точкам.
  • unit (scalar text): единица измерения по умолчанию для числовых значений.

Ячейка summary

Ячейки данного типа предназначены для объединения нескольких скалярных значений, обычно ключевых показателей деятельности. Каждое значение может быть привязано к ярлыку и единице измерения.
show summary "Key stock figures" a1b2 with
  sum(StockOnHand) as "Units on hand"
  sum(StockOnOrder) as "Units on order"
  sum(Stock * BuyPrice) as "Stock value" unit: "$"

Ячейка table

Ячейка table является наиболее универсальной из всех ячеек, предлагаемых Envision. Данная ячейка предназначена для отображения таблиц, и такие таблицы можно экспортировать в виде простого файла.
show table "Top sellers" export:"/tops.tsv" with
  Supplier as "Supplier Name"
  Category as "Category"
  sum(Orders.NetAmount) as "Sold" unit:"$"
  group by [Supplier, Category]
  order by sum(Orders.NetAmount) desc
Ячейка таблицы поддерживает агрегаторы group by и order by. В обоих случаях можно указывать кортеж вместо единичного значения.

Опции ячеек

Таблицы поддерживают различные опции, задаваемые на уровне ячейки. Эти опции указываются после оператора ячейки, см. ниже:
show table "options" color: "red" unit: "$" with 123

Список доступных опций:

  • color (scalar text): основной цвет ячейки.
  • date (scalar text): формат даты по умолчанию для столбцов с датами (см. описание форматов ниже).
  • download (scalar text): имя файла, который используется при загрузке ячейки пользователем из панели управления.
  • export (scalar text): путь к файлу, где находится содержимое таблицы (в учетной записи Lokad). Например "export: "/foo/bar.csv". Можно прописывать несколько операторов export, при этом данные будут экспортированы в несколько файлов.
  • numbers (scalar text): числовой формат по умолчанию для столбцов с числами (см. описание формата ниже).
  • precision (scalar number): показывает, сколько цифр будет отображается после запятой во всех столбцах с числами.
  • quotes (scalar Boolean): при значении true подставляет кавычки в создаваемых файлах CSV или TSV. Значение по умолчанию — false.
  • unit (scalar text): единица измерения по умолчанию, используемая для отображения числовых значений.

Опции столбцов

Параметры всех столбцов можно настраивать по-отдельности. Приведем пример:
show table "Some column-level options" with
  Id as "Produce ID"
  StockOnHand as "On Hand" unit: "ea"
  BuyPrice unit: "$"

Опции, доступные для столбцов:
  • date (scalar text): формат даты по умолчанию для данного столбца (см. описание форматов ниже).
  • display (scalar Boolean): показывает, будет ли столбец отображаться на панели управления. Значение по умолчанию — true. Столбец можно не выводить на экран, если его нужно только экспортировать в файл.
  • export (scalar Boolean): показывает, будет ли столбец экспортирован в файл. Значение по умолчанию — true. Столбец можно не экспортировать, если его нужно только отобразить в панели управления.
  • numbers (scalar text): числовой формат для столбцов с числами (см. описание формата ниже).
  • precision (scalar number): показывает, сколько цифр будет отображается после запятой в данном столбце.
  • quotes (scalar Boolean): при значении true заключает в кавычки данные в указанном столбце в создаваемых файлах CSV или TSV. Значение по умолчанию — false.
  • unit (scalar text): единица измерения, используемая для отображения числовых значений в столбце.

Формат даты

Формат даты прописывается в небольших сегментах кода, которые позволяют указать, как нужно представлять даты в таблицах. Например:
show table "Last sold"  date: "yyyy-MM-dd" with
  max(Orders.Date)

Доступные коды:

  • d: день месяца с 1 по 31
  • dd: то же самое, что d, но с 0 впереди
  • ddd: дни недели сокращенно (например пн, вт и т. д.
  • dddd: дни недели полностью (понедельник и т. д.)
  • MM: номер месяца с 1 по 12.
  • MMM: название месяца сокращенно (например янв, фев и т. д.)
  • MMMM: название месяца полностью (июнь)
  • yy: год от 00 до 99, две последние цифры
  • yyyy: год, четыре цифры.

Любые другие символы используются как в выводимой строке.

Формат чисел

Формат чисел прописывается в небольших сегментах кода, которые позволяют указать, как нужно представлять числа в таблицах. Например:
show table "Total sold" number:"1,000.00" with
  sum(Orders.NetAmount)

Код имитирует нужный формат отображения чисел:
  • Символ после первой 1 является делителем разряда тысяч. Его можно опустить.
  • Символ перед последними двумя нулями отделяет десятичную дробь. Его можно опустить.

Отображение единственного значения

Если в ячейке table есть лишь один столбец и одна строка, то она форматируется особым образом для отображения единственного значения.
show table "Total Stock Value" with
  sum(StockOnHand * BuyPrice)

Ячейка treemap

Ячейка treemap позволяет отображать древовидную карту. Древовидные карты предназначены для наглядного отражения важности элементов в пределах большого набора данных. Для данной ячейки требуется два аргумента: метка и значение. Кроме того, необходимо указать группировку с помощью оператора group by.
show treemap "Stock Value" with
  Name
  StockOnHand * PurchasePrice
  group by Category
Ячейки, отображаемые в древовидной карте, пропорциональны сумме значений.

Ячейка upload

Ячейка upload предназначена для выполнения отправки небольших файлов непосредственно из панели управления Envision — теперь вам не придется переходить в раздел Files вашей учетной записи Lokad. При работе со сложными симуляторами, учитывающими множество параметров, зачастую проще собрать эти параметры в табличном файле, а не вводить все значения непосредственно на веб-странице. Такой табличный файл, как и любой другой, можно загрузить в вашу учетную запись Lokad, однако гораздо практичнее отправить файл сразу же на панель управления. Ячейка upload предназначена как раз для таких случаев.
read upload as MySuppliers[*] with 
  SupplierId : text
  SupplierQuota : number
  SupplierCountry : text

show upload "Supplier settings" with MySuppliers.*
В отличие от других ячеек, upload тесно связана с соответствующим оператором read upload. Синтаксис позволяет обрабатывать данные, отправленные пользователем, так же, как любую таблицу, к которой имеет доступ Envision. Синтаксис позволяет указать предполагаемый формат столбцов в загружаемой на панель управления таблице. Как и случае с другими входящими данными, система Envision обеспечивает полную поддержку версий ранее загруженных файлов. Ранее отправленные файлы можно загрузить с панели управления по ссылке «Журнал выполнения».

Функции отправки файлов доступны всем пользователям, у которых есть доступ к панели управления. Доступ к файлам вашей учетной записи Lokad не требуется. Таким образом, ячейка upload также помогает управлять правами доступа пользователей.