Каскадные раскрывающиеся списки в приложениях на основе холста

Каскадные раскрывающиеся списки в приложениях на основе холста

В этом уроке мы поговорим о том, как работают каскадные раскрывающиеся списки.

Каскадные раскрывающиеся списки — это два или более раскрывающихся списка, которые зависят друг от друга.

При использовании в Power Apps каскадные раскрывающиеся списки могут улучшить взаимодействие с конечным пользователем, особенно когда речь идет о фильтрации огромных объемов данных.

Оглавление

Добавление таблицы поиска клиентов

Давайте начнем с добавления раскрывающегося списка на новый экран.

Мы добавим новый экран, продублировав основной экран — метод, который мы обсуждали в предыдущем уроке . Мы назовем этот экран «Поиск элемента».

Каскадные раскрывающиеся списки в приложениях на основе холста

Затем давайте добавим таблицу данных на экран.

Каскадные раскрывающиеся списки в приложениях на основе холста

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

Каскадные раскрывающиеся списки в приложениях на основе холста

Затем добавим нужные нам поля, нажав «Редактировать поля». Для этой таблицы мы будем использовать имя, фамилию, местоположение и уровень VIP.

Каскадные раскрывающиеся списки в приложениях на основе холста

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

Каскадные раскрывающиеся списки в приложениях на основе холста

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

Добавление первого раскрывающегося списка

Перейдем к вводу под лентой «Вставка» и нажмите «Раскрывающийся список».

Каскадные раскрывающиеся списки в приложениях на основе холста

По умолчанию раскрывающиеся списки будут иметь значения 1, 2 и 3.

Каскадные раскрывающиеся списки в приложениях на основе холста

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

Каскадные раскрывающиеся списки в приложениях на основе холста

Затем в разделе «Значение» мы собираемся выбрать столбец, который мы хотим использовать в раскрывающемся списке. В этом случае воспользуемся Location.

Каскадные раскрывающиеся списки в приложениях на основе холста

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

Каскадные раскрывающиеся списки в приложениях на основе холста

Это потому, что на данный момент он просто берет все записи в столбце «Местоположение», независимо от того, сколько раз появляется запись. Чтобы избавиться от этих дубликатов, мы воспользуемся функцией Distinct.

Функция Distinct оценивает записи в определенном столбце и удаляет все дубликаты.

Итак, давайте выделим раскрывающийся список и выберем свойство Items. Затем мы собираемся использовать функцию Distinct и ссылаться на Table1 и Location.

Каскадные раскрывающиеся списки в приложениях на основе холста

Как только мы зафиксируем эту формулу, в нашем раскрывающемся списке теперь будут только уникальные элементы без каких-либо дубликатов.

Каскадные раскрывающиеся списки в приложениях на основе холста

Чтобы упростить просмотр записей в этом раскрывающемся списке, давайте отсортируем элементы, чтобы они отображались в алфавитном порядке. Мы собираемся использовать функцию SortByColumn, для которой обычно требуется источник. В этом примере источником будет наш список отдельных элементов в столбце «Местоположение».

Каскадные раскрывающиеся списки в приложениях на основе холста

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

Каскадные раскрывающиеся списки в приложениях на основе холста

Теперь у нас есть все наши уникальные местоположения, отсортированные в этом раскрывающемся списке.

Каскадные раскрывающиеся списки в приложениях на основе холста

Подключение таблицы данных к раскрывающемуся списку

Следующим шагом будет сделать эту таблицу зависимой от раскрывающегося списка. Для этого воспользуемся функцией Фильтр.

Итак, давайте выделим таблицу данных, перейдем к свойству Items и воспользуемся функцией Filter. Функция фильтра обычно использует источник и логический тест. В данном случае нашим источником является Table1. Что касается логического теста, мы хотим, чтобы он был эквивалентен любому значению, которое пользователь выбирает из раскрывающегося списка.

Каскадные раскрывающиеся списки в приложениях на основе холста

Если мы посмотрим на левую панель, мы увидим, что раскрывающийся список, на который мы хотим сослаться, — это Dropdown4.

Каскадные раскрывающиеся списки в приложениях на основе холста

Это элемент, который мы будем использовать для нашего логического теста. Мы будем использовать Dropdown4.Selected.Result, потому что мы хотим показать результаты только на основе выбранного элемента.

Каскадные раскрывающиеся списки в приложениях на основе холста

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

Каскадные раскрывающиеся списки в приложениях на основе холста

Добавление второго раскрывающегося списка

Поскольку в конечном итоге мы хотим каскадировать наши раскрывающиеся списки, это означает, что нам нужно как минимум два раскрывающихся списка или более. Итак, давайте добавим второй раскрывающийся список. На этот раз он будет использоваться для фильтрации наших записей по VIP-уровню.

В этом примере новое раскрывающееся меню — Dropdown5.

Каскадные раскрывающиеся списки в приложениях на основе холста

Еще раз нам нужно нажать на источник данных, который является Table1. Затем мы будем использовать VIP-уровень в качестве значения.

Каскадные раскрывающиеся списки в приложениях на основе холста

Поскольку элементы в столбце VIP-уровня, скорее всего, также будут иметь дубликаты, мы снова воспользуемся функцией Distinct, ссылаясь в процессе на Table1 и VIPLevel.

Каскадные раскрывающиеся списки в приложениях на основе холста

Это гарантирует, что у нас нет дубликатов в раскрывающемся списке.

Каскадные раскрывающиеся списки в приложениях на основе холста

Теперь давайте расставим и эти предметы по порядку. Как и в нашем первом раскрывающемся списке, мы будем использовать SortByColumn, на этот раз ссылаясь на VIPLevel вместо Location.

Каскадные раскрывающиеся списки в приложениях на основе холста

С этой формулой элементы в нашем раскрывающемся списке теперь расположены в правильном порядке.

Каскадные раскрывающиеся списки в приложениях на основе холста

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

Итак, если мы перейдем к исходной формуле, нам просто нужно добавить VIPLevel = Dropdown5.Selected.Result.

Каскадные раскрывающиеся списки в приложениях на основе холста

После того, как мы сохранили эту формулу, теперь мы можем выбирать элементы из обоих раскрывающихся списков, и наша таблица данных будет фильтровать записи на основе их обоих. Например, если мы выберем Сингапур в раскрывающемся списке «Местоположение» и 1 в раскрывающемся списке VIP-уровня, мы получим две записи, соответствующие этим параметрам.

Каскадные раскрывающиеся списки в приложениях на основе холста

Мы можем изменить VIP-уровень на 4, и он покажет один результат, соответствующий нашим фильтрам.

Каскадные раскрывающиеся списки в приложениях на основе холста

Теперь обратите внимание, как стол становится пустым, когда мы выбираем VIP-уровень 5 с Сингапуром в качестве местоположения.

Каскадные раскрывающиеся списки в приложениях на основе холста

Это означает, что в Сингапуре нет никого, кто имел бы VIP-уровень 5. Хотя это понятно, мы хотим, чтобы 5 не отображался во втором раскрывающемся списке, если нет соответствующей записи. В конце концов, это и есть каскадные раскрывающиеся списки.

Создание каскадных раскрывающихся списков

На данный момент свойство Items для нашего второго раскрывающегося списка просматривает Table1, берет отдельные элементы из столбца VIPLevel и сортирует их, используя фактический результат.

Каскадные раскрывающиеся списки в приложениях на основе холста

Мы хотим, чтобы источник данных был сужен до того, что выбрано в первом раскрывающемся списке, вместо просмотра всей таблицы Table1. Например, если пользователь выбирает Сингапур в раскрывающемся списке «Местоположение», в раскрывающемся списке VIPLevel должны отображаться только элементы, соответствующие Сингапуру, а не вся таблица.

Итак, мы добавим сюда функцию Filter, убедившись, что Table1 фильтруется на основе условия, что Location должно быть эквивалентно Dropdown4.Selected.Result.

Каскадные раскрывающиеся списки в приложениях на основе холста

Если мы сейчас проверим наш раскрывающийся список, мы увидим, что во втором раскрывающемся списке больше не отображается 5, а Сингапур выбран в первом раскрывающемся списке.

Каскадные раскрывающиеся списки в приложениях на основе холста

Если на этот раз мы проверим Канаду, то увидим, что под VIP-уровнем нет 3.

Каскадные раскрывающиеся списки в приложениях на основе холста

Если мы еще раз проверим это на нашем исходном источнике данных, то есть в таблице 1, мы увидим, что в Канаде действительно нет совпадений для VIPLevel 3. Это означает, что наша формула работает.

Каскадные раскрывающиеся списки в приложениях на основе холста


Введение в Power Apps: определение, функции, функции и важность
Среды Power Apps: правильная настройка элементов приложения
Функции и формулы PowerApps | Введение

Заключение

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

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

Всего наилучшего,

Генри


Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Что такое self в Python: примеры из реального мира

Как сохранить и загрузить файл RDS в R

Как сохранить и загрузить файл RDS в R

Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

Новый взгляд на первые N рабочих дней — решение для языка кодирования DAX

В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

Продемонстрируйте идеи с помощью метода многопоточных динамических визуализаций в LuckyTemplates

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

Введение в фильтрацию контекста в LuckyTemplates

Введение в фильтрацию контекста в LuckyTemplates

В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Лучшие советы по использованию приложений в онлайн-службе LuckyTemplates

Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Анализ изменений маржи прибыли с течением времени — аналитика с LuckyTemplates и DAX

Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.

Идеи материализации кэшей данных в DAX Studio

Идеи материализации кэшей данных в DAX Studio

В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.

Бизнес-отчетность с использованием LuckyTemplates

Бизнес-отчетность с использованием LuckyTemplates

Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать

Что такое шлюз LuckyTemplates? Все, что тебе нужно знать