Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Я собираюсь показать вам, как извлекать записи из объединенных данных с разделителями в нескольких столбцах . Это преобразует ваши данные в формат, более подходящий для анализа.
Есть несколько способов сделать это. Но в этом уроке я сосредоточусь на решении, предложенном Ankit, который является частью нашего сообщества LuckyTemplates. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Оглавление
Использование Text.Split
Для этого решения я собираюсь использовать Power Query для извлечения записей из данных с разделителями.
Ниже представлена таблица Opportunities в Power Query .
Как видите, несколько значений объединены в одну запись. Например, во 2-й строке представлены 4 разных значения. Эти 4 значения объединены в столбцах «Конкуренты» и «Количество конкурентов» .
Первое, что я собираюсь сделать, это использовать Text.Split .
Text.Split возвращает список после разделения текстового значения на основе определенного разделителя.
Чтобы начать использовать Text.Split , я скопирую разделитель, используемый в этой таблице.
Вы заметите, что как только я нажму на эту запись в таблице, значение записи появится внизу. Я просто скопирую разделитель оттуда.
Как только я это сделаю, я добавлю пользовательский столбец.
Мне пока не нужно менять имя. Мне просто нужно сделать Text.Split под Custom Column Formula .
Для этой формулы требуется текстовое значение. Поэтому я просто выбираю столбец «Конкуренты» на правой панели, и он автоматически добавляется в формулу.
Мне также нужен разделитель в виде текста. Итак, внутри пары кавычек я вставлю разделитель, который скопировал ранее. Затем я добавлю закрывающую скобку.
Как только я нажму OK, я получу объект списка.
Глядя на первый список, столбцы «Конкуренты» и «Суммы» показывают только одну запись. Поэтому, если я нажму на пустое место рядом с объектом списка в столбце «Пользовательский», внизу также появится одно значение.
Для второй записи у меня есть список, содержащий четыре значения. Это соответствует 4 значениям, также показанным в столбцах «Конкуренты » и «Суммы» .
Использование List.Zip
Теперь, когда я разделил список, следующим шагом будет добавление соответствующего значения из столбца «Количество конкурентов». Я собираюсь сделать это в List.Zip .
Думайте о List.Zip как о настоящей застежке-молнии. Он принимает список списков и объединяет элементы.
Глядя на приведенный ниже пример, просто подумайте о первом списке (1 и 2) как о зеленой дорожке на молнии.
Затем подумайте о 3 и 4 как о красной дорожке.
Когда применяется List.Zip , он�� объединяются посередине. Таким образом, 1 из 1-й группы объединяется с 3 из 2-й группы. То же самое происходит для 2 и 4. Это видно на выходе, где образовались две новые группы.
Могут быть случаи, когда задействованные списки имеют разную длину . Это означает, что при объединении списков будут возвращены недостающие данные . Для создания точных пар, несмотря на отсутствие данных, добавляется нулевое значение .
Возвращаясь к таблице «Возможности» , я собираюсь добавить еще один настраиваемый столбец.
На этот раз я добавлю в формулу столбец «Количество конкурентов» .
Я также собираюсь добавить List.Zip .
Проверка ниже показывает, что ошибок не обнаружено.
Но когда я нажимаю «ОК» и смотрю на сформированный новый столбец, я все равно получаю сообщение об ошибке.
Я собираюсь нажать на пустое место рядом с ошибкой, чтобы увидеть подробности. Это показывает, что я получаю сообщение об ошибке, потому что я вернул некоторые аргументы вокруг списков.
Глядя на формулу, видно, что этот синтаксис, в котором есть ссылка на столбец «Конкуренты», возвращает список.
Но синтаксис для столбцов Competitor Amounts также возвращал список.
Вспоминая, что делает List.Zip, он берет один список списков и объединяет их .
Видя, что отображаются два списка, мне нужен инициализатор списка, чтобы объединить эти списки . Вот почему я добавляю эти фигурные скобки.
Как только я добавлю закрывающую фигурную скобку в конце, мне просто нужно нажать Enter. Это даст мне объект списка.
Теперь, когда я щелкаю сбоку от 1-й записи, отображается один объект списка. Это правильно, учитывая, что в разделе «Количество конкурентов» действительно есть одно значение.
Если я сделаю то же самое со второй записью, он покажет объект списка, содержащий 4 списка. Это также соответствует количеству значений в данных с разделителями в разделе «Количество конкурентов».
Я буду использовать боковые стрелки справа от заголовка пользовательского столбца, чтобы развернуть данные в новые строки.
Обратите внимание на вторую запись, поскольку я расширяюсь до новых строк.
Вы увидите, что все значения из этой записи расширяются вниз.
И когда я щелкаю сбоку в пустом пространстве, я вижу содержимое этого вложенного списка. Поскольку первая запись имеет только одно значение для каждого столбца, я также показываю те же данные внизу.
Но когда я нажму на вторую запись, вы увидите, что я показываю только 1-е из 4 значений, указанных в моих данных с разделителями.
На третьей записи я показываю комбинацию вторых значений.
Поэтому я снова воспользуюсь боковыми стрелками. Но на этот раз я собираюсь извлечь значения из этого списка.
Я собираюсь дать ему пользовательский разделитель.
Я буду использовать двойную вертикальную черту в качестве разделителя. Это должно сделать различие между значениями в данных с разделителями более четким.
Как только я нажимаю OK, значения объединяются прямо в пользовательский столбец.
Очистка данных
Мне больше не нужны столбцы «Конкурент» и «Количество конкурентов», поэтому я собираюсь удалить эти столбцы.
Что касается столбца «Пользовательский», я собираюсь разделить его.
На вкладке «Преобразование» я выберу «Разделить столбец». Я собираюсь разделить его по разделителю.
В окне я возьму за основу двойную трубу.
Как только я нажму OK, данные теперь будут разделены на отдельные столбцы.
Я просто переименую эти новые столбцы, чтобы было проще понять, о чем данные. Я снова назову это столбцом «Конкурент».
Затем я назову другой столбец столбцом «Сумма».
Очевидно, столбец Сумма содержит числа. Но если вы посмотрите на значок, представляющий тип данных, вы увидите, что вместо чисел у меня есть текст. Итак, я начну исправлять это.
Я живу в Европе, поэтому вместо запятой мы используем точку в качестве разделителя тысяч. Я собираюсь использовать Заменить значения, чтобы очистить это.
В окне мне просто нужно поставить запятую под «Значение для поиска» и точку под «Заменить на».
Как только я нажму OK, все запятые теперь будут показывать точки.
Следующее, что я собираюсь сделать, это удалить знак доллара перед значениями. Опять же, я буду использовать инструмент «Заменить значения». На этот раз я оставлю место для «Заменить на» пустым.
Как только я нажму OK, значения будут отображать только числа без какой-либо валюты.
Просматривая мою колонку, она также показывает здесь запись с двойным тире. Поскольку это может вернуть возможную ошибку, я собираюсь избавиться от этого двойного тире.
Я заменю двойное тире пробелом.
И как только я нажимаю «ОК», у меня есть правильный формат для всех записей в столбце «Сумма».
Теперь я могу щелкнуть значок типа данных и выбрать «Целое число».
Изменение форматов даты с помощью редактора Power Query
3 способа объединения значений с помощью DAX Inside LuckyTemplates
Расширенные преобразования в LuckyTemplates
Заключение
Как я упоминал ранее, вы можете извлекать значения из данных с разделителями разными способами. Но для меня этот подход является одним из самых простых и быстрых способов сделать это.
Поскольку идея этого решения пришла мне от одного из членов сообщества LuckyTemplates это также показывает, насколько важен . Вы действительно можете увидеть каждую проблему с разных точек зрения. Оттуда вы можете просто выбрать решение, которое, по вашему мнению, лучше всего подходит для вас.
Всего наилучшего,
Мелисса
***** Изучаете LuckyTemplates? *****
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.