Расчет недельных продаж с помощью DAX в LuckyTemplates
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
В сегодняшнем блоге я хочу обсудить довольно обычную ситуацию со многими моими консультационными заданиями для правительства Канады, когда мои клиенты требуют, чтобы все публикации были двуязычными или доступными на обоих официальных языках, английском и французском. Я покажу вам, как я делаю многоязычный отчет LuckyTemplates для этого руководства. Вы можете посмотреть полное видео этого урока в нижней части этого блога.
Хотя требовалась дополнительная инфраструктура и разработка, этого можно было легко добиться с помощью отчетов SSRS. Но есть некоторые ограничения, если вы пытаетесь сделать то же самое с LuckyTemplates.
Я хочу продемонстрировать частично ручной обходной путь, который я недавно использовал, и мне интересно, как другие справились с той же проблемой, поэтому, пожалуйста, не стесняйтесь оставлять свой опыт в разделе комментариев ниже.
Оглавление
Две области многоязычного отчета LuckyTemplates
При разработке любого многоязычного отчета есть две основные области, требующие перевода значений: данные отчета и метки отчета .
Для данных, если кому-то поручено создавать многоязычные отчеты, можно надеяться, что он может получить доступ к источнику данных, который уже содержит переводы текстовых значений данных. Что касается этикеток, часто требуется отдельная работа по переводу.
Пример, который я покажу сегодня, использует многоязычный подход с решениями для представления отчетов на английском, французском или испанском языках. Я создал небольшой пример набора данных, но, пожалуйста, относитесь ко всем переводам с недоверием.
Я не говорю, что какие-либо из этих переводов являются подходящими, но скорее они являются результатом использования основных инструментов онлайн-перевода. Переводы здесь предназначены только для иллюстрации техники и представлены исключительно в образовательных целях.
Требования к данным для многоязычного отчета LuckyTemplates
У нас будет хранилище данных и переводов для представления, а также рабочая книга Excel с вкладками для каждого типа данных.
Во-первых, нам нужна таблица для языков, которые мы собираемся поддерживать…
… и еще одна вкладка для переводов меток, которые будут использоваться в отчете.
Далее нам понадобятся переводы для столбцов, которые мы собираемся использовать в наших визуальных элементах.
И, наконец, нам понадобится источник данных, в котором все строки таблицы фактов содержат не информацию об измерениях, а ключи к измерениям.
Затем нам нужен набор измерений с переводами для всех строковых значений на каждом из языков, которые мы собираемся поддерживать.
Загрузка данных в LuckyTemplates
Это все для данных. Давайте теперь загрузим и смоделируем наши данные в LuckyTemplates. Мы откроем power query и увидим, что у нас есть таблица для каждой из вкладок, которые были в электронной таблице Excel ранее.
Я также загрузил с форума LuckyTemplates.
Моделирование данных
Давайте перейдем к представлению моделирования и посмотрим на простую модель данных, которая у нас есть. Здесь мы видим стандартный каскадный макет с измерениями вверху , таблицей фактов посередине , таблицами измерений справа и вспомогательными таблицами в нижней части .
Затем нам понадобится набор показателей перевода, по одному для каждой метки, которую мы собираемся отображать в нашем отчете. Эти меры будут учитывать язык, выбранный в нашем языковом слайсере, а затем возвращать соответствующее значение для выбранного языка.
Вот пример. Это ни в коем случае не оптимизированный DAX ; а скорее, мера, написанная для ясности.
Эта мера делает три вещи. Во-первых, он устанавливает имя метки, которую мы собираемся вычислить. Он ищет все три значения для метки, а затем использует простую логику , чтобы вернуть соответствующий объем метки.
Создание слайсера с одним выбором для языковых кодов
Давайте взглянем на настройку нашей базовой страницы, которая является страницей на английском языке. Первое, что нам нужно сделать, это добавить один слайсер выбора на страницу для доступных языковых кодов.
Вы можете увидеть, как код языка берется из таблицы «Языки» и как он устанавливается для одного выбора.
Добавление кнопок навигации
Следующее, что мы сделаем, это добавим три кнопки навигации в верхний правый угол отчета.
Давайте откроем панель выбора, затем откроем группу заголовков и нажмем кнопку для французского языка. Мы видим, что эта кнопка имеет тип действия навигации по странице и пункт назначения в виде страницы на французском языке .
То же самое касается испанского. Тип действия — навигация по страницам , а его назначение — страница на испанском языке .
Добавление поля заголовка
Следующее, что мы сделаем, это добавим текстовое поле заголовка. Просто щелкните текстовое поле на вкладке «Главная» и добавьте значение для заголовка отчета.
Затем для второго значения мы добавим подзаголовок.
Теперь мы можем видеть, что значения изменились, когда мы переключаемся с одного языка на другой.
Добавление визуальной карты
Затем мы добавим сюда карточку.
С помощью этой карты мы собираемся добавить в нее код выбранного языка.
Затем выключите Категорию и включите Заголовок .
Для текста заголовка мы будем использовать возможность выбора на основе одного из моих показателей перевода и иметь метку для заголовка языковой карты.
Мы снова видим, что значение меняется в зависимости от языка, выбранного в слайсере.
Наконец, мы добавим таблицу для транзакций. Я уже добавил столбцы идентификатора транзакции и даты .
Мы также добавим меры перевода для продукта, статуса, провинции, страны и континента.
Здесь мы также использовали заголовок таблицы транзакций.
После того, как мы обработаем изменения данных и создадим нашу базовую страницу для английского языка, мы продублируем ее для французского языка и переименуем в French2 .
Затем мы изменим языковой слайсер и сможем увидеть, что данные изменяются соответствующим образом. Это означает, что решение остается динамическим до этого момента.
Но вы, возможно, заметили, что имена столбцов в таблице транзакций все еще на английском языке. Здесь нам нужно выполнить некоторую ручную работу, индивидуально изменив имена столбцов и отредактировав текст в области полей.
Если мы вернемся к нашей электронной таблице перевода, помните, что у нас есть вкладка для столбцов и у нас есть переводы для различных имен столбцов.
Мы возьмем французский текст, соответствующий английской колонке, а затем соответствующим образом отредактируем имя. Во-первых, мы создадим столбец продукта, выбрав и скопировав это значение…
… Затем вернитесь в LuckyTemplates и вставьте значение, чтобы изменить столбец продукта с Product на Produit.
Мы сделаем то же самое для статуса. Мы вернемся к электронной таблице и скопируем французское слово для статуса в буфер обмена…
… затем вставьте его на панель «Поля».
Весь процесс представляет собой операцию копирования и вставки, и мы повторим это для остальных столбцов, а также для испанской страницы.
Публикация многоязычного отчета LuckyTemplates
Чтобы завершить настройку АТС, давайте убедимся, что у нас есть только одна видимая страница на английском языке, а страницы на французском и испанском языках скрыты.
Теперь мы продолжим и развернем отчет в нашей многоязычной рабочей области в службе LuckyTemplates.
Когда мы закончим, мы перейдем к службе LuckyTemplates и откроем отчет, который мы только что развернули.
У нас есть кнопки навигации в правом верхнем углу. Если я нажму на французский или испанский, отчет будет представлен соответствующим ��бразом на выбранном языке.
Изменение отчета для одного языка
Итак, у нас есть один отчет, который пользователь может выбрать для просмотра на предпочитаемом им языке. Но также могут быть случаи, когда пользователь не хочет этого делать и предпочитает напрямую открывать отчет для конкретного языка.
В этом случае мы можем использовать один отчет, который у нас уже есть, и сохранить три его копии: одну на английском, одну на французском и одну на испанском языках. Затем мы можем открыть каждый отчет по очереди и удалить кнопки навигации. Нам также потребуется изменить каждый отчет, чтобы убедиться, что у нас отображается только соответствующий язык.
Мы можем открыть интересующий отчет прямо в сервисе LuckyTemplates.
Плюсы и минусы каждого метода многоязычной отчетности
Решение с одним отчетом использует один отчет. Таким образом, весь код находится в одном месте, и обновлять нужно только одну АТС. Он использует один набор данных, поэтому данные загружаются только один раз. Однако у него есть пара ограничений. Он статичен, и для обновления имен потребуется ручное усилие. Если есть какие-либо будущие обновления, пользователь должен выбрать интересующий язык после открытия.
В случае решения с несколькими отчетами у конечного пользователя меньше работы, и он может сразу же открыть интересующий его отчет. С другой стороны, он использует несколько отчетов, поэтому код повторяется, и различные версии также могут не синхронизироваться.
Решение с несколькими отчетами использует копию набора данных для каждого языка, поэтому оно также нежелательно с точки зрения пространства обслуживания. Другое ограничение заключается в том, что для разработчика требуется больше работы, так как базовая версия должна быть обновлена. Полный процесс развертывания нескольких отчетов необходимо повторять каждый раз при изменении дизайна.
Я лично предпочитаю метод единого отчета, но, в конце концов, подходящее решение является бизнес-решением и будет продиктовано клиентом.
Заключение
Надеюсь, вы узнали что-то новое из этого обходного пути для представления многоязычного отчета LuckyTemplates. Если вам понравился контент, описанный в этом конкретном руководстве, подпишитесь на телеканал и ознакомьтесь с остальной частью нашего веб-сайта, где есть множество ресурсов, чтобы поднять свои навыки работы с LuckyTemplates на новый уровень.
Грег
В этом руководстве показано, как в конечном итоге можно рассчитать разницу между еженедельными результатами продаж с помощью DAX в LuckyTemplates.
Что такое self в Python: примеры из реального мира
Вы узнаете, как сохранять и загружать объекты из файла .rds в R. В этом блоге также рассказывается, как импортировать объекты из R в LuckyTemplates.
В этом руководстве по языку программирования DAX вы узнаете, как использовать функцию GENERATE и как динамически изменять название меры.
В этом учебном пособии рассказывается, как использовать технику многопоточных динамических визуализаций для создания аналитических сведений из динамических визуализаций данных в ваших отчетах.
В этой статье я пройдусь по контексту фильтра. Контекст фильтра — одна из основных тем, с которой должен ознакомиться любой пользователь LuckyTemplates.
Я хочу показать, как онлайн-служба LuckyTemplates Apps может помочь в управлении различными отчетами и аналитическими данными, созданными из различных источников.
Узнайте, как рассчитать изменения вашей прибыли, используя такие методы, как разветвление показателей и объединение формул DAX в LuckyTemplates.
В этом руководстве будут обсуждаться идеи материализации кэшей данных и то, как они влияют на производительность DAX при предоставлении результатов.
Если вы все еще используете Excel до сих пор, то сейчас самое подходящее время, чтобы начать использовать LuckyTemplates для своих бизнес-отчетов.