NAMEOF

Berlaku untuk: kolom terhitungTabel terhitungUkurPerhitungan visual

Mengembalikan nama tabel, kolom, pengukuran, atau kalender sebagai string teks. Parameter opsional mengontrol komponen nama mana yang dikembalikan dan bagaimana hasilnya lolos.

Syntax

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

Parameter-parameternya

Istilah Definition
object Tabel, kolom, pengukuran, atau kalender yang namanya ingin Anda ambil.
component (Opsional) Enumerasi yang menentukan bagian mana dari nama yang memenuhi syarat yang akan dikembalikan. Jika dihilangkan, default ke FULL. Lihat Nilai komponen.
escaped (Opsional) Enumerasi yang menentukan bagaimana nama yang dikembalikan lolos. Jika dihilangkan, default ke ESCAPED. Lihat Nilai yang lolos.

Nilai komponen

Parameter component menerima nilai berikut:

Nilai Deskripsi
TABLE Mengembalikan nama tabel. Mengembalikan kesalahan jika objek tidak terkait dengan tabel (misalnya, kalender).
COLUMN Mengembalikan nama kolom. Mengembalikan kesalahan jika objek bukan kolom.
MEASURE Mengembalikan nama pengukuran. Mengembalikan kesalahan jika objek bukan ukuran.
CALENDAR Mengembalikan nama kalender. Mengembalikan kesalahan jika objek bukan kalender.
FULL (Default) Mengembalikan nama objek yang sepenuhnya memenuhi syarat.
SELF Mengembalikan nama objek itu sendiri: kolom atau nama pengukuran untuk kolom dan pengukuran, atau nama tabel/kalender untuk tabel dan kalender.
PARENT Mengembalikan nama tabel induk untuk kolom dan pengukuran. Mengembalikan kesalahan untuk tabel dan kalender.

Nilai yang lolos

Parameter escaped menerima nilai berikut:

Nilai Deskripsi
ESCAPED (Default) Mengembalikan nama dengan pelepasan penuh DAX : nama tabel yang dibungkus dalam tanda kutip tunggal, kolom, dan nama pengukuran yang dibungkus dalam tanda kurung siku.
UNESCAPED Mengembalikan nama mentah tanpa pemisah atau karakter escape. Mengembalikan kesalahan untuk nama yang sepenuhnya memenuhi syarat yang berisi komponen induk dan turunan.
MINIMALLYESCAPED Mengembalikan nama dengan pelepasan yang diterapkan hanya ketika nama memerlukannya. Nama yang hanya berisi huruf sederhana, digit, dan garis bawah dikembalikan tanpa pemisah. Nama yang berisi spasi atau karakter khusus dikembalikan dengan pelepasan.

Mengembalikan nilai

String teks dengan nama yang diminta, diformat berdasarkan komponen dan parameter yang lolos.

Komentar

  • Ketika dipanggil hanya object dengan argumen, NAMEOF berulah sama seperti pada versi sebelumnya, mengembalikan nama yang sepenuhnya memenuhi syarat dan lolos. Karena component default ke FULL dan escaped default ke ESCAPED, format pengembaliannya adalah:
    • Untuk tabel: 'TableName'.
    • Untuk kolom: 'TableName'[ColumnName].
    • Untuk langkah-langkah: 'TableName'[MeasureName].
    • Untuk kalender: 'CalendarName'.
    • Untuk kolom variasi: 'TableName'[ColumnName].[VariationName].
  • Variabel dan ekspresi dinamis tidak didukung sebagai argumen ke NAMEOF.
  • Fungsi ini tidak didukung untuk digunakan dalam mode DirectQuery saat digunakan dalam kolom terhitung atau aturan keamanan tingkat baris (RLS).

Perilaku komponen menurut jenis input

Tabel berikut menunjukkan hasil setiap component nilai untuk jenis input yang berbeda, menggunakan mode default ESCAPED . "Kesalahan" menunjukkan bahwa kombinasi mengembalikan kesalahan.

Jenis input TABLE COLUMN MEASURE CALENDAR FULL SELF PARENT
Kolom- Sales[Sales Amount] 'Sales' [Sales Amount] Kesalahan Kesalahan 'Sales'[Sales Amount] [Sales Amount] 'Sales'
Meja- Sales 'Sales' Kesalahan Kesalahan Kesalahan 'Sales' 'Sales' Kesalahan
Mengukur- Sales[m1] 'Sales' Kesalahan [m1] Kesalahan 'Sales'[m1] [m1] 'Sales'
Kalender- myCalendar Kesalahan Kesalahan Kesalahan 'myCalendar' 'myCalendar' 'myCalendar' Kesalahan

Perilaku lolos

Parameter escaped mengontrol bagaimana nama yang dihasilkan oleh langkah diformat component . Tabel berikut menggunakan nama yang sepenuhnya lolos sebagai referensi dan memperlihatkan output untuk setiap escaped nilai.

Nama yang sepenuhnya lolos ESCAPED UNESCAPED MINIMALLYESCAPED
'Sales' 'Sales' Sales Sales
'Sales'[Sales Amount] 'Sales'[Sales Amount] Kesalahan Sales[Sales Amount]
'Sales'[m1] 'Sales'[m1] Kesalahan Sales[m1]
[Amount] [Amount] Amount Amount
'Sales Region' 'Sales Region' Sales Region 'Sales Region'
'Sales Region'[Column] 'Sales Region'[Column] Kesalahan 'Sales Region'[Column]
[Order Quantity] [Order Quantity] Order Quantity [Order Quantity]

Nota

UNESCAPED mengembalikan kesalahan untuk nama yang sepenuhnya memenuhi syarat (nama yang menyertakan komponen tabel dan kolom/ukuran), karena hasilnya ambigu tanpa pemisah.

Aturan pelepasan karakter khusus

Aturan pelepasan berikut berlaku dalam DAX pemisah nama:

  • Nama tabel (dibatasi tanda kutip tunggal): Kutipan tunggal harfiah (') dalam nama tabel lolos sebagai dua tanda kutip tunggal ('').
  • Nama kolom dan ukuran (dibatasi tanda kurung): Tanda kurung siku penutup harfiah (]) dalam kolom atau nama pengukuran diloloskan sebagai ]]. Tanda kurung buka ([) tidak memerlukan pelepasan.
Nama yang sepenuhnya lolos ESCAPED UNESCAPED MINIMALLYESCAPED
'Ta''''ble' (tabel dengan ' nama) 'Ta''''ble' Ta''ble Ta''ble
[colu[]]mn] (kolom dengan ] nama) [colu[]]mn] colu[]mn [colu[]]mn]

Contoh dalam artikel ini dapat digunakan dengan contoh model Power BI Desktop Adventure Works DW 2020. Untuk mendapatkan model, lihat DAX contoh model.

Contoh 1

Kueri berikut DAX mengembalikan nama kolom yang sepenuhnya memenuhi syarat:

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

Pengembalian:

[Nilai]
'Sales'[Order Quantity]

Contoh 2

Kueri berikut DAX mengembalikan nama pengukuran yang sepenuhnya memenuhi syarat:

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

EVALUATE
{ NAMEOF ( [Projected Sales] ) }

Pengembalian:

[Nilai]
'Sales'[Projected Sales]

Contoh 3

Kueri berikut DAX menggunakan component parameter untuk mengekstrak hanya nama tabel dari referensi kolom:

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

Pengembalian:

[Nilai]
'Penjualan'

Contoh 4

Kueri berikut DAX mengembalikan nama tabel yang tidak diescaping:

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

Pengembalian:

[Nilai]
Sales

Contoh 5

Kueri berikut DAX menggunakan component parameter dan escaped untuk mengembalikan nama tabel induk kolom yang minimal lolos:

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

Pengembalian:

[Nilai]
Sales
  • fungsi Informasi