Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Служба Power BI Power BI Desktop
С помощью строк динамического формата для мерможно определить, как меры отображаются в визуальных элементах, условно применяя строку формата с отдельной формулой DAX.
Строки динамического формата преодолевают присущий недостаток использования функции FORMAT. Т. е. даже числовые типы данных FORMAT возвращаются в виде строки, которая может не работать с визуальными элементами, требующими числовых значений, таких как диаграммы. При использовании строк динамического формата мера сохраняет тип данных и не вынуждена изменяться на строковый тип данных. Это применяет различные строки форматирования к мере в зависимости от контекста.
Строки динамического формата также можно использовать с группами вычислений. Те же шаблоны DAX, которые работают с группами вычислений, также можно использовать в строках динамического формата для мер, но область ограничена отдельными мерами вместо всех мер в модели. Дополнительные сведения см. в разделе "Группы вычислений" — строки динамического формата.
Создание строк динамического формата
Создание строки динамического формата
В области данных выберите меру, для которой нужно указать строку динамического формата.
В ленте "Средства измерений" в разделе >"Форматирование" списка >"Формат", выберите "Динамический". В левой части строки формул DAX отображается новая папка со списком с выбранным форматом . Этот раскрывающийся список позволяет вам переключаться между выражением DAX статической меры и выражением DAX динамического формата. Независимо от того, какая строка статического формата использовалась до переключения на Dynamic, она загружается предварительно как строка в строке формул DAX.
Перезапишите строку, используя выражение DAX, которое выводит строку форматирования в правильном формате для вашей меры. Например, следующее выражение ищет строку формата валюты, которую мы хотим получить из таблицы "Строки формата валюты страны":
Проверьте, что строка динамического формата работает в визуализации.
Чтобы удалить строку динамического формата и вернуться к использованию статической строки форматирования, в списке "Формат форматирования>" выберите другой параметр формата. Так как в этом действии нет отмены, появится диалоговое окно с просьбой продолжить. Если вы хотите вернуться к использованию строки динамического формата еще раз, необходимо повторно ввести выражение DAX.
Пример
Лучший способ узнать о новой функции заключается в том, чтобы попробовать себя. Это можно сделать с помощью примера PBIX-файла Adventure Works 2020, доступного в примере модели DAX. Используя пример модели, вы можете добавить преобразование валюты для отображения преобразованной суммы продаж в год. После скачивания откройте файл в Power BI Desktop.
Создание новых таблиц
Пример модели не содержит все данные, необходимые для создания и использования строк динамического формата. Чтобы приступить к работе, сначала необходимо добавить две таблицы.
На ленте "Главная" выберите ввод данных.
В диалоговом окне "Создание таблицы" введите следующее имя таблицы, а затем скопируйте и вставьте следующую таблицу:
Имя таблицы: строки формата валюты страны
Страна/регион Валюта Формат Австралия Доллар # 0,00 AU$ Канада Доллар C$#,0.00 Дания Крона kr#0 Еврозоны Евро € #,0,00 Япония Иена ¥ #,0 Швеция Крона kr#,0 Швейцария Франк CHF#,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
Создайте столбец Год
Столбец нового года необходим в существующей таблице даты.
В представлении модели щелкните правой кнопкой мыши таблицу "Дата " и выберите "Создать столбец".
В строке формул DAX введите следующее выражение:
Year = YEAR([Date])
и нажмите клавишу ВВОД.
Создание отношений
Связи необходимы между новыми таблицами "Средние обменные курсы" и "Строки формата валюты страны", а также между таблицей "Средние обменные курсы" и существующей таблицей дат.
Если вы используете автоматическое определение связей, вероятно, связь между строками формата валюты страны и ежегодными средними курсами обмена была создана для вас в столбце "Страна". Если нет, создайте эту связь:
- Таблица 1. Средние обменные курсы по годам
- Столбец 1 таблицы: страна
- Кратность: многие к одному
- Таблица 2. Строки форматов валют для стран
- Столбец 2 таблицы: страна
- Сделать эту связь активной: Да
- Направление перекрестной фильтрации: одиночный
Связь должна выглядеть следующим образом:
Если у вас включен Автоопределение связей, возможно, была создана связь между строками формата валюты страны и территорией продаж в столбце Страна. Однако эта связь не является правильной для нашей модели. В представлении модели удалите эту связь.
Вместо этого создайте связь между средними ежегодными обменными курсами и датой в столбце Год.
- Таблица 1. Средние обменные курсы по годам
- Столбец 1 таблицы: год
- Кратность: многие ко многим
- Таблица 2. Дата
- Столбец 2 таблицы: год
- Сделать эту связь активной: Да
- Направление перекрестной фильтрации: односторонний ("Средний обменный курс" фильтрует "Дата")
Отношение должно выглядеть следующим образом:
Сохраните модель.
Создание таблицы групп мер
Группа мер помогает упорядочивать различные меры, имея их в одной таблице.
На ленте "Главная" выберите "Ввод данных".
В диалоговом окне "Создание таблицы" оставьте значения пустыми. Назовите таблицу Меры продаж, затем нажмите Загрузить. Эта таблица содержит ваши новые меры.
Создание мер
В области "Данные" разверните и щелкните правой кнопкой мыши меры "Продажи", а затем выберите "Создать меру". Введите следующее выражение DAX в строку формул DAX и нажмите Enter:
Sales Amount = SUM(Sales[Sales Amount])
Он должен выглядеть так:
В Меры продаж щелкните правой кнопкой мыши Column1, а затем выберите Скрыть в представлении отчета. Это преобразует меры продаж в группу мер, которая теперь отображается в верхней части области данных со значком группы мер, как показано ниже:
Теперь можно создать меру для вычисления курса обмена. Щелкните правой кнопкой мыши Меры продаж, выберите Новая мера, введите следующее выражение в строку формул DAX и нажмите клавишу Enter:
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 пикселей с округленными углами
- Параметры среза, стиль: плитка
- Заголовок среза: Выключено
- Значения, граница: левая, #333333, ширина линии 6
Таблица
- Размер и стиль, отступ: 10 px, по всем краям
- Размер и стиль, визуальная граница: светло-серый, 10 пикселей с округленными углами
- Сетка, горизонтальные линии сетки: белые, ширина 2
- Сетка, вертикальные линии сетки: белые, ширина 2
- Сетка, граница: белый
- Сетка, параметры: отступ в 2 строки
- Значения, значения: Цвет фона #F6F4F4
- Значения, значения: альтернативный цвет фона #F6F4F4
- Заголовки столбцов, текст: полужирный, белый цвет текста, цвет фона #0D6ABF
Линейный график
- Размер и стиль, заполнение: 10 пикселей, все края
- Размер и стиль, визуальная граница: светло-серый, 10 пикселей с округленными углами
- Заголовок, подзаголовок: вкл.
- Ось Y, Заголовок: отключён
- Ось Y: Выкл.
- Маркеры: Включены
- Метки данных: включено
- Метки данных, значения: жирный шрифт, синий цвет
Холст (необязательно)
- Фон холста: светло-серый, 85% прозрачность
С помощью этих визуальных свойств вы получите хорошую страницу отчета, как показано ниже.
Создание строки динамического формата
При выборе различных названий стран в фильтре-срезе отображается результат меры "Преобразованный объем продаж" в визуальных элементах, но не в формате, соответствующем этой стране или региону.
В области данных>метрики продаж выберите "Преобразованная сумма продаж".
На ленте "Средства мер" щелкните раскрывающийся список "Формат" и выберите "Динамический".
Раскрывающийся список слева от строки формул должен иметь формат, а формула в строке формул должна иметь строку формата. Замените строку формата следующим выражением DAX и нажмите Enter:
SELECTEDVALUE ( 'Country Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
Он должен выглядеть так:
Выберите другую страну в срезе. Теперь визуальные элементы таблицы и диаграммы должны отображать преобразованную сумму валюты в правильном формате для этой страны или региона. Попробуйте выбрать другую страну или регион в срезе, чтобы узнать, как изменяются визуальные элементы.
Сохраните модель.
Известные проблемы и рекомендации
Визуальные элементы имеют параметры форматирования, которые могут повлиять на отображение строки форматирования. Если форматирование отображается неожиданно в визуальном элементе, перейдите к параметрам визуального формата, найдите единицы отображения и измените его с автона None.
Сама мера может ссылаться непосредственно в строке динамического формата с помощью его имени, например [Measure A], или косвенно с помощью
SELECTEDMEASURE()
.Строки динамического формата предназначены только для показателей модели. Измерения отчета, которые можно добавить в отчет с подключением в реальном времени, не могут иметь динамические строки форматирования для измерений.
С помощью DirectQuery для служб Analysis Services при нажатии кнопки "Внести изменения в эту модель " в отчете динамического подключения он перемещает подключение к DirectQuery через службы Analysis Services. Как правило, можно внести изменения в строки формата измерений дистанционной модели. С помощью строк динамического формата для метрик:
- Меры удаленной модели, определенные строками динамического формата, блокируются от изменения строки формата на строку статического формата или на другое динамическое выражение DAX.
- Меры удаленной модели нельзя изменить со статической строки форматирования на выражение DAX динамического формата, определенное в локальной модели.
- Меры локальной модели заблокированы для использования строк динамического формата.