Разделить столбец LuckyTemplates по разделителям в DAX

Разделить столбец LuckyTemplates по разделителям в DAX

В сегодняшнем блоге вы узнаете, как использовать LuckyTemplates для разделения столбцов по разделителям с помощью DAX. Это то, что вы, вероятно, знаете, как легко сделать с помощью Power Query, и это, как правило, лучший способ сделать это. 

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

Оглавление

Пример проблемы

Это пример проблемы в LuckyTemplates.

Разделить столбец LuckyTemplates по разделителям в DAX

У вас есть список из примерно 600 названий фильмов, и вы хотите определить среди них наиболее распространенные слова. Для этого вы будете использовать слайдер параметров, показанный ниже, для расчета слов из каждого заголовка.

Разделить столбец LuckyTemplates по разделителям в DAX

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

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

Шаги о том, как разделить столбцы с помощью разделителей

В этом разделе вы узнаете, как решить данную проблему путем разделения столбцов в DAX. Первый шаг — открыть данные фильма, щелкнув второй значок слева, а затем « Фильм» на панели полей. 

Разделить столбец LuckyTemplates по разделителям в DAX

В списке фильмов, которые будут показаны, вам нужно подумать о том, как разбить названия на отдельные слова.

Одним из возможных решений является использование двух виртуальных таблиц , как показано ниже. Таблица 1 представляет собой таблицу с одним столбцом первых N слов, определенных ползунком. Вторая таблица представляет собой виртуальный столбец слов в каждом названии фильма. 

Разделить столбец LuckyTemplates по разделителям в DAX

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

Если ответ да, то хотя бы одно из целевых слов есть в названии фильма. И это те титулы, которые мы хотим сохранить в конечном результате. 

Поиск полезных инструментов разделения столбцов LuckyTemplates в руководстве по SQLBI DAX

Чтобы подумать о том, как вы можете реализовать это, вы можете обратиться к руководству по SQLBI DAX, перейдя во внешние инструменты , а затем в руководство по DAX

Разделить столбец LuckyTemplates по разделителям в DAX

На этой странице вы можете искать функции по типу, щелкнув Группы.

Разделить столбец LuckyTemplates по разделителям в DAX

В разделе «Функции» вы можете начать с «Текст» , чтобы увидеть, есть ли какие-либо текстовые функции, похожие на разделение столбцов по разделителям. Это упростило бы задачу, но, к сожалению, в DAX нет ничего, что соответствовало бы этому.

Разделить столбец LuckyTemplates по разделителям в DAX

Вместо этого вы будете использовать , которые делают то же самое, что и разделение по разделителю.

Разделить столбец LuckyTemplates по разделителям в DAX

Функции родительско-дочерней иерархии

Функции иерархии родитель-потомок или функции PATH обычно используются для иерархических ситуаций. Допустим, вам нужен HR-анализ, в котором есть генеральный директор фирмы, менеджеры на уровне директоров, менеджеры на уровне руководителей филиалов и так далее.

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

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

Разделить столбец LuckyTemplates в DAX

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

Чтобы начать, вернитесь к таблице и нажмите пленки» на панели полей. 

Разделить столбец LuckyTemplates по разделителям в DAX

Создайте траекторию пленки с помощью команды , как показано ниже.

Разделить столбец LuckyTemplates по разделителям в DAX

Эта команда заменяет каждый пробел символом вертикальной черты. 

Разделить столбец LuckyTemplates по разделителям в DAX

Это то же самое, как пути должны быть отформатированы в LuckyTemplates, поэтому обычно это делается в Power Query. Однако вы сделали это таким образом, чтобы увидеть команды , которые отличаются от команд M в Power Query. 

Функция ПОДСТАВИТЬ создает нужную вам структуру пути, а команда избавляется от любых начальных или конечных пробелов, которые могут повлиять на наши результаты 

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

Разделить столбец LuckyTemplates по разделителям в DAX

Эту же команду можно использовать, например, для определения количества людей в цепочке отчетов. Но в данном случае это просто подсчет слов. 

Разделить столбец LuckyTemplates по разделителям в DAX

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

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

Разделить столбец LuckyTemplates по разделителям в DAX

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

Разделить столбец LuckyTemplates по разделителям в DAX

А пока вернитесь в LuckyTemplates и нажмите «Верхние слова в пути к фильму» на панели «Поля». 

Разделить столбец LuckyTemplates по разделителям в DAX

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

Разделить столбец LuckyTemplates по разделителям в DAX

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

Разделить столбец LuckyTemplates по разделителям в DAX

Затем в строках ниже вычисляется разделенный столбец по разделителю. 

Разделить столбец LuckyTemplates по разделителям в DAX

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

Разделить столбец LuckyTemplates по разделителям в DAX

При работе со сложными виртуальными таблицами проще всего зайти в Tabular Editor , где можно материализовать эти виртуальные таблицы в запросе DAX. Для этого вам нужно сосредоточиться на строках, выделенных ниже. 

Разделить столбец LuckyTemplates по разделителям в DAX

Итак, скопируйте этот код и оставьте его в нашем буфере обмена для следующих шагов. 

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

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

Вернувшись в табличный редактор, создайте новый запрос DAX, щелкнув значок бумаги на ленте. Введите EVALUATE в строке 1, вставьте скопированный код и нажмите F5.

Разделить столбец LuckyTemplates по разделителям в DAX

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

Разделить столбец LuckyTemplates по разделителям в DAX

Этот код возвращает первое слово, представленное в третьем столбце. 

Разделить столбец LuckyTemplates по разделителям в DAX

Попробуйте просмотреть конкретный фильм, щелкнув значок «Фильтр» в заголовке столбца «Фильмы[Путь к фильму] ». Например, возьмите тот, который немного длиннее, скажем, «Капитан Америка: Зимний солдат». 

Разделить столбец LuckyTemplates по разделителям в DAX

В нижней части окна видно, что EVALUATE вернул 1000 строк

Разделить столбец LuckyTemplates по разделителям в DAX

Получите все строки , а затем вернитесь и снова отфильтруйте Movies[Film Path] для Captain America.

Разделить столбец LuckyTemplates по разделителям в DAX

В поисках Капитана Америки: Зимний Солдат. Установите соответствующий флажок и нажмите «Закрыть».

Разделить столбец LuckyTemplates по разделителям в DAX

Что именно он делает для каждого заголовка, так это просматривает и применяет индексы от одного до девяти, как показано во втором столбце, а затем применяет это к команде .

Вы можете видеть, что первый элемент — это Капитан , второй — Америка , третий — The , четвертый — Зима , а последний — Солдат . Когда вы получаете от шести до девяти, это просто пусто, потому что количество слов в этом конкретном заголовке превышает количество. 

Разделить столбец LuckyTemplates по разделителям в DAX

То, что вы создали, представляет собой столбец разделения по разделителю, который точно такой же, как разделение по разделителю в Power Query. 

В LuckyTemplates вы можете видеть, что команда , которая проходит через пересечение, и оператор IF. Итак, если вы вернетесь к своему набору данных и откроете панель «Фильтры», вы увидите, что Top Word in Film отфильтрован так, что он равен единице. 

Разделить столбец LuckyTemplates по разделителям в DAX

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

Разделить столбец LuckyTemplates по разделителям в DAX


Power Automate Разделение функции и массивов
Разделение столбцов LuckyTemplates Руководство по Power Query: как разделить многострочные ячейки Excel в LuckyTemplates
Создание списка с разделителями в Power Query — руководство по редактору запросов

Заключение

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

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


Что такое 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? Все, что тебе нужно знать