Создание строк динамического формата для мер
ОБЛАСТЬ ПРИМЕНЕНИЯ: Служба Power BI Power BI Desktop
С помощью строк динамического формата для мер можно определить, как меры отображаются в визуальных элементах, условно применяя строку формата с отдельным выражением DAX.
Примечание.
Строки динамического формата для мер в настоящее время находятся в предварительной версии. Если в предварительной версии функциональные возможности и документация, скорее всего, изменятся.
Строки динамического формата преодолевают присущий недостаток использования функции FORMAT. Т. е. даже числовые типы данных FORMAT возвращаются в виде строки, которая может не работать с визуальными элементами, требующими числовых значений, таких как диаграммы. При использовании строк динамического формата мера сохраняет тип данных и не вынуждена изменяться на строковый тип данных. Это применяет различные строки форматирования к мере в зависимости от контекста.
Строки динамического формата также можно использовать с группами вычислений. Те же шаблоны DAX, которые работают с группами вычислений, также можно использовать в строках динамического формата для мер, но область ограничена отдельными мерами вместо всех мер в модели. Дополнительные сведения см. в разделе "Группы вычислений" — строки динамического формата.
Создание строк динамического формата
Создание строки динамического формата
В области данных выберите меру, для которой нужно указать строку динамического формата.
В разделе >"Форматирование форматирования" ленты> "Средства мер" выберите "Формат динамического". В левой части строки формул DAX отображается новая папка со списком с выбранным форматом . В этом раскрывающемся списке можно переключаться между выражением DAX статической меры и выражением динамического формата DAX. Независимо от того, какая строка статического формата используется перед переключением на Dynamic, предварительно заполнена как строка в строке формул DAX.
Перезаписать строку с выражением DAX, которое выводит правильную строку форматирования для меры. Например, следующее выражение ищет строку формата валюты, которую мы хотим получить из таблицы "Строки формата валюты страны":
Убедитесь, что строка динамического формата работает в визуальном элементе.
Чтобы удалить строку динамического формата и вернуться к использованию статической строки форматирования, в списке "Формат форматирования>" выберите другой параметр формата. Так как в этом действии нет отмены, появится диалоговое окно с просьбой продолжить. Если вы хотите вернуться к использованию строки динамического формата еще раз, необходимо повторно ввести выражение DAX.
Пример
Лучший способ узнать о новой функции заключается в том, чтобы попробовать себя. Это можно сделать с помощью примера PBIX-файла Adventure Works 2020, доступного в примере модели DAX. Используя пример модели, вы можете добавить преобразование валюты для отображения преобразованной суммы продаж в год. После скачивания откройте файл в Power BI Desktop.
Создание новых таблиц
Пример модели не содержит все данные, необходимые для создания и использования строк динамического формата. Чтобы приступить к работе, сначала необходимо добавить две таблицы.
На ленте "Главная" выберите ввод данных.
В диалоговом окне "Создание таблицы" введите следующее имя таблицы, а затем скопируйте и вставьте следующую таблицу:
Имя таблицы: строки формата валюты страны
Страна/регион Валюта Формат Австралия Доллар AU$#0.00 Канада Доллар C$#0.00 Дания Крона kr#0 Еврозоны Евро € #,0,00 Япония Иена • #,0 Швеция Крона kr#0 Швейцария Франк JSON#,0.00 Соединенное Королевство Фунт £ #0 Соединенные Штаты Доллар US$#,0.00 Убедитесь, что таблица выглядит правильно, а затем нажмите кнопку "Загрузить".
Повторите предыдущие шаги для следующей таблицы:
Имя таблицы: годовой средний обменный курс
Страна/регион Валюта Год Годовой средний обменный курс Австралия Доллар 2022 1.442 Австралия Доллар 2021 1.332 Австралия Доллар 2020 1.452 Австралия Доллар 2019 1.439 Австралия Доллар 2018 1,34 Австралия Доллар 2017 1.358 Канада Доллар 2022 1.301 Канада Доллар 2021 1.254 Канада Доллар 2020 1.341 Канада Доллар 2019 1.327 Канада Доллар 2018 1.297 Канада Доллар 2017 1,35 Дания Крона 2022 7.077 Дания Крона 2021 6,29 к Дания Крона 2020 6.538 Дания Крона 2019 6.67 Дания Крона 2018 6.319 Дания Крона 2017 6.864 Еврозоны Евро 2022 0.951 Еврозоны Евро 2021 0,846 Еврозоны Евро 2020 0.877 Еврозоны Евро 2019 0.893 Еврозоны Евро 2018 0.848 Еврозоны Евро 2017 0.923 Япония Иена 2022 131.454 Япония Иена 2021 109.817 Япония Иена 2020 106.725 Япония Иена 2019 109.008 Япония Иена 2018 110.424 Япония Иена 2017 116.667 Швеция Крона 2022 10.122 Швеция Крона 2021 8.584 Швеция Крона 2020 9.205 Швеция Крона 2019 9.457 Швеция Крона 2018 8.703 Швеция Крона 2017 8.894 Швейцария Франк 2022 0.955 Швейцария Франк 2021 0.914 Швейцария Франк 2020 0.939 Швейцария Франк 2019 0.994 Швейцария Франк 2018 0,979 Швейцария Франк 2017 1,024 Соединенное Королевство Фунт 2022 0.811 Соединенное Королевство Фунт 2021 0,727 Соединенное Королевство Фунт 2020 0.779 Соединенное Королевство Фунт 2019 0,784 Соединенное Королевство Фунт 2018 0.75 Соединенное Королевство Фунт 2017 0.808
Создание столбца Year
Столбец нового года необходим в существующей таблице даты.
В представлении модели щелкните правой кнопкой мыши таблицу "Дата " и выберите "Создать столбец".
В строке формул DAX введите следующее выражение:
Year = YEAR([Date])
и нажмите клавишу ВВОД.
Создание отношений
Связи необходимы между новыми таблицами "Средние обменные курсы" и "Строки формата валюты страны", а также между таблицей "Средние обменные курсы" и существующей таблицей дат.
Если вы используете автоматическое определение связей, возможно, вы создали для вас связь между строками формата валюты страны и ежегодными курсами обмена на столбце "Страна". Если нет, создайте эту связь:
- Таблица 1. Средние обменные курсы по годам
- Столбец 1 таблицы: страна
- Кратность: многие к одному
- Таблица 2. Строки формата валюты страны
- Столбец 2 таблицы: страна
- Сделать эту связь активной: Да
- Направление перекрестной фильтрации: одиночный
Связь должна выглядеть следующим образом:
При автоматическом выборе связей между строками формата валюты страны и территорией продаж в столбце "Страна" может быть создано отношение между строками формата валюты страны и территорией продаж. Однако эта связь не является правильной для нашей модели. В представлении модели удалите эту связь.
Вместо этого создайте связь между ежегодными ставками и датой в столбце "Год".
- Таблица 1. Средние обменные курсы по годам
- Столбец 1 таблицы: год
- Кратность: многие ко многим
- Таблица 2. Дата
- Столбец 2 таблицы: год
- Сделать эту связь активной: Да
- Направление перекрестной фильтрации: одинарный ("Средний обменный курс" фильтров "Дата" )
Связь должна выглядеть следующим образом:
Сохраните модель.
Создание таблицы групп мер
Группа мер помогает упорядочивать различные меры, имея их в одной таблице.
На ленте "Главная" выберите "Ввод данных".
В диалоговом окне "Создание таблицы" оставьте значения пустыми. Назовите меры продаж таблицы и нажмите кнопку "Загрузить". Эта таблица содержит новые меры.
Создание мер
В области "Данные" разверните и щелкните правой кнопкой мыши меры "Продажи", а затем выберите "Создать меру". Введите следующее выражение DAX в строку формул DAX и нажмите клавишу ВВОД:
Sales Amount = SUM(Sales[Sales Amount])
Он должен выглядеть так:
В мерах продаж щелкните правой кнопкой мыши Column1 и выберите " Скрыть" в представлении отчета. Это изменяет меры в группу мер, которая теперь отображается в верхней части области данных с значком группы мер, как показано ниже:
Теперь можно создать меру для вычисления курса обмена. Щелкните правой кнопкой мыши меры "Продажи", выберите "Создать меру", введите следующее выражение в строку формул DAX и нажмите клавишу ВВОД:
Exchange Rate (Yearly Avg) = IF ( ISBLANK ( SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) ) || SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) = "United States", 1, AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] ) )
Она должна выглядеть так: .
Теперь вы создадите другую меру для преобразования меры "Сумма продаж" в другие валюты. Щелкните правой кнопкой мыши меры "Продажи", выберите "Создать меру", введите следующее выражение в строку формул DAX и нажмите клавишу ВВОД:
Converted Sales Amount = SUMX('Date', CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
Теперь группа мер продаж должна выглядеть следующим образом:
Создание отчета
Перейдите в представление отчета. Добавьте в отчет новую пустую страницу.
Добавьте визуальный элемент диаграммы на новую страницу отчета. Этот визуальный элемент используется для просмотра меры перед добавлением строки динамического формата для мер.
В области> "Продажи данных" выберите "Преобразованная сумма продаж". Без щелчка в другом месте также выберите "Год " в таблице "Дата ".
Скопируйте и вставьте визуальный элемент, чтобы вы имели два визуальных элемента графиков. Измените второй визуальный элемент диаграммы на визуальный элемент таблицы, а затем переместите его под графиком, как показано ниже.
Добавьте визуальный элемент среза на страницу отчета. На ленте "Формат" добавьте страну из таблицы строк формата валюты страны в срез.
Переупорядочение визуальных элементов до тех пор, пока они не имеют лучшего макета, что-то подобное:
Хотя и не требуется, можно изменить визуальные свойства, чтобы сделать более удобный отчет:
Срез
- Параметры среза: одиночный выбор
- Размер и стиль, заполнение: 10 пикселей, все края
- Размер и стиль, визуальная граница: светло-серый, 10 пикселей с округленными углами
- Параметры среза, стиль: плитка
- Заголовок среза: Off
- Значения, граница: левая, #333333, ширина линии 6
Таблица
- Размер и стиль, заполнение: 10 пикселей, все края
- Размер и стиль, визуальная граница: светло-серый, 10 пикселей с округленными углами
- Сетка, горизонтальные линии сетки: белая, 2 ширина
- Сетка, вертикальные линии сетки: белая, 2 ширина
- Сетка, граница: белый
- Сетка, параметры: 2 заполнение строк
- Значения, значения: цвет фона #F6F4F4
- Значения, значения: альтернативный цвет фона #F6F4F4
- Заголовки столбцов, текст: полужирный, белый цвет текста, цвет фона #0D6ABF
График
- Размер и стиль, заполнение: 10 пикселей, все края
- Размер и стиль, визуальная граница: светло-серый, 10 пикселей с округленными углами
- Заголовок, подзаголовок: вкл.
- Ось Y, Title: Off
- Ось Y: Выкл.
- Маркеры: вкл.
- Метки данных: вкл.
- Метки данных, значения: полужирный, синий
Холст (необязательно)
- Фон холста: светло-серый, 85% прозрачность
С помощью этих визуальных свойств вы получите хорошую страницу отчета, как показано ниже.
Создание строки динамического формата
При выборе различных названий стран в срезе отображается результат меры "Преобразованный объем продаж" в визуальных элементах, но не в правильном формате для этой страны или региона.
В области> "Продажи данных" выберите "Преобразованная сумма продаж".
На ленте "Средства мер" щелкните раскрывающийся список "Формат" и выберите "Динамический".
Раскрывающийся список слева от строки формул должен иметь формат, а формула в строке формул должна иметь строку формата. Замените строку формата следующим выражением DAX и нажмите клавишу ВВОД:
SELECTEDVALUE ( 'Country Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
Он должен выглядеть так:
Выберите другую страну в срезе. Теперь визуальные элементы таблицы и диаграммы должны отображать преобразованную сумму валюты в правильном формате для этой страны или региона. Попробуйте выбрать другую страну или регион в срезе, чтобы узнать, как изменяются визуальные элементы.
Сохраните модель.
Известные проблемы и рекомендации
Во время предварительной версии рассматриваются следующие проблемы и ограничения:
Визуальные элементы имеют параметры форматирования, которые могут повлиять на отображение строки форматирования. Если форматирование отображается неожиданно в визуальном элементе, перейдите к параметрам визуального формата, найдите единицы отображения и измените его с авто на None.
Сама мера может ссылаться непосредственно в строке динамического формата с помощью его имени, например [Measure A], или косвенно с помощью
SELECTEDMEASURE()
.Строки динамического формата для мер предназначены только для мер модели. Меры отчета, которые можно добавить в отчет динамического подключения, не могут иметь динамические строки форматирования для мер.
С помощью DirectQuery для служб Analysis Services при нажатии кнопки "Внести изменения в эту модель " в отчете динамического подключения он перемещает подключение к DirectQuery через службы Analysis Services. Как правило, можно внести изменения в строки формата мер удаленной модели. Во время предварительной версии:
- Меры удаленной модели с строками динамического формата, определенные, блокируются при внесении изменений строки формата в строку статического формата или в другое динамическое выражение DAX.
- Меры удаленной модели нельзя изменить со статической строки форматирования на выражение DAX динамического формата, определенное в локальной модели.
- Меры локальной модели блокируют использование строк динамического формата для мер.