Запросы и агрегации в таблице Tulip
  • 13 May 2024
  • 3 Минуты для чтения
  • Авторы

Запросы и агрегации в таблице Tulip


Вводный текст

Цель

Узнайте, как выполнять запросы к таблицам Tulip и создавать агрегации, доступные в приложениях Tulip Apps.

В этой статье вы узнаете...

  • Возможности запросов к таблицам
  • Как создавать запросы и агрегации
  • Как использовать запросы и агрегации в приложениях

Введение в табличные запросы и агрегации таблиц

Запросы и агрегации таблиц позволяют вам динамично взаимодействовать с таблицами Tulip, фильтруя и обобщая данные для использования в приложениях.

В этой статье мы обратимся к следующей таблице заказов, содержащей 10 строк:

В правом верхнем углу вы видите кнопки Запросы и Агрегации. Нажмите на Queries, чтобы добавить новый запрос.

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

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

В следующем примере суммируется поле таблицы " Количество товара":

Параметры запроса

Фильтр

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

Примеры вариантов сравнения включают:

  • равно / не равно
  • является нулевым / не является нулевым
  • содержит / не содержит
  • начинается с / не начинается с
  • заканчивается / не заканчивается
  • находится в
  • больше или равно / меньше или равно
  • находится после или на / находится до или на

Static Value будет статически задаваться при построении запроса, а App Input будет настраиваться в самом приложении. App Input может быть настроен как:

  • Переменная
  • Статическое значение
  • Информация приложения
  • Запись в таблице Tulip

Теперь вы можете использовать поля Created At и Updated At в запросах к таблице.

Сортировка

Настройте отображение записей, задав параметр Sort. Примеры включают:

  • От A до Z / От Z до A
  • от 0 до 9 / от 9 до 0

Ограничение

Максимальное количество записей, возвращаемых запросом.

  • По умолчанию: 1 000
  • Максимум: 1,000
Поведение при превышении лимита

Если в таблице больше записей, соответствующих фильтрам запроса (или в целом, если вы не настроили никаких фильтров), чем установлено ограничение, в результат запроса будет включено только столько записей, сколько указано в ограничении.

Если запрос содержит сортировку, в результат будут включены первые записи, соответствующие этой сортировке:

Тестирование

После настройки запроса с помощью параметров фильтра, сортировки и ограничения его можно протестировать прямо в таблице, нажав кнопку Тест. Это будет имитировать то, что запрос вернет в приложении.

Агрегации

Агрегации - это суммарные значения, которые выполняются поверх запросов и могут вычислять одно из следующих значений для определенного столбца:

  • Среднее
  • Count
  • Max
  • Min
  • Режим
  • Сумма
  • Уникальные значения

:::(Warning) (Ограничения) Агрегации выполняются на записях, возвращаемых табличным запросом, для которого они настроены. Поэтому ограничение, установленное для родительского табличного запроса агрегации, применяется и к ней.

Это означает, что агрегации могут учитывать максимум 1 000 записей. Поэтому они могут показывать неожиданные результаты, если в таблице больше записей для заданных фильтров, чем установлено ограничение, а пользователь не знает об ограничении запроса.

Если вам нужно агрегировать более 1 000 записей для использования в приложении, вы можете воспользоваться конечной точкой runAggregation API Tulip, которая поддерживает до 100 000 записей, через функцию коннектора. Если вам нужно визуализировать только агрегацию большего количества записей, вы можете построить анализ Single Value в Tulip Analytics, который позволяет агрегировать все записи в таблице. :::

Использование запросов и агрегаций в приложениях

Добавление запросов в приложения

Чтобы добавить запрос в приложение, сначала добавьте таблицу в приложение, нажав на вкладку Records и +Add Table. Затем нажмите кнопку Запрос.

В появившемся модале задайте запросу имя запроса и, если применимо, настройте App Input, связанный с фильтром. В этом примере мы видим запрос Products Not Shipped:

Теперь, когда запрос настроен в приложении, встройте интерактивную таблицу и выберите источник данных для запроса.

Встроенная таблица отобразит результаты запроса. В этом примере возвращены 3 записи, удовлетворяющие фильтру**"Отгружено", равному "Нет"**:

Добавление агрегаций в приложения

Аналогично тому, как запрос добавляется в приложение, добавьте агрегацию, нажав +Add Aggregation, и назначьте имя агрегации.

В этом примере агрегация Total Qty Products Ordered выполняется на запросе, который возвращает только записи, которые не были отправлены. По этой причине имя агрегации - Количество товаров, которые будут отгружены:

Чтобы встроить агрегацию в приложение, поместите переменную в приложение и выберите Datasource - Tulip Table Aggregation. Затем выберите имя агрегации, которое было настроено при добавлении агрегации в приложение.

В этом примере агрегация " Сумма количества продукта " была запущена поверх запроса, возвращающего записи, которые необходимо отправить. В результате было получено 17 записей:

Использование агрегаций в логике приложений

С помощью агрегаций вы можете построить логику приложения на основе значения агрегации. Смотрите пример ниже:

Обратите внимание, что аналитика Single Number Tulip Analytics в настоящее время недоступна из приложения и не может быть напрямую использована в логике приложения. Запустив агрегацию в запросе, вы сможете нацелиться на это значение и, таким образом, построить логику приложения на его основе.


Была ли эта статья полезной?