Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
Как аналитикам данных, нам часто приходится группировать и ранжировать значения из набора данных, чтобы генерировать тенденции и идеи. Однако не все знают, как легко выполнять эти задачи с помощью LuckyTemplates.
В сегодняшнем блоге мы рассмотрим сценарий, который требует ранжирования LuckyTemplates и пользовательских функций группировки, чтобы показать вам, как именно это сделать. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
В этом руководстве мы будем использовать таблицу данных с тремя столбцами, а именно идентификаторы записей , приоритеты и минуты . Наша цель — определить 5% лучших записей с приоритетом 1 или 2 на основе максимального количества минут.
Оглавление
Набор данных для создания рейтинга и группировки LuckyTemplates
Вот как набор данных выглядит в Power Query. У него нет атрибута для отделения приоритетов 1 и 2 от остальных, что требует от нас использования М-функции Table.Partition . Это создаст вспомогательный столбец для отделения приоритетов 1 и 2 от других строк.
Функция LuckyTemplates: Table.Partition
Чтобы изучить, как использовать Table.Partition для сегментации наших данных, мы начнем с открытия расширенного редактора .
В появившемся окне добавьте новую строку для создания новой переменной. Назовем переменную Partitions . Добавьте функцию Table.Partition , для которой требуется следующая информация.
В строке 5 мы изменим Source на Partitions , что даст нам следующее решение.
Нажмите «Готово» , чтобы увидеть, как это повлияет на нашу таблицу. Как показано ниже, функция Table.Partition создает список с двумя вложенными таблицами .
При нажатии Таблица 1 открывается таблица предварительного просмотра, содержащая все записи с приоритетом меньше трех (приоритеты 1 и 2).
Все остальные строки находятся в Таблице 2 .
Поскольку приоритеты 1 и 2 теперь сгруппированы в одной таблице, теперь мы можем использовать таблицу для расчета 5% лучших.
Функция LuckyTemplates: Table.RowCount
Table.RowCount можно использовать для определения количества строк , необходимых для удовлетворения требования 5%. Он подсчитает количество строк с приоритетами 1 и 2, а затем получит 5% от полученного числа.
Для начала откройте окно расширенного редактора в левом верхнем углу.
Затем мы добавим новую строку и новую переменную, которую назовем nRow. Нам нужно извлечь нашу первую таблицу, скопировав имя ее переменной Partitions из строки 3.
Далее мы будем использовать оператор позиционного индекса для доступа к первому элементу в списке первой таблицы. Затем оберните оператор Table.RowCount вокруг Partitions(0). Затем мы умножим его на 0,05, чтобы получить 5%.
Кроме того, округляйте число до нуля с помощью функции Number.Round . Наконец, мы изменим последнюю строку с Partitions на nRow.
Это должно вернуть два, как показано ниже.
Результат означает, что для выполнения требования 5% нам нужно пометить две строки из таблицы 1. Для этого мы можем использовать новую М-функцию Table.AddRankColumn.
Функция LuckyTemplates: Table.AddRankColumn
В этом разделе мы будем использовать функцию LuckyTemplates Rank для ранжирования наших строк. Table.AddRankColumn используется для добавления нового столбца ранжирования в таблицу на основе наших критериев сравнения .
Для начала откройте окно расширенного редактора . Создайте таблицу 1 и назовите ее t1 в новой строке. Затем используйте Table.AddRankColumn и добавьте нашу первую таблицу Partitions (0). Нам также нужно назначить новое имя столбца, которое мы назовем i.
Для критериев сравнения мы хотим ранжировать минуты от большего к меньшему, используя {"Minutes", Order.Descending} .
Наконец, добавьте RankKind=RankKind.Ordinal . Это приведет к тому, что всем элементам будет присвоен уникальный номер, даже если они оцениваются как равные. Затем мы изменим nRow на t1 , чтобы вернуть таблицу 1.
Наше решение должно выглядеть так.
Нажмите «Готово» , чтобы получить таблицу, подобную этой.
Добавление логического фильтра
Мы также добавим в нашу таблицу логический фильтр, потому что мы больше не хотим сохранять столбец рангов. Вместо этого мы хотим добавить логический фильтр, чтобы идентифицировать только две верхние строки, которые нам нужно исключить.
Итак, вернемся в окно расширенного редактора и добавим пользовательский столбец. Добавьте новую строку с помощью функции Table.AddColumn и вызовите новый столбец Exclude .
Для генератора столбцов мы можем просмотреть вновь созданный столбец, используя каждый i, меньший или равный нашему номеру nRow, который представляет собой количество строк, которые нужно исключить. Мы также назначим им тип данных, используя тип логического .
Наше решение должно выглядеть так.
Нажмите «Готово» , чтобы получить таблицу, похожую на приведенную ниже.
Функция LuckyTemplates: Table.RemoveColumns
Нам больше не нужен наш вспомогательный столбец, поэтому мы можем удалить его из нашей таблицы.
Итак, в окне Advanced Editor воспользуемся Table.RemoveColumns и удалим столбец i .
Затем нажмите Готово .
Объединение таблиц
Мы создали новую версию нашей вложенной таблицы 1, и нам нужно создать такой же макет для нашей вложенной таблицы 2. И для этой таблицы нам нужно добавить столбец исключения, где все значения должны быть равны TRUE.
В расширенном редакторе создайте новую переменную с именем t2. Мы добавим пользовательский столбец с помощью Table.AddColumn и вызовем Partitions(1) . Затем добавьте столбец Exclude и задайте для генератора столбцов значение true, введите logical .
Мы хотим вернуть t2 , отредактировав строку 13.
У нас должна получиться вот такая таблица.
Последнее, что нам нужно сделать, это снова объединить эти две таблицы. В окне расширенного редактора добавьте новую переменную с именем t, которая равна t1 и t2 .
Нажмите «Готово» , чтобы получить итоговую таблицу, похожую на приведенную ниже. Теперь у нас есть таблица, ранжированная и сгруппированная на основе заданных нами критериев, а 5% лучших помечены для исключения.
Анализ ранжирования в LuckyTemplates: дополнительные сведения из комбинированных наборов данных
Визуализация ранжирования в LuckyTemplates — динамические визуальные
измерения и группы LuckyTemplates для фильтрации таблиц в отчетах
Заключение
В этом блоге вы узнали, как использовать функции Table.Partition , Table.AddRankColumn и Table.RemoveColumns в Power Query. Наш образец набора данных имеет 44 строки с приоритетами 1 и 2, которые мы успешно сгруппировали и ранжировали, при этом 5% лучших отмечены соответствующим образом.
Благодаря этим новым знаниям об использовании этих функций вы теперь можете использовать функции ранжирования и пользовательской группировки LuckyTemplates для своего следующего набора данных.
Всего наилучшего,
Мелисса де Корте
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать