Использование текстовых функций в LuckyTemplates — учебник по DAX

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

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

Использование текстовых функций в LuckyTemplates — учебник по DAX

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

Оглавление

Коды DAX с использованием текстовых функций в LuckyTemplates

Внутри DAX Studio мы напишем наш код. Первое, что нам нужно сделать, это написать ключевое слово DEFINE , а затем COLUMN . Я создаю виртуальный столбец, который существует только на время этого сеанса, который я открыл в DAX Studio. Любой столбец, который я создаю здесь, на самом деле не будет сохраняться в наборе данных, который у нас есть в LuckyTemplates.

Далее я собираюсь указать имя таблицы, в которой будет создан этот столбец. Имя столбца будет First Name .

Использование текстовых функций в LuckyTemplates — учебник по DAX

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

Для этого я создам переменную ( FirstSpace ), и это будет по сути операция поиска. Итак, я напишу Names , затем Data , который является исходным столбцом в моей базе данных. Затем я могу ВЕРНУТЬ переменную FirstSpace , чтобы мы могли увидеть, что она собирается вернуть.

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

Если я нажму f5, вы увидите, что напротив каждого имени у нас есть поиск по определенному номеру. Там написано девять в первом ряду и шесть во втором.

Использование текстовых функций в LuckyTemplates — учебник по DAX

В первой строке имя Антрикш содержит только восемь символов и возвращает один ко многим, потому что подсчитывает позицию пробела. Чтобы получить восемь, я могу написать минус один. Чтобы вернуть первое слово, я воспользуюсь функцией LEFT и напишу текстовую строку, из которой я хочу извлечь первое имя, и это Names Data . И затем я хочу указать количество символов, которые я хочу извлечь. Я напишу FirstSpace , а потом закрою это.

Если я нажму f5, вы увидите, что я извлек первое имя из этой строки. Вот как вы можете использовать текстовую функцию LEFT для извлечения имени.

Использование текстовых функций в LuckyTemplates — учебник по DAX

Теперь давайте извлечем среднее ключевое слово или отчество из вашей собственной текстовой строки. Обратите внимание, что есть несколько способов извлечения среднего ключевого слова, но я собираюсь использовать самый простой, который очень легко понять.

Я создам еще один столбец Names [Middle Name] . Затем я собираюсь создать переменную, которая будет содержать строку, которая в данный момент повторяется кодом DAX. Так что это будет содержать полную строку. Таким образом, FullName будет равно Names [Data] .

Затем мне нужно сохранить в переменной имя, которое я уже извлек из ранее вычисленного столбца. Для этого я напишу VAR FirstName и буду использовать столбец Names[FirstName] .

Далее я создам еще одну переменную, которая будет называться NewText . Я просто удалю первое имя из переменной FullName, чтобы результирующая переменная или результирующий столбец содержали только DAX Sharma и R Julius.

Использование текстовых функций в LuckyTemplates — учебник по DAX

Еще одна вещь, о которой нам нужно позаботиться, это начальный пробел перед DAX и R. Чтобы удалить это, я добавлю TRIM в код. TRIM удаляет все дополнительные пробелы в ваших текстовых строках.

Использование текстовых функций в LuckyTemplates — учебник по DAX

Следующее, что нужно сделать, это определить позицию пробела, который существует после DAX и ключевого слова R. И для этого я могу написать переменную StartPos (начальная позиция), и это будет в основном поиск пустого места в переменной NewText. Затем мне нужно вычесть один, чтобы он в��рнул только три, и один в случае R, а не два.

Последняя переменная, которую мне нужно создать, это RESULT , из которой я собираюсь извлечь только значения DAX и R, используя функцию LEFT . Теперь мы получили ключевые слова DAX и R, которые хотели извлечь из исходной строки.

Использование текстовых функций в LuckyTemplates — учебник по DAX

Далее мы собираемся извлечь фамилию из исходной строки. Для этого я создам еще один столбец Names[LastName] . Затем я сначала создам переменную ( FullName ), в которой будет храниться исходная строка.

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

Использование текстовых функций в LuckyTemplates — учебник по DAX

Далее я собираюсь создать еще одну переменную ( RemoveSpace ), которая удалит пробел, который у меня есть в исходной строке. Я хочу найти пространство, а затем заменить его ничем. Следующая переменная, PosLastTilde (позиция последней тильды), в основном будет вычитать длину RemoveSpace из длины переменной ReplaceSpaceWithTilde. Это дает нам 2.

Использование текстовых функций в LuckyTemplates — учебник по DAX

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

Использование текстовых функций в LuckyTemplates — учебник по DAX

Теперь все, что мне нужно сделать, это использовать это, чтобы извлечь слово, Шарма. Я создам переменную Result и буду использовать функцию MID .

Использование текстовых функций в LuckyTemplates — учебник по DAX

Использование функций пути для сокращения кодов DAX

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

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

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

Использование текстовых функций в LuckyTemplates — учебник по DAX

Затем давайте вернем результат этого столбца, используя EVALUATE , Names и имя таблицы. Я нажимаю f5, и вы увидите, что мы получили строку или другой столбец, содержащий все символы, которые уже есть в исходной строке, разделенные оператором вертикальной черты (| ) .

Использование текстовых функций в LuckyTemplates — учебник по DAX

Функция пути будет использовать этот оператор канала для извлечения первого среднего и последнего символа. Итак, я создам еще один столбец, который будет опираться на результат второго столбца. Я могу указать имена столбцов [First Name] , и ​​я собираюсь использовать функцию PATHITEM .

Все, что мне нужно сделать в первом аргументе, это указать столбец, который мы уже вычислили в предыдущем столбце. Во втором аргументе мне нужно указать ключевое слово или символ, который я хочу извлечь. Затем я укажу число 1. Для столбца Отчество я укажу число 2 и 3 для Фамилия .

Использование текстовых функций в LuckyTemplates — учебник по DAX


Что такое DAX Studio в LuckyTemplates Desktop
Инструмент очистки формул DAX: некоторые обновления логического
форматирования кода DAX в LuckyTemplates

Заключение

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

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

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

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

Leave a Comment

Расчет недельных продаж с помощью DAX в LuckyTemplates

Расчет недельных продаж с помощью DAX в LuckyTemplates

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

Что такое 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 для своих бизнес-отчетов.