Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применяется:
вычисляемый столбец
вычисляемой таблицы
измерение
визуального вычисления
Возвращает имя таблицы, столбца, меры или календаря в виде текстовой строки. Необязательные параметры определяют, какой компонент возвращается имя и как будет экранирован результат.
Синтаксис
NAMEOF ( <object> [, <component> [, <escaped>]] )
Параметры
| Срок | Definition |
|---|---|
object |
Таблица, столбец, мера или календарь, имя которого требуется получить. |
component |
(Необязательно) Перечисление, указывающее, какая часть возвращаемого имени. Если опущен, по умолчанию используется значение FULL. См. значения компонентов. |
escaped |
(Необязательно) Перечисление, указывающее, как экранируется возвращаемое имя. Если опущен, по умолчанию используется значение ESCAPED. См. экранированные значения. |
Значения компонентов
Параметр component принимает следующие значения:
| Ценность | Описание |
|---|---|
TABLE |
Возвращает имя таблицы. Возвращает ошибку, если объект не связан с таблицей (например, календарем). |
COLUMN |
Возвращает имя столбца. Возвращает ошибку, если объект не является столбцом. |
MEASURE |
Возвращает имя меры. Возвращает ошибку, если объект не является мерой. |
CALENDAR |
Возвращает имя календаря. Возвращает ошибку, если объект не является календарем. |
FULL |
(по умолчанию) Возвращает полное имя объекта. |
SELF |
Возвращает имя самого объекта: столбец или имя меры для столбцов и мер или имя таблицы или календаря для таблиц и календарей. |
PARENT |
Возвращает имя родительской таблицы для столбцов и мер. Возвращает ошибку для таблиц и календарей. |
Экранированные значения
Параметр escaped принимает следующие значения:
| Ценность | Описание |
|---|---|
ESCAPED |
(по умолчанию) Возвращает имя с полным DAX экранированием: имена таблиц, упакованные в одинарные кавычки, столбцы и имена мер, упакованные в квадратные скобки. |
UNESCAPED |
Возвращает необработанное имя без разделителей или escape-символов. Возвращает ошибку для полных имен, содержащих как родительский, так и дочерний компонент. |
MINIMALLYESCAPED |
Возвращает имя с экранированием, примененным только в том случае, если оно требуется. Имена, содержащие только простые буквы, цифры и подчеркивания, возвращаются без разделителей. Имена, содержащие пробелы или специальные символы, возвращаются с экранированием. |
Возвращаемое значение
Текстовая строка с запрошенным именем, отформатированная на основе компонента и экранированных параметров.
Замечания
- При вызове только
objectс аргументом NAMEOF ведет себя так же, как и в предыдущих версиях, возвращая полное, escape-имя. Так какcomponentзначения по умолчанию иFULLзначения по умолчаниюescapedESCAPEDиспользуются, возвращаемые форматы:- Для таблиц:
'TableName'. - Для столбцов:
'TableName'[ColumnName]. - Для мер:
'TableName'[MeasureName]. - Для календарей:
'CalendarName'. - Для столбцов вариантов:
'TableName'[ColumnName].[VariationName].
- Для таблиц:
- Переменные и динамические выражения не поддерживаются в качестве аргументов в NAMEOF.
- Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).
Поведение компонента по типу входных данных
В следующей таблице показан результат каждого component значения для разных типов входных данных с помощью режима по умолчанию ESCAPED . "Ошибка" указывает, что сочетание возвращает ошибку.
| Тип Ввода | TABLE |
COLUMN |
MEASURE |
CALENDAR |
FULL |
SELF |
PARENT |
|---|---|---|---|---|---|---|---|
Столбца- Sales[Sales Amount] |
'Sales' |
[Sales Amount] |
Error | Error | 'Sales'[Sales Amount] |
[Sales Amount] |
'Sales' |
Таблице- Sales |
'Sales' |
Error | Error | Error | 'Sales' |
'Sales' |
Error |
Измерения- Sales[m1] |
'Sales' |
Error | [m1] |
Error | 'Sales'[m1] |
[m1] |
'Sales' |
Календарь- myCalendar |
Error | Error | Error | 'myCalendar' |
'myCalendar' |
'myCalendar' |
Error |
Поведение с экранированием
Параметр escaped определяет форматирование имени, созданного на шаге component . В следующей таблице используется полное escape-имя в качестве ссылки и отображаются выходные данные для каждого escaped значения.
| Полное escape-имя | ESCAPED |
UNESCAPED |
MINIMALLYESCAPED |
|---|---|---|---|
'Sales' |
'Sales' |
Sales |
Sales |
'Sales'[Sales Amount] |
'Sales'[Sales Amount] |
Error | Sales[Sales Amount] |
'Sales'[m1] |
'Sales'[m1] |
Error | Sales[m1] |
[Amount] |
[Amount] |
Amount |
Amount |
'Sales Region' |
'Sales Region' |
Sales Region |
'Sales Region' |
'Sales Region'[Column] |
'Sales Region'[Column] |
Error | 'Sales Region'[Column] |
[Order Quantity] |
[Order Quantity] |
Order Quantity |
[Order Quantity] |
Замечание
UNESCAPED возвращает ошибку для полных имен (имена, включающие как таблицу, так и компонент таблицы или измерения), так как результат является неоднозначным без разделителей.
Специальные правила экранирования символов
Следующие правила экранирования применяются в DAX разделителях имен:
-
Имена таблиц (разделители с одним кавычками): Литеральный одинарный кавычки (
') в имени таблицы экранируется как две одинарные кавычки (''). -
Имена столбцов и мер (разделенные скобками): Литеральная закрывающая скобка (
]) в столбце или имени меры экранируется как]]. Открывающая скобка ([) не требует экранирования.
| Полное escape-имя | ESCAPED |
UNESCAPED |
MINIMALLYESCAPED |
|---|---|---|---|
'Ta''''ble' (таблица с ' именем) |
'Ta''''ble' |
Ta''ble |
Ta''ble |
[colu[]]mn] (столбец с ] именем) |
[colu[]]mn] |
colu[]mn |
[colu[]]mn] |
Примеры в этой статье можно использовать с примером модели Adventure Works DW 2020 Power BI Desktop. Сведения о получении модели см. в разделе DAXпримера модели.
Пример 1
DAX Следующий запрос возвращает полное имя столбца:
EVALUATE
{ NAMEOF ( 'Sales'[ORDER QUANTITY] ) }
Возвращает:
| [значение] |
|---|
| "Продажи"[Количество заказов] |
Пример 2
DAX Следующий запрос возвращает полное имя меры:
DEFINE
MEASURE Sales[Projected Sales] =
SUM ( 'Sales'[Sales Amount] ) * 1.06
EVALUATE
{ NAMEOF ( [Projected Sales] ) }
Возвращает:
| [значение] |
|---|
| 'Sales'[Projected Sales] |
Пример 3
DAX Следующий запрос использует component параметр для извлечения только имени таблицы из ссылки на столбец:
EVALUATE
{ NAMEOF ( 'Sales'[Sales Amount], TABLE ) }
Возвращает:
| [значение] |
|---|
| "Продажи" |
Пример 4
DAX Следующий запрос возвращает неопакованное имя таблицы:
EVALUATE
{ NAMEOF ( 'Sales', FULL, UNESCAPED ) }
Возвращает:
| [значение] |
|---|
| Sales |
Пример 5
DAX Следующий запрос использует component и escaped параметры для возврата минимально экранированного имени родительской таблицы столбца:
EVALUATE
{ NAMEOF ( 'Sales'[Sales Amount], PARENT, MINIMALLYESCAPED ) }
Возвращает:
| [значение] |
|---|
| Sales |
Связанный контент
- функции информационных функций