Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
В сегодняшнем уроке я собираюсь показать, как вы можете использовать функции пути и текста в LuckyTemplates для извлечения определенных слов из заданной текстовой строки. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
В этом примере у нас есть две строки наборов данных, и мы хотим использовать текстовые функции, чтобы иметь возможность извлечь первое имя, то есть Антрикш и Брайан, затем отчество, а затем окончательное имя.
Итак, приступим. Я покажу вам, как это сделать, используя оба разных набора функций, доступных в DAX. Я собираюсь выполнить действие в DAX Studio , чтобы вы могли видеть на каждом этапе, что на самом деле вернет код, который я пишу.
Оглавление
Коды DAX с использованием текстовых функций в LuckyTemplates
Внутри DAX Studio мы напишем наш код. Первое, что нам нужно сделать, это написать ключевое слово DEFINE , а затем COLUMN . Я создаю виртуальный столбец, который существует только на время этого сеанса, который я открыл в DAX Studio. Любой столбец, который я создаю здесь, на самом деле не будет сохраняться в наборе данных, который у нас есть в LuckyTemplates.
Далее я собираюсь указать имя таблицы, в которой будет создан этот столбец. Имя столбца будет First Name .
Чтобы извлечь имя из набора данных, который мы уже видели, мне нужно найти позицию первого пробела. Как только я получу эту позицию, я извлеку первый символ. Я извлеку слово, которое начинается с первой позиции до позиции этого первого пробела.
Для этого я создам переменную ( FirstSpace ), и это будет по сути операция поиска. Итак, я напишу Names , затем Data , который является исходным столбцом в моей базе данных. Затем я могу ВЕРНУТЬ переменную FirstSpace , чтобы мы могли увидеть, что она собирается вернуть.
Чтобы иметь возможность визуализировать результат, нам нужно написать EVALUATE , который запустит код DAX и предоставит имя таблицы, которое у нас есть в модели.
Если я нажму f5, вы увидите, что напротив каждого имени у нас есть поиск по определенному номеру. Там написано девять в первом ряду и шесть во втором.
В первой строке имя Антрикш содержит только восемь символов и возвращает один ко многим, потому что подсчитывает позицию пробела. Чтобы получить восемь, я могу написать минус один. Чтобы вернуть первое слово, я воспользуюсь функцией LEFT и напишу текстовую строку, из которой я хочу извлечь первое имя, и это Names Data . И затем я хочу указать количество символов, которые я хочу извлечь. Я напишу FirstSpace , а потом закрою это.
Если я нажму f5, вы увидите, что я извлек первое имя из этой строки. Вот как вы можете использовать текстовую функцию LEFT для извлечения имени.
Теперь давайте извлечем среднее ключевое слово или отчество из вашей собственной текстовой строки. Обратите внимание, что есть несколько способов извлечения среднего ключевого слова, но я собираюсь использовать самый простой, который очень легко понять.
Я создам еще один столбец Names [Middle Name] . Затем я собираюсь создать переменную, которая будет содержать строку, которая в данный момент повторяется кодом DAX. Так что это будет содержать полную строку. Таким образом, FullName будет равно Names [Data] .
Затем мне нужно сохранить в переменной имя, которое я уже извлек из ранее вычисленного столбца. Для этого я напишу VAR FirstName и буду использовать столбец Names[FirstName] .
Далее я создам еще одну переменную, которая будет называться NewText . Я просто удалю первое имя из переменной FullName, чтобы результирующая переменная или результирующий столбец содержали только DAX Sharma и R Julius.
Еще одна вещь, о которой нам нужно позаботиться, это начальный пробел перед DAX и R. Чтобы удалить это, я добавлю TRIM в код. TRIM удаляет все дополнительные пробелы в ваших текстовых строках.
Следующее, что нужно сделать, это определить позицию пробела, который существует после DAX и ключевого слова R. И для этого я могу написать переменную StartPos (начальная позиция), и это будет в основном поиск пустого места в переменной NewText. Затем мне нужно вычесть один, чтобы он в��рнул только три, и один в случае R, а не два.
Последняя переменная, которую мне нужно создать, это RESULT , из которой я собираюсь извлечь только значения DAX и R, используя функцию LEFT . Теперь мы получили ключевые слова DAX и R, которые хотели извлечь из исходной строки.
Далее мы собираемся извлечь фамилию из исходной строки. Для этого я создам еще один столбец Names[LastName] . Затем я сначала создам переменную ( FullName ), в которой будет храниться исходная строка.
Следующей переменной, которую я собираюсь создать, будет ReplaceSpaceWithTilde , которая заменит каждый пробел, существующий в исходной строке, на определенный символ, который, как мне кажется, на самом деле не существовал бы в исходной строке. Позже я буду использовать этот символ для определения положения последнего пробела. При этом вы можете видеть, что все пространство было заменено символом тильды ( ? ).
Далее я собираюсь создать еще одну переменную ( RemoveSpace ), которая удалит пробел, который у меня есть в исходной строке. Я хочу найти пространство, а затем заменить его ничем. Следующая переменная, PosLastTilde (позиция последней тильды), в основном будет вычитать длину RemoveSpace из длины переменной ReplaceSpaceWithTilde. Это дает нам 2.
А теперь я напишу больше кодов, чтобы заменить это символом тильды.
Теперь все, что мне нужно сделать, это использовать это, чтобы извлечь слово, Шарма. Я создам переменную Result и буду использовать функцию MID .
Использование функций пути для сокращения кодов DAX
Теперь давайте продолжим и посмотрим, как мы можем использовать функции пути, чтобы сократить объем кода, который мы написали с помощью текстовых функций в LuckyTemplates. Вы будете удивлены, увидев, что хотя функции пути не предназначены для таких операций, но с помощью этих функций вы можете преобразовать все эти коды.
Итак, я собираюсь создать новый сеанс DAX Studio, нажав кнопку управления и подключившись к файлу LuckyTemplates. Я укажу DEFINE и ключевое слово столбца, а затем путь в имени таблицы и имя виртуального столбца, которые будут сохраняться только для этого сеанса.
Затем я воспользуюсь функцией ПОДСТАВИТЬ , и мне нужно указать путь в исходном столбце в первом аргументе, а затем заменить пробел оператором вертикальной черты. Функции пути используют оператор конвейера для извлечения дочернего элемента из иерархии родитель-потомок.
Затем давайте вернем результат этого столбца, используя EVALUATE , Names и имя таблицы. Я нажимаю f5, и вы увидите, что мы получили строку или другой столбец, содержащий все символы, которые уже есть в исходной строке, разделенные оператором вертикальной черты (| ) .
Функция пути будет использовать этот оператор канала для извлечения первого среднего и последнего символа. Итак, я создам еще один столбец, который будет опираться на результат второго столбца. Я могу указать имена столбцов [First Name] , и я собираюсь использовать функцию PATHITEM .
Все, что мне нужно сделать в первом аргументе, это указать столбец, который мы уже вычислили в предыдущем столбце. Во втором аргументе мне нужно указать ключевое слово или символ, который я хочу извлечь. Затем я укажу число 1. Для столбца Отчество я укажу число 2 и 3 для Фамилия .
Что такое DAX Studio в LuckyTemplates Desktop
Инструмент очистки формул DAX: некоторые обновления логического
форматирования кода DAX в LuckyTemplates
Заключение
Я показал вам, как использовать текстовые функции в LuckyTemplates в кодах DAX для извлечения определенных слов из заданной текстовой строки. Я также продемонстрировал, как использовать функции пути для сокращения этих кодов. Итак, теперь вы можете видеть, как легко извлекать слова из строки с помощью функций пути. В то время как с текстовыми функциями нам приходилось писать много кода.
В случае, когда в заданной строке несколько слов, вы можете использовать другую функцию пути. Вместо того, чтобы вручную вычислять количество разделителей, а затем указывать количество разделителей в функции PATHITEM, вы можете использовать функцию PATHITEMREVERSE.
Если у вас есть вопросы об этом уроке, вы можете задать их в разделе комментариев ниже. Перейдите по ссылкам ниже и посмотрите полное видео, чтобы получить более подробную информацию по этой теме.
Всего наилучшего!
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.