NAMEOF

platí pro:Počítaný sloupecPočítaná tabulkamíravizuální

Vrátí název tabulky, sloupce, míry nebo kalendáře jako textového řetězce. Volitelné parametry určují, která komponenta názvu se vrátí a jak se výsledek uchytá.

Syntaxe

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

Parametry

Term Definition
object Tabulka, sloupec, míra nebo kalendář, jehož název chcete načíst.
component (Volitelné) Výčet, který určuje, která část kvalifikovaného názvu se má vrátit. Pokud tento parametr vynecháte, výchozí hodnota FULLje . Viz hodnoty komponent.
escaped (Volitelné) Výčet, který určuje, jak je vrácený název uchvácený. Pokud tento parametr vynecháte, výchozí hodnota ESCAPEDje . Viz hodnoty s řídicími znaky.

Hodnoty součástí

Parametr component přijímá následující hodnoty:

Hodnota Description
TABLE Vrátí název tabulky. Vrátí chybu, pokud objekt není přidružený k tabulce (například kalendář).
COLUMN Vrátí název sloupce. Vrátí chybu, pokud objekt není sloupec.
MEASURE Vrátí název míry. Vrátí chybu, pokud objekt není mírou.
CALENDAR Vrátí název kalendáře. Vrátí chybu, pokud objekt není kalendářem.
FULL (Výchozí) Vrátí plně kvalifikovaný název objektu.
SELF Vrátí název samotného objektu: název sloupce nebo míry pro sloupce a míry nebo název tabulky/kalendáře pro tabulky a kalendáře.
PARENT Vrátí název nadřazené tabulky pro sloupce a míry. Vrátí chybu pro tabulky a kalendáře.

Řídicí hodnoty

Parametr escaped přijímá následující hodnoty:

Hodnota Description
ESCAPED (Výchozí) Vrátí název s úplným DAX zapouzdřením: názvy tabulek zabalené v jednoduchých uvozovkách, sloupcích a měrných názvech zabalených v hranatých závorkách.
UNESCAPED Vrátí nezpracovaný název bez oddělovačů nebo řídicích znaků. Vrátí chybu pro plně kvalifikované názvy, které obsahují nadřazenou i podřízenou komponentu.
MINIMALLYESCAPED Vrátí název s použitým escapingem pouze v případech, kdy ho název vyžaduje. Názvy, které obsahují pouze jednoduchá písmena, číslice a podtržítka, se vrátí bez oddělovačů. Názvy, které obsahují mezery nebo speciální znaky, se vrátí s escapingem.

Návratová hodnota

Textový řetězec s požadovaným názvem naformátovaným na základě komponent a řídicích parametrů.

Poznámky

  • Při zavolání pouze s argumentem object se funkce NAMEOF chová stejně jako v předchozích verzích a vrací plně kvalifikovaný název s řídicími znaky. Vzhledem k tomu, že component výchozí a výchozí nastavení FULLescaped jsou návratové ESCAPEDformáty:
    • Pro tabulky: 'TableName'.
    • Pro sloupce: 'TableName'[ColumnName].
    • Pro míry: 'TableName'[MeasureName].
    • Pro kalendáře: 'CalendarName'.
    • Pro sloupce variant: 'TableName'[ColumnName].[VariationName].
  • Proměnné a dynamické výrazy nejsou podporovány jako argumenty funkce NAMEOF.
  • Tato funkce není podporována pro použití v režimu DirectQuery při použití v počítaných sloupcích nebo pravidlech zabezpečení na úrovni řádků (RLS).

Chování komponenty podle typu vstupu

Následující tabulka ukazuje výsledek každé component hodnoty pro různé vstupní typy pomocí výchozího ESCAPED režimu. Chyba značí, že kombinace vrací chybu.

Typ vstupu TABLE COLUMN MEASURE CALENDAR FULL SELF PARENT
Sloupec- Sales[Sales Amount] 'Sales' [Sales Amount] Error Error 'Sales'[Sales Amount] [Sales Amount] 'Sales'
Tabulka- Sales 'Sales' Error Error Error 'Sales' 'Sales' Error
Opatření- Sales[m1] 'Sales' Error [m1] Error 'Sales'[m1] [m1] 'Sales'
Kalendář- myCalendar Error Error Error 'myCalendar' 'myCalendar' 'myCalendar' Error

Chování s řídicími znaky

Parametr escaped řídí formátování názvu vytvořeného krokem component . Následující tabulka používá plně řídicí název jako odkaz a zobrazuje výstup pro každou escaped hodnotu.

Plně uchycený název 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]

Poznámka:

UNESCAPED vrátí chybu pro plně kvalifikované názvy (názvy, které obsahují komponentu tabulky i sloupce/míry), protože výsledek je nejednoznačný bez oddělovačů.

Pravidla pro zapouzdření speciálních znaků

V rámci DAX oddělovačů názvů platí následující pravidla pro zapouzdření:

  • Názvy tabulek (oddělené jednoduchými uvozovkami): Literální jednoduchá uvozovka (') v názvu tabulky se uvozuje jako dvě jednoduché uvozovky ('').
  • Názvy sloupců a měr (oddělené závorkami): Literální pravá hranatá závorka (]) ve sloupci nebo názvu míry je uvozována jako ]]. Levá hranatá závorka[ () nevyžaduje zapouzdření.
Plně uchycený název ESCAPED UNESCAPED MINIMALLYESCAPED
'Ta''''ble' (tabulka s ' názvem) 'Ta''''ble' Ta''ble Ta''ble
[colu[]]mn] (sloupec s ] názvem) [colu[]]mn] colu[]mn [colu[]]mn]

Příklady v tomto článku můžete použít s ukázkovým modelem Adventure Works DW 2020 Power BI Desktopu. Pokud chcete model získat, podívejte se na DAX ukázkový model.

Příklad 1

Následující DAX dotaz vrátí plně kvalifikovaný název sloupce:

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

Návraty:

[Hodnota]
'Sales'[Order Quantity]

Příklad 2

Následující DAX dotaz vrátí plně kvalifikovaný název míry:

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

EVALUATE
{ NAMEOF ( [Projected Sales] ) }

Návraty:

[Hodnota]
'Sales'[Projected Sales]

Příklad 3

Následující DAX dotaz používá component parametr k extrahování pouze názvu tabulky z odkazu na sloupec:

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

Návraty:

[Hodnota]
"Sales" (Prodej)

Příklad 4

Následující DAX dotaz vrátí nepoupravený název tabulky:

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

Návraty:

[Hodnota]
Sales

Příklad 5

Následující DAX dotaz používá component parametry k escaped vrácení minimálně řídicího názvu nadřazené tabulky sloupce:

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

Návraty:

[Hodnota]
Sales