NAMEOF

Se aplica a:columna Calculadatabla calculadaMedidacálculo visual

Devuelve el nombre de una tabla, columna, medida o calendario como una cadena de texto. Los parámetros opcionales controlan qué componente del nombre se devuelve y cómo se escapa el resultado.

Syntax

NAMEOF ( <object> [, <component> [, <escaped>]] )

Parámetros

Término Definición
object Tabla, columna, medida o calendario cuyo nombre desea recuperar.
component (Opcional) Enumeración que especifica qué parte del nombre completo se va a devolver. Si se omite, el valor predeterminado es FULL. Consulte Valores de componente.
escaped (Opcional) Enumeración que especifica cómo se escapa el nombre devuelto. Si se omite, el valor predeterminado es ESCAPED. Consulte Valores de escape.

Valores de componente

El parámetro component acepta los siguientes valores:

Importancia Descripción
TABLE Devuelve el nombre de la tabla. Devuelve un error si el objeto no está asociado a una tabla (por ejemplo, un calendario).
COLUMN Devuelve el nombre de la columna. Devuelve un error si el objeto no es una columna.
MEASURE Devuelve el nombre de la medida. Devuelve un error si el objeto no es una medida.
CALENDAR Devuelve el nombre del calendario. Devuelve un error si el objeto no es un calendario.
FULL (Valor predeterminado) Devuelve el nombre completo del objeto.
SELF Devuelve el nombre del propio objeto: la columna o el nombre de medida de las columnas y medidas, o el nombre de tabla o calendario para las tablas y calendarios.
PARENT Devuelve el nombre de la tabla primaria para las columnas y las medidas. Devuelve un error para tablas y calendarios.

Valores de escape

El parámetro escaped acepta los siguientes valores:

Importancia Descripción
ESCAPED (Valor predeterminado) Devuelve el nombre con escape completo DAX : nombres de tabla encapsulados entre comillas simples, nombres de columna y medida encapsulados entre corchetes.
UNESCAPED Devuelve el nombre sin formato sin ningún delimitador ni caracteres de escape. Devuelve un error para los nombres completos que contienen un componente primario y secundario.
MINIMALLYESCAPED Devuelve el nombre con escape aplicado solo cuando el nombre lo requiere. Los nombres que contienen solo letras simples, dígitos y caracteres de subrayado se devuelven sin delimitadores. Los nombres que contienen espacios o caracteres especiales se devuelven con escape.

Valor devuelto

Cadena de texto con el nombre solicitado, con formato basado en los parámetros de componente y de escape.

Observaciones

  • Cuando se llama solo con el object argumento, NAMEOF se comporta igual que en versiones anteriores, devolviendo un nombre completo con escape. Dado que component el valor predeterminado es FULL y escaped el valor predeterminado es ESCAPED, los formatos devueltos son:
    • Para tablas: 'TableName'.
    • Para las columnas: 'TableName'[ColumnName].
    • Para medidas: 'TableName'[MeasureName].
    • Para calendarios: 'CalendarName'.
    • Para las columnas de variación: 'TableName'[ColumnName].[VariationName].
  • Las variables y las expresiones dinámicas no se admiten como argumentos para NAMEOF.
  • Esta función no se admite para su uso en el modo DirectQuery cuando se usa en columnas calculadas o reglas de seguridad de nivel de fila (RLS).

Comportamiento del componente por tipo de entrada

En la tabla siguiente se muestra el resultado de cada component valor para distintos tipos de entrada, utilizando el modo predeterminado ESCAPED . "Error" indica que la combinación devuelve un error.

Tipo de entrada TABLE COLUMN MEASURE CALENDAR FULL SELF PARENT
Columna: Sales[Sales Amount] 'Sales' [Sales Amount] Error Error 'Sales'[Sales Amount] [Sales Amount] 'Sales'
Tabla: Sales 'Sales' Error Error Error 'Sales' 'Sales' Error
Medida: Sales[m1] 'Sales' Error [m1] Error 'Sales'[m1] [m1] 'Sales'
Calendario: myCalendar Error Error Error 'myCalendar' 'myCalendar' 'myCalendar' Error

Comportamiento de escape

El escaped parámetro controla cómo se da formato al nombre generado por el component paso. En la tabla siguiente se usa el nombre de escape completo como referencia y se muestra la salida de cada escaped valor.

Nombre de escape completo 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]

Nota:

UNESCAPED devuelve un error para los nombres completos (nombres que incluyen una tabla y un componente de columna o medida), ya que el resultado sería ambiguo sin delimitadores.

Reglas de escape de caracteres especiales

Las siguientes reglas de escape se aplican dentro DAX de los delimitadores de nombres:

  • Nombres de tabla (delimitados por comillas simples): Las comillas simples literales (') de un nombre de tabla se escapan como dos comillas simples ('').
  • Nombres de columna y medida (entre corchetes delimitados): Un corchete de cierre literal (]) en una columna o nombre de medida se aplica como escape a ]]. Un corchete de apertura ([) no requiere escape.
Nombre de escape completo ESCAPED UNESCAPED MINIMALLYESCAPED
'Ta''''ble' (tabla con ' en nombre) 'Ta''''ble' Ta''ble Ta''ble
[colu[]]mn] (columna con ] en nombre) [colu[]]mn] colu[]mn [colu[]]mn]

Ejemplo 1

La consulta siguiente DAX devuelve el nombre completo de una columna:

EVALUATE
{ NAMEOF ( 'Sales'[ORDER QUANTITY] ) }

Devoluciones:

[Valor]
'Ventas'[Cantidad de pedidos]

Ejemplo 2

La consulta siguiente DAX devuelve el nombre completo de una medida:

DEFINE
    MEASURE Sales[Projected Sales] =
        SUM ( 'Sales'[Sales Amount] ) * 1.06

EVALUATE
{ NAMEOF ( [Projected Sales] ) }

Devoluciones:

[Valor]
'Ventas'[Ventas proyectadas]

Ejemplo 3

La consulta siguiente DAX usa el component parámetro para extraer solo el nombre de la tabla de una referencia de columna:

EVALUATE
{ NAMEOF ( 'Sales'[Sales Amount], TABLE ) }

Devoluciones:

[Valor]
"Ventas"

Ejemplo 4

La consulta siguiente DAX devuelve un nombre de tabla sin escape:

EVALUATE
{ NAMEOF ( 'Sales', FULL, UNESCAPED ) }

Devoluciones:

[Valor]
Ventas

Ejemplo 5

La consulta siguiente DAX usa los component parámetros y escaped para devolver el nombre de tabla principal con escape mínimo de una columna:

EVALUATE
{ NAMEOF ( 'Sales'[Sales Amount], PARENT, MINIMALLYESCAPED ) }

Devoluciones:

[Valor]
Ventas