Что такое self в Python: примеры из реального мира
Что такое self в Python: примеры из реального мира
В сегодняшнем блоге вы узнаете, как использовать LuckyTemplates для разделения столбцов по разделителям с помощью DAX. Это то, что вы, вероятно, знаете, как легко сделать с помощью Power Query, и это, как правило, лучший способ сделать это.
Но из-за динамического характера проблемы и конкретных соображений в рамках модели данных бывают ситуации, когда использование DAX обеспечивает лучшее решение. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Оглавление
Пример проблемы
Это пример проблемы в LuckyTemplates.
У вас есть список из примерно 600 названий фильмов, и вы хотите определить среди них наиболее распространенные слова. Для этого вы будете использовать слайдер параметров, показанный ниже, для расчета слов из каждого заголовка.
В ползунке вы можете установить, сколько верхних слов вы хотите вернуть. Для этого урока предположим, что вы установили его на пять слов.
Ваша следующая цель — вернуть все заголовки, содержащие хотя бы одно из пяти выбранных вами слов. Это может показаться простым, но это немного сложнее, чем кажется. Итак, вот шаги для достижения этих целей.
Шаги о том, как разделить столбцы с помощью разделителей
В этом разделе вы узнаете, как решить данную проблему путем разделения столбцов в DAX. Первый шаг — открыть данные фильма, щелкнув второй значок слева, а затем « Фильм» на панели полей.
В списке фильмов, которые будут показаны, вам нужно подумать о том, как разбить названия на отдельные слова.
Одним из возможных решений является использование двух виртуальных таблиц , как показано ниже. Таблица 1 представляет собой таблицу с одним столбцом первых N слов, определенных ползунком. Вторая таблица представляет собой виртуальный столбец слов в каждом названии фильма.
Затем, используя две виртуальные таблицы, вы можете использовать функцию , чтобы определить, какие слова являются общими между ними. Затем выполните для этой виртуальной таблицы, чтобы узнать, больше или равно это число единице.
Если ответ да, то хотя бы одно из целевых слов есть в названии фильма. И это те титулы, которые мы хотим сохранить в конечном результате.
Поиск полезных инструментов разделения столбцов LuckyTemplates в руководстве по SQLBI DAX
Чтобы подумать о том, как вы можете реализовать это, вы можете обратиться к руководству по SQLBI DAX, перейдя во внешние инструменты , а затем в руководство по DAX .
На этой странице вы можете искать функции по типу, щелкнув Группы.
В разделе «Функции» вы можете начать с «Текст» , чтобы увидеть, есть ли какие-либо текстовые функции, похожие на разделение столбцов по разделителям. Это упростило бы задачу, но, к сожалению, в DAX нет ничего, что соответствовало бы этому.
Вместо этого вы будете использовать , которые делают то же самое, что и разделение по разделителю.
Функции родительско-дочерней иерархии
Функции иерархии родитель-потомок или функции PATH обычно используются для иерархических ситуаций. Допустим, вам нужен HR-анализ, в котором есть генеральный директор фирмы, менеджеры на уровне директоров, менеджеры на уровне руководителей филиалов и так далее.
Функции PATH могут выражать эту иерархию определенным образом и перемещаться по ней вперед и назад. Это традиционное использование функций иерархии родитель-потомок, но вы узнаете, что у него также есть несколько очень полезных свойств для работы с текстом и DAX.
Использовать его намного сложнее, чем LuckyTemplates, но мы надеемся упростить этот процесс, предоставив вам пошаговое решение. Это полезная техника для изучения, и она знакомит вас с семейством невероятно мощных функций DAX.
Разделить столбец LuckyTemplates в DAX
Функции иерархии родитель-потомок включают в себя ряд шагов, но на них стоит обратить внимание, потому что эти пять функций действительно мощные и гибкие.
Чтобы начать, вернитесь к таблице и нажмите пленки» на панели полей.
Создайте траекторию пленки с помощью команды , как показано ниже.
Эта команда заменяет каждый пробел символом вертикальной черты.
Это то же самое, как пути должны быть отформатированы в LuckyTemplates, поэтому обычно это делается в Power Query. Однако вы сделали это таким образом, чтобы увидеть команды , которые отличаются от команд M в Power Query.
Функция ПОДСТАВИТЬ создает нужную вам структуру пути, а команда избавляется от любых начальных или конечных пробелов, которые могут повлиять на наши результаты
Второй вычисляемый столбец — длина пути. Это прямая команда в функции , которую вы применяете к пути пленки. Он сообщит вам, сколько элементов находится на этом пути, поэтому в данном случае это количество слов в заголовке.
Эту же команду можно использовать, например, для определения количества людей в цепочке отчетов. Но в данном случае это просто подсчет слов.
Следующее, что нужно сделать, это перейти к индексу максимального пути на панели «Поля». Затем создайте вычисляемую таблицу, которая проходит через всю таблицу фильмов, удаляет фильтры и вычисляет максимальную длину пути, чтобы узнать самый длинный заголовок в базе данных.
Используя функцию , вы можете сгенерировать серию индексов, в которых путь от одного до максимального считается единицами.
Вот так должна выглядеть ваша таблица. Через минуту вы поймете, почему это ценно.
А пока вернитесь в LuckyTemplates и нажмите «Верхние слова в пути к фильму» на панели «Поля».
Мы сосредоточимся на этой виртуальной таблице, общим решением которой была показанная ранее диаграмма Венна.
Давайте разберем его, чтобы лучше понять. В строках ниже мы использовали виртуальную таблицу для первых N слов, рассчитанную ниже.
Затем в строках ниже вычисляется разделенный столбец по разделителю.
Затем мы применили пересечение этих двух столбцов. Если это пересечение больше нуля, мы присвоим ему единицу или ноль. Наконец, мы вернули результат.
При работе со сложными виртуальными таблицами проще всего зайти в Tabular Editor , где можно материализовать эти виртуальные таблицы в запросе DAX. Для этого вам нужно сосредоточиться на строках, выделенных ниже.
Итак, скопируйте этот код и оставьте его в нашем буфере обмена для следующих шагов.
Обработка разделенных столбцов LuckyTemplates с помощью табличного редактора 3
Во Внешних инструментах щелкните Редактор таблиц 3 . Вы также можете использовать для этого DAX Studio, но рекомендуется использовать табличный редактор из-за его дополнительных функций отладки и других полезных возможностей. Для запросов DAX хорошо подойдет DAX Studio, и это совершенно бесплатно.
Вернувшись в табличный редактор, создайте новый запрос DAX, щелкнув значок бумаги на ленте. Введите EVALUATE в строке 1, вставьте скопированный код и нажмите F5.
Вы получите таблицу с пути к фильму и максимальным путем для первых двух столбцов. Для третьего столбца вы будете использовать команду и путь к фильму, чтобы определить, какое первое слово будет для каждого приращения индекса пути, от одного до девяти.
Этот код возвращает первое слово, представленное в третьем столбце.
Попробуйте просмотреть конкретный фильм, щелкнув значок «Фильтр» в заголовке столбца «Фильмы[Путь к фильму] ». Например, возьмите тот, который немного длиннее, скажем, «Капитан Америка: Зимний солдат».
В нижней части окна видно, что EVALUATE вернул 1000 строк .
Получите все строки , а затем вернитесь и снова отфильтруйте Movies[Film Path] для Captain America.
В поисках Капитана Америки: Зимний Солдат. Установите соответствующий флажок и нажмите «Закрыть».
Что именно он делает для каждого заголовка, так это просматривает и применяет индексы от одного до девяти, как показано во втором столбце, а затем применяет это к команде .
Вы можете видеть, что первый элемент — это Капитан , второй — Америка , третий — The , четвертый — Зима , а последний — Солдат . Когда вы получаете от шести до девяти, это просто пусто, потому что количество слов в этом конкретном заголовке превышает количество.
То, что вы создали, представляет собой столбец разделения по разделителю, который точно такой же, как разделение по разделителю в Power Query.
В LuckyTemplates вы можете видеть, что команда , которая проходит через пересечение, и оператор IF. Итак, если вы вернетесь к своему набору данных и откроете панель «Фильтры», вы увидите, что Top Word in Film отфильтрован так, что он равен единице.
В основном это говорит о том, что все в правой таблице (Фильм), у которых есть слово, которое находится в целевом списке в левой таблице, будет указано в верхних строках. С другой стороны, те, которые равны нулю, будут помещены вниз.
Power Automate Разделение функции и массивов
Разделение столбцов LuckyTemplates Руководство по Power Query: как разделить многострочные ячейки Excel в LuckyTemplates
Создание списка с разделителями в Power Query — руководство по редактору запросов
Заключение
В этом блоге вы узнали, как разделить столбцы по разделителю в DAX. Вы найдете этот инструмент действительно полезным, когда ваша ситуация очень динамична или ваша модель данных не поддерживает выполнение этого в Power Query.
Кроме того, пример задачи, над которой вы работали, является хорошей иллюстрацией необычной силы команд PATH и того, как вы можете использовать их для решения проблем нетрадиционными способами.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.
Что такое шлюз LuckyTemplates? Все, что тебе нужно знать