Published on

July 27, 2023

Оптимизация обработки данных SQL в Microsoft Power Apps

Microsoft Power Apps предлагает широкий спектр возможностей для подключения к различным источникам данных. Однако, не все источники данных способны эффективно обрабатывать большие объемы данных. К счастью, источник данных Microsoft SQL Server Data Platform не накладывает конкретных ограничений на количество строк, которые можно извлечь, при условии соблюдения определенных рекомендаций и bewt практик.

В этой статье мы рассмотрим основные моменты, которые следует учитывать при запросе данных SQL для бизнес-приложений в Power Apps. Мы будем использовать Adventure Works 2019 в качестве примера источника данных, но обсуждаемые техники могут быть применены к другим источникам данных, таким как Azure, Excel, Oracle, CRM и Dynamics 365.

Настройка приложения

Прежде чем мы углубимся в детали, давайте настроим простое приложение с низким кодом в Power Apps. Начните с создания нового приложения и выберите макет Tablet для большего холста. Этот макет идеально подходит для встраивания приложения на страницу SharePoint Online или отображения его в виде вкладки на канале Teams.

Затем добавьте коннектор SQL и установите соединение с базой данных AdventureWorks2019. Выберите соответствующие таблицы, такие как Person.Person, Production.Product, Sales.SalesOrderDetail и Sales.SalesOrderHeader, что позволит нам отображать данные о продажах с информацией о продукте и клиенте.

Обзор продаж

Для отображения общей информации о продажах мы можем добавить галерею и ссылаться на таблицу Sales.SalesOrderHeader в свойстве Items галереи. Внутри шаблона галереи добавьте метки для SalesOrderId, Date, общей суммы и имен клиентов.

Чтобы предоставить более подробное представление о продажах для каждого SalesOrderHeader, мы можем использовать вложенную галерею. Однако важно отметить, что слишком много вложенных галерей может повлиять на производительность в зависимости от скорости и подключения устройства клиента.

Сортировка и фильтрация

Реализация возможностей сортировки и фильтрации является важным для удобного использования приложения. Давайте начнем с сортировки по дате или общей стоимости заказа, а также изменения направления сортировки. Мы можем использовать функцию SortByColumns для достижения этого, но имейте в виду, что динамические параметры в SortByColumns могут привести к потере возможности делегирования для больших наборов данных.

Для фильтрации по дате мы можем добавить выбор даты и применить условие фильтрации в свойстве Items галереи. Однако Power Apps не автоматически преобразует значение выбора даты в точный тип данных исходного столбца. Для преодоления этой проблемы мы можем создать вычисляемый столбец в базе данных SQL, который представляет дату в целочисленном формате.

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

Функциональность поиска

Интеграция функциональности поиска позволяет пользователям искать в определенном столбце. Мы можем добавить текстовое поле ввода и реализовать функцию Search для достижения этого. Однако формула Search работает только для текстовых столбцов.

Сочетая обсуждаемые выше формулы, мы можем заполнять галерею на основе формулы Search или формулы Filter, предоставляя пользователям гибкие варианты для исследования данных.

Заключение

В этой статье мы рассмотрели различные техники оптимизации обработки данных SQL в Microsoft Power Apps. Следуя bewt практикам и используя возможности делегирования Power Apps, вы можете работать с неограниченными объемами данных SQL для безупречного пользовательского опыта.

Не забывайте учитывать последствия для производительности при вложении галерей или работе с большими наборами данных. С правильным подходом Power Apps может быть мощным инструментом для создания бизнес-приложений, использующих все возможности SQL Server.

Статья последний раз обновлена: 2021-06-09

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.