Пользовательские действия

Составьте SQL для обновления записей в ваших базах данных.

Пользовательское действие

Создание пользовательского действия

Для создания действия вы должны находиться в группе с доступом к редактированию прямых запросов.

Есть два способа создать пользовательское действие:

  1. Нажмите + Новый > Действие. При сохранении вашего действия вам будет предложено связать это действие с моделью. (ПРИМЕЧАНИЕ: опция Действие появится только в меню + Новый, если вы сначала создадите или получите доступ к модели в Glarus BI.)

  2. Через страницу сведений о модели: из модели нажмите на кнопку Информация в верхнем правом углу. В верхнем правом углу боковой панели нажмите Сведения о модели > Действия > Новое действие.

В редакторе действий вы можете написать свой собственный код для создания действия, например, описать действие, которое обновляет только подмножество столбцов в таблице. См. Примеры действий.

Типы полей для переменных действий

Для каждой {% raw %}{{ переменной }}{% endraw %}, которую вы используете в действии, вам нужно задать тип поля.

Каждый из этих типов полей переменных предоставляет различные варианты. Нажмите на значок шестерёнки, чтобы изменить их.

Если переменная не требуется, вы можете указать значение по умолчанию, которое Glarus BI будет подставлять, когда пользователи не ввели значение в поле. В SQL-коде не забудьте заключить любые необязательные переменные и запятые в квадратные скобки, например: {% raw %}[[, column = {{ optional_variable }}]] {% endraw %}.

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

Текст

  • Текст

  • Длинный текст

  • Выпадающий список

  • Встроенный выбор

Число

  • Число

  • Выпадающий список

  • Встроенный выбор

Дата

  • Дата

  • Дата + Время

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

Выпадающий список

Внешний вид

Вкладка «Внешний вид» в модальном окне редактора действий покажет предварительный просмотр элемента формы переменной. На изображении ниже мы нажали на шестерёнку переменной и установили переменную для использования: текст > выпадающий список. В разделе «Внешний вид» можно просмотреть, как будет выглядеть элемент формы:

Внешний вид даёт предварительный просмотр элемента формы

Настройки действия

На странице сведений о модели нажмите «» напротив действия. В редакторе действий нажмите на значок шестерёнки, чтобы открыть настройки действия.

Сделать общедоступным

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

Общедоступная форма действия

Установите сообщение об успешном выполнении

Здесь вы можете отредактировать сообщение об успешном выполнении, которое Glarus BI будет отображать во всплывающем уведомлении, после того как Glarus BI получит от базы данных подтверждение об успешном выполнении.

Если что-то пойдет не так, Glarus BI отобразит сообщение об ошибке, полученное от базы данных.

Примеры пользовательских действий

Пример действия UPDATE

Вы можете написать действие, которое обновит столбец plan для записи в таблице invoices в примере базы данных:

{% raw %}
UPDATE invoices
SET plan = {{ plan }}
   [[, payment = {{ payment }}]]
WHERE
   id = {{ id }}
{% endraw %}

Приведённый выше код создаст форму, которая предложит пользователям ввести обновлённые значения для (обязательного) поля plan и, возможно, для поля payment для указанной записи с заданным ID.

Код в скобках [[ ]] делает оператор необязательным: оператор в скобках будет выполняться только если кто-то вставит значение в поле оплаты. Обратите внимание, что запятая, разделяющая операторы, находится внутри скобок.

Пример формы действия

Пример действия INSERT

Операторы вставки довольно просты:

{% raw %}
INSERT INTO invoices (
  account_id
  ,payment
  ,expected_invoice
  ,plan
  ,date_received
)
VALUES (
  {{ account_id }}
  ,{{ payment }}
  ,CAST ({{expected_invoice}} AS boolean)
  ,{{plan}}
  ,({{date_received}}
);
{% endraw %}

Приведение типов значений полей в действиях

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

{% raw %}
UPDATE invoices
SET expected_invoice = CAST({{expected_invoice}} AS boolean)
WHERE id = {{id}};
{% endraw %}

Ссылка на сохранённые вопросы в действиях

Вы также можете ссылаться на сохранённые вопросы в действиях. Здесь мы берём результаты оператора SELECT для сохранённого вопроса («Потенциальные клиенты») и вставляем результаты в таблицу people_to_write.

{% raw %}
WITH prospects AS {{#6-potential-customers}}

INSERT INTO
  people_to_write (
  first_name
  ,last_name
  ,email
  )
SELECT
  first_name
  ,last_name
  ,email
FROM prospects;
{% endraw %}

Дополнительная информация