Freigeben über


NAMEOF

Gilt für:Berechnete SpalteBerechnete TabelleMeasurevisuelle Berechnung

Gibt den Namen einer Tabelle, spalte, eines Measures oder eines Kalenders als Textzeichenfolge zurück. Optionale Parameter steuern, welche Komponente des Namens zurückgegeben wird und wie das Ergebnis escapet wird.

Syntax

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

Die Parameter

Begriff Definition
object Die Tabelle, Spalte, Maß oder Kalender, deren Name Sie abrufen möchten.
component (Optional) Eine Aufzählung, die angibt, welcher Teil des qualifizierten Namens zurückgegeben werden soll. Wenn dieser Wert nicht angegeben wird, wird standardmäßig auf FULL. Siehe Komponentenwerte.
escaped (Optional) Eine Aufzählung, die angibt, wie der zurückgegebene Name escaped ist. Wenn dieser Wert nicht angegeben wird, wird standardmäßig auf ESCAPED. Siehe Escapewerte.

Komponentenwerte

Der parameter component akzeptiert die folgenden Werte:

Wert Beschreibung
TABLE Gibt den Tabellennamen zurück. Gibt einen Fehler zurück, wenn das Objekt keiner Tabelle zugeordnet ist (z. B. einem Kalender).
COLUMN Gibt den Spaltennamen zurück. Gibt einen Fehler zurück, wenn das Objekt keine Spalte ist.
MEASURE Gibt den Measurenamen zurück. Gibt einen Fehler zurück, wenn das Objekt kein Measure ist.
CALENDAR Gibt den Kalendernamen zurück. Gibt einen Fehler zurück, wenn das Objekt kein Kalender ist.
FULL (Standard) Gibt den vollqualifizierten Namen des Objekts zurück.
SELF Gibt den Namen des Objekts selbst zurück: der Spalten- oder Measurename für Spalten und Measures oder den Tabellen-/Kalendernamen für Tabellen und Kalender.
PARENT Gibt den namen der übergeordneten Tabelle für Spalten und Measures zurück. Gibt einen Fehler für Tabellen und Kalender zurück.

Escapewerte

Der parameter escaped akzeptiert die folgenden Werte:

Wert Beschreibung
ESCAPED (Standard) Gibt den Namen mit vollständigem DAX Escapezeichen zurück: Tabellennamen, die in einfache Anführungszeichen, Spalten- und Measurenamen eingeschlossen sind, die in eckige Klammern eingeschlossen sind.
UNESCAPED Gibt den unformatierten Namen ohne Trennzeichen oder Escapezeichen zurück. Gibt einen Fehler für vollqualifizierte Namen zurück, die sowohl eine übergeordnete als auch eine untergeordnete Komponente enthalten.
MINIMALLYESCAPED Gibt den Namen zurück, auf den escapeing nur angewendet wird, wenn der Name erforderlich ist. Namen, die nur einfache Buchstaben, Ziffern und Unterstriche enthalten, werden ohne Trennzeichen zurückgegeben. Namen, die Leerzeichen oder Sonderzeichen enthalten, werden mit Escapezeichen zurückgegeben.

Rückgabewert

Eine Textzeichenfolge mit dem angeforderten Namen, formatiert basierend auf den Komponenten- und Escapeparametern.

Bemerkungen

  • Wenn nur das object Argument aufgerufen wird, verhält sich NAMEOF wie in früheren Versionen und gibt einen vollqualifizierten Escapenamen zurück. Da component standardmäßig die Rückgabeformate wie FULL folgt lauten ESCAPEDund escaped standardmäßig:
    • Für Tabellen: 'TableName'.
    • Für Spalten: 'TableName'[ColumnName].
    • Für Maßnahmen: 'TableName'[MeasureName].
    • Für Kalender: 'CalendarName'.
    • Für Variationsspalten: 'TableName'[ColumnName].[VariationName].
  • Variablen und dynamische Ausdrücke werden nicht als Argumente für NAMEOF unterstützt.
  • Diese Funktion wird für die Verwendung im DirectQuery-Modus nicht unterstützt, wenn sie in berechneten Spalten oder Sicherheitsregeln auf Zeilenebene (RLS) verwendet wird.

Komponentenverhalten nach Eingabetyp

Die folgende Tabelle zeigt das Ergebnis jedes component Werts für unterschiedliche Eingabetypen unter Verwendung des Standardmodus ESCAPED . "Error" gibt an, dass die Kombination einen Fehler zurückgibt.

Eingabetyp TABLE COLUMN MEASURE CALENDAR FULL SELF PARENT
Spalte- Sales[Sales Amount] 'Sales' [Sales Amount] Fehler Fehler 'Sales'[Sales Amount] [Sales Amount] 'Sales'
Tabelle- Sales 'Sales' Fehler Fehler Fehler 'Sales' 'Sales' Fehler
Messen- Sales[m1] 'Sales' Fehler [m1] Fehler 'Sales'[m1] [m1] 'Sales'
Kalender- myCalendar Fehler Fehler Fehler 'myCalendar' 'myCalendar' 'myCalendar' Fehler

Escapeverhalten

Der escaped Parameter steuert, wie der vom component Schritt erzeugte Name formatiert wird. Die folgende Tabelle verwendet den vollständigen Escapenamen als Verweis und zeigt die Ausgabe für jeden escaped Wert an.

Vollständiger Escapename ESCAPED UNESCAPED MINIMALLYESCAPED
'Sales' 'Sales' Sales Sales
'Sales'[Sales Amount] 'Sales'[Sales Amount] Fehler Sales[Sales Amount]
'Sales'[m1] 'Sales'[m1] Fehler Sales[m1]
[Amount] [Amount] Amount Amount
'Sales Region' 'Sales Region' Sales Region 'Sales Region'
'Sales Region'[Column] 'Sales Region'[Column] Fehler 'Sales Region'[Column]
[Order Quantity] [Order Quantity] Order Quantity [Order Quantity]

Hinweis

UNESCAPED gibt einen Fehler für vollqualifizierte Namen zurück (Namen, die sowohl eine Tabelle als auch eine Spalte/Measure-Komponente enthalten), da das Ergebnis ohne Trennzeichen mehrdeutig wäre.

Regeln zum Ausfangen von Sonderzeichen

Die folgenden Escaperegeln gelten innerhalb von DAX Namenstrennzeichen:

  • Tabellennamen (mit einfachem Anführungszeichen getrennt): Ein literales einfaches Anführungszeichen (') in einem Tabellennamen wird als zwei einfache Anführungszeichen ('') escapet.
  • Spalten- und Measurenamen (eckige Trennzeichen): Eine literale schließende Klammer (]) in einer Spalte oder einem Measurenamen wird als Escapezeichen gesetzt ]]. Eine öffnende eckige Klammer ([) erfordert keine Flucht.
Vollständiger Escapename ESCAPED UNESCAPED MINIMALLYESCAPED
'Ta''''ble' (Tabelle mit ' Name) 'Ta''''ble' Ta''ble Ta''ble
[colu[]]mn] (Spalte mit ] Name) [colu[]]mn] colu[]mn [colu[]]mn]

Beispiel 1

Die folgende DAX Abfrage gibt den vollqualifizierten Namen einer Spalte zurück:

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

Rückgabewerte:

[Wert]
'Vertrieb'[Bestellmenge]

Beispiel 2

Die folgende DAX Abfrage gibt den vollqualifizierten Namen eines Measures zurück:

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

EVALUATE
{ NAMEOF ( [Projected Sales] ) }

Rückgabewerte:

[Wert]
'Vertrieb'[Projizierter Vertrieb]

Beispiel 3

Die folgende DAX Abfrage verwendet den component Parameter, um nur den Tabellennamen aus einem Spaltenverweis zu extrahieren:

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

Rückgabewerte:

[Wert]
"Vertrieb"

Beispiel 4

Die folgende DAX Abfrage gibt einen nicht gescapeten Tabellennamen zurück:

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

Rückgabewerte:

[Wert]
Sales

Beispiel 5

In der folgenden DAX Abfrage werden die Und-Parameter componentescaped verwendet, um den Namen der übergeordneten Minimal-Escape-Tabelle einer Spalte zurückzugeben:

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

Rückgabewerte:

[Wert]
Sales