Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
В этом уроке мы поговорим о том, как работают каскадные раскрывающиеся списки.
Каскадные раскрывающиеся списки — это два или более раскрывающихся списка, которые зависят друг от друга.
При использовании в 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: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать