Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
В этом руководстве вы узнаете о Power Query Language Flow и некоторых его рекомендациях. Вы также узнаете, как легко преобразовывать данные для получения наилучших возможных результатов. Преобразование данных оптимизирует ваш отчет и сделает его привлекательным.
Оглавление
Установка типов данных без Power Query Language Flow
Минимальные преобразования, которые вы всегда должны выполнять, — это переименование и установка типов данных для ваших столбцов.
Типы данных используются для классификации значений в M . Значок рядом с именем столбца показывает назначенный тип данных для поля. В этой примерной таблице вы можете увидеть значок ABC123 рядом с именами столбцов. Этот значок представляет любой тип данных, который указывает, что тип данных не был назначен этому столбцу.
Вне книг включено автоматическое определение типа. Это автоматически генерирует шаги измененного типа в ваших запросах. Даже если это включено, всегда следите за тем, чтобы Power Query правильно угадывал типы данных для каждого из столбцов во всех ваших таблицах.
Чтобы включить или отключить этот параметр, выполните следующие действия.
В разделе «Глобальный» вы можете выбрать один из трех доступных вам вариантов определения типа .
В разделе «Текущий файл» вы можете переключать параметры определения типа в зависимости от ваших глобальных настроек.
Установите типы данных с помощью вкладки «Преобразование»
Пользовательский интерфейс предлагает несколько способов установки типов данных для столбцов. В разделе «Любой столбец» вкладки «Преобразование» вы найдете кнопку «Определить тип данных» .
Если вы выберете все столбцы и нажмете эту кнопку, автоматически будут установлены типы данных для всех столбцов. Однако, поскольку он сканирует только первые 200 строк, вам все равно нужно проверить, имеет ли Power Query правильный тип данных.
Если вы выберете столбец из своей таблицы, вы увидите его тип данных в разделе «Любой столбец».
Если щелкнуть раскрывающуюся кнопку и выбрать «Текст», значок в выбранном столбце изменится с ABC123 на просто ABC .
Затем вы увидите шаг Changed Type на панели Applied Steps.
На вкладке «Главная» вы также найдете возможность установить тип данных.
Установите типы данных, используя заголовок столбца
Другой способ — щелкнуть заголовок правой кнопкой мыши и выбрать «Изменить тип» . Оттуда вы можете выбрать подходящий тип данных для своих столбцов.
Установите типы данных с помощью значков столбцов
Наиболее распространенный способ установки типов данных — щелкнуть значок рядом с именем столбца. Он покажет вам все доступные типы данных.
В образце таблицы задайте для столбца OrderDate тип данных Date .
В зависимости от типа данных выбранного столбца Power Query предоставляет набор преобразований и параметров, которые применяются к этому конкретному типу данных на вкладке « Преобразование» , «Добавить столбец » и в разделе «Смарт-фильтр» .
Поэтому, если вы выберете столбец даты и перейдете на вкладку «Преобразование», вы увидите параметры под кнопкой «Дата».
Однако, если вы выберете текстовый столбец, параметры под кнопкой «Дата» больше не будут доступны.
Для умной фильтрации текстовые столбцы имеют текстовые фильтры, а столбцы дат — фильтры дат.
Для следующего столбца измените имя столбца на Ключ клиента и тип данных на Целое число .
Затем измените тип данных столбцов «Канал», «Код валюты» и «Код склада» на «Текст».
После этого измените имя Индекса региона доставки на Ключ региона доставки и его тип данных на Целое число . Затем сделайте то же самое для столбцов «Индекс описания продукта» и «Количество заказа» .
Наконец, для столбцов «Цена за единицу», «Сумма по строке» и «Стоимость за единицу» установите тип данных « Фиксированное десятичное число» .
Установка типов данных с помощью Power Query Language Flow
Из-за изменений в столбцах на панели Примененные шаги было создано множество шагов. Проблема заключается в том, что из-за многократного выполнения одного и того же типа преобразований запрос таблицы- образца становится неэффективным. Это то, чего вам следует избегать.
Чтобы сделать ваш запрос эффективным, попробуйте создать один шаг, применив это конкретное преобразование ко всем столбцам, прежде чем создавать другой шаг.
Дублируйте образец запроса таблицы и переименуйте его в Best Practice . На панели «Примененные шаги» щелкните правой кнопкой мыши первое преобразование, выполненное в предыдущем запросе, и выберите «Удалить до конца» . Затем подтвердите удаление шага в диалоговом окне «Удалить шаг» .
Кроме того, вот несколько лучших практик. Прежде всего, необходимо создать параметры, содержащие местоположение источника данных. Это упрощает устранение проблем, связанных с изменением имени файла.
Чтобы создать параметры, нажмите «Управление параметрами» на вкладке «Главная» и выберите « Новый параметр» .
Другой способ — щелкнуть правой кнопкой мыши на панели запросов и выбрать «Новый параметр» .
После этого появится диалоговое окно «Управление параметрами» . Назовите параметр FileLocation и установите для параметра Type значение Text. Для предлагаемых значений установите для него значение «Список значений» , чтобы вы могли вставить свою строку и изменить или добавить несколько местоположений, между которыми можно переключаться.
Затем перейдите в проводник и выберите файл. Скопируйте путь и вставьте параметры. После этого нажмите OK .
Вернитесь к запросу Best Practice и щелкните шаг Source на панели Applied Steps. Затем измените жестко заданный путь к файлу в строке формул с помощью FileLocation .
Удалить ненужные столбцы
Удалите все ненужные столбцы, чтобы сэкономить место и повысить производительность. Вносите только те данные, которые вам нужны, потому что добавлять таблицы и столбцы намного проще, чем их удалять.
Самый простой способ сделать это — выполнить шаг «Выбрать столбцы» на вкладке «Главная». Если вы нажмете эту кнопку, появится диалоговое окно, позволяющее выбрать столбцы для сохранения. Вы должны проектировать и формировать свои таблицы с определенной целью, чтобы они наилучшим образом соответствовали анализу, который вы собираетесь выполнить.
Оттуда отмените выбор столбцов, которые вам не нужны в вашей таблице. Для этой таблицы-образца кардинальность столбца OrderNumber высока. Лучше отменить выбор этого столбца, так как он влияет на размер файла и общую производительность.
Если вам не нужны данные о местоположении для анализа примера запроса, также лучше отменить выбор индекса региона доставки . Наконец, поскольку в таблице уже есть цена за единицу и количество, столбец «Итого по строке» не нужен.
После отмены выбора столбцов нажмите OK . Если вы хотите изменить выбор столбца, просто снимите значок шестеренки рядом с именем шага на панели «Примененные шаги».
Назначьте соответствующие типы данных столбцам и ограничьте строки
Затем назначьте типы данных для всех столбцов. Выберите все столбцы и нажмите «Определить тип данных» на вкладке «Преобразование».
Функция «Определить тип данных» автоматически определяет типы данных столбцов на основе сканирования первых 200 строк. Итак, проверьте и убедитесь, что Power Query устанавливает правильные типы данных.
Лучше всего ограничить количество строк. Если ваш финансовый год начинается 1 июля, вы можете не указывать данные за июнь или настроить параметр.
Однако есть одна загвоздка, если вы хотите иметь возможность изменить значение параметра в службе LuckyTemplates . После публикации отчета значения параметров должны быть текстового или десятичного типа.
Чтобы справиться с этим, создайте фильтр данных, нажав кнопку раскрывающегося списка в столбце OrderDate. Затем нажмите «Фильтры даты» и выберите «После» .
В диалоговом окне измените первый параметр на «после» или «равно» , а затем введите дату. В этом примере введена дата 1 июля 2014 года.
После того, как вы нажмете OK , фильтр будет применен к вашей таблице. Затем создайте параметр и назовите его DatesFrom . Установите Тип на Текст и введите дату в параметре Текущее значение.
Теперь вернитесь к запросу Best Practice и замените встроенный #date на Date.From(DatesFrom) .
Нажатие галочки без функции Date.From вернет ошибку. Это связано с тем, что DatesFrom имеет тип Text, а поле имеет тип Date. Функция Date.From преобразует текст в дату.
Переименуйте все столбцы, которые не будут скрыты в модели данных. Имя должно быть кратким, самоописывающим и удобным для пользователя. Помните, что вы разрабатываете модель данных для людей, которые будут использовать ваш отчет.
Объединение избыточных шагов в потоке языка Power Query
Следующее, что нужно сделать, — это объединить избыточные шаги (такие как переименование, удаление и изменение типов данных столбцов). Более того, такие шаги, как изменение порядка столбцов, — это то, на что следует обратить внимание при поиске избыточности.
Таблицы, которые вы загружаете в модель данных, никогда не отображаются в вашем отчете. Это делает порядок столбцов неактуальным.
Еще один лучший способ — переименовать шаги на панели «Примененные шаги». Имена шагов говорят сами за себя и используются как переменные в М- коде.
Имена, содержащие пробелы или специальные символы, записываются в кавычках. Это означает, что имена заключены в набор двойных кавычек и перед ними стоит решётка или знак решетки, что затрудняет чтение M- кода. Вы можете опустить пробелы или поставить между ними знак подчеркивания.
Добавление дополнительных сведений о документации путем размещения комментариев в окне расширенного редактора также рекомендуется в Power Query. Вы также можете сделать это в описании свойств шага . Они отображаются в виде аннотаций всплывающей подсказки при наведении указателя мыши на шаг с восклицательным знаком на панели «Примененные шаги».
Знание того, почему вы сделали определенный выбор в начальной разработке, чрезвычайно полезно, когда вам нужно вернуться к файлу через некоторое время. Чтобы добавить сведения о документации, щелкните правой кнопкой мыши шаг на панели «Примененные шаги» и выберите «Свойства» .
Появится диалоговое окно «Свойства шага» , в котором вы можете указать причину фильтрации или преобразования.
Организуйте запросы для лучшего потока языка Power Query
Одной из наиболее распространенных передовых практик в Power Query является организация ваших запросов . Создайте папки для параметров, функций, промежуточных запросов и запросов, которые будут загружены в модель данных. В этом примере выберите запросы FileLocation и DatesFrom и щелкните их правой кнопкой мыши. Затем выберите «Переместить в группу» и нажмите «Новая группа» .
Затем добавьте имя для выбранных запросов и нажмите OK .
После группировки запросов панель запросов будет выглядеть следующим образом.
Для всех промежуточных запросов обязательно отключите загрузку, сняв флажок «Включить загрузку».
Еще одна вещь, которую следует обсудить в этом руководстве, — языковой поток. Каждый из шагов на панели «Примененные шаги» преобразует значение, которое вы можете увидеть, щелкнув их.
Исходные данные пришли и запустились на шаге Навигация, и были выбраны столбцы. Далее были изменены типы данных и установлен диапазон дат. Столбцы также были переименованы.
Все шаги возвращают значение табличного типа. Если вы откроете окно расширенного редактора, вы увидите выражение let и предложение in . Между ними находится список шагов или имен переменных с назначенными им выражениями.
Запрос возвращает все, что следует за предложением in , которое относится к последнему шагу в вашем списке переменных. Затем механизм M будет следовать по цепочке зависимостей обратно от предложения in , чтобы исключить все ненужное и, если возможно, передать преобразования обратно в источник.
Резюме потока языка Power Query
Если вы посмотрите на формулу, вы увидите последовательность шагов, выполняемых в запросе. Вы также увидите функции, используемые пользовательским интерфейсом на каждом этапе.
Первым шагом, который был сделан в запросе, был выбор столбца. Когда шаг выполнялся с помощью пользовательского интерфейса, вызывалась функция Table.SelectColumns . В качестве первого параметра он взял таблицу, которая ссылалась на имя переменной предыдущего шага. Затем он перечислил все имена выбранных столбцов.
Второй шаг преобразовал типы столбцов, вызвав функцию Table.TransformColumnTypes . Его первый параметр называется результатом предыдущего шага. Затем он перечислил набор списков преобразования.
Третий шаг устанавливает фильтр диапазона дат с помощью функции Table.SelectRows . В качестве первого аргумента он принял запрос табличного типа. В этом примере он ссылался на результат шага «Изменить тип».
Последний шаг переименовал столбцы с помощью функции Table.RenameColumns . Результат предыдущего шага использовался в качестве его первого аргумента. Затем он перечислил набор списков переи��енования.
Все функции, применяемые через пользовательский интерфейс, начинаются со слова Таблица . Все они брали табличное значение в качестве первого параметра, а затем преобразовывали это значение.
Хотя код выглядит последовательным, поскольку каждый шаг ссылается на предыдущий шаг, последовательность не обязательна. Если вы переместитесь на шаг назад, запрос все равно будет выполняться, потому что M- движок всегда следует цепочке зависимостей.
Наличие пользовательского интерфейса удобно, но всегда предполагается, что вы хотите преобразовать результаты предыдущего преобразования. В большинстве случаев это, вероятно, будет правдой, а если это не так, вам придется вручную обновить указанное значение в коде.
Типы данных и соединители Power Query
Наборы данных LuckyTemplates: типы и соглашения об именах
Загрузка и преобразование данных Рекомендации
Заключение
Преобразование данных необходимо для того, чтобы ваши данные были сгруппированы и организованы. Это ускоряет разработку данных, поскольку вы можете легко отслеживать проблемы в языковом потоке Power Query и изменять изменения в своем отчете.
Мелисса
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.