テーブル、列、メジャー、またはカレンダーの名前をテキスト文字列として返します。 省略可能なパラメーターは、返される名前のコンポーネントと、結果をエスケープする方法を制御します。
構文
NAMEOF ( <object> [, <component> [, <escaped>]] )
パラメーター
| 任期 | Definition |
|---|---|
object |
取得する名前を持つテーブル、列、メジャー、または予定表。 |
component |
(省略可能)返す修飾名のどの部分を指定する列挙体。 省略した場合、既定値は FULL。
「コンポーネントの値」を参照してください。 |
escaped |
(省略可能)返される名前のエスケープ方法を指定する列挙体。 省略した場合、既定値は ESCAPED。
「エスケープされた値」を参照してください。 |
コンポーネントの値
component パラメーターは、次の値を受け入れます。
| 価値 | 説明 |
|---|---|
TABLE |
テーブル名を返します。 オブジェクトがテーブル (カレンダーなど) に関連付けられていない場合にエラーを返します。 |
COLUMN |
列名を返します。 オブジェクトが列でない場合はエラーを返します。 |
MEASURE |
メジャー名を返します。 オブジェクトがメジャーでない場合はエラーを返します。 |
CALENDAR |
カレンダー名を返します。 オブジェクトがカレンダーでない場合はエラーを返します。 |
FULL |
(既定値)オブジェクトの完全修飾名を返します。 |
SELF |
オブジェクト自体の名前を返します。列またはメジャーの列またはメジャー名、またはテーブルとカレンダーのテーブル/カレンダー名を返します。 |
PARENT |
列とメジャーの親テーブル名を返します。 テーブルと予定表のエラーを返します。 |
エスケープされた値
escaped パラメーターは、次の値を受け入れます。
| 価値 | 説明 |
|---|---|
ESCAPED |
(既定値)完全な DAX エスケープを含む名前を返します。テーブル名は単一引用符で囲まれ、列名とメジャー名は角かっこで囲まれています。 |
UNESCAPED |
区切り記号またはエスケープ文字を含まない生の名前を返します。 親コンポーネントと子コンポーネントの両方を含む完全修飾名のエラーを返します。 |
MINIMALLYESCAPED |
名前が必要な場合にのみエスケープが適用された名前を返します。 単純な文字、数字、およびアンダースコアのみを含む名前は、区切り記号なしで返されます。 スペースまたは特殊文字を含む名前は、エスケープと共に返されます。 |
戻り値
コンポーネントとエスケープされたパラメーターに基づいて書式設定された、要求された名前を持つテキスト文字列。
注釈
-
object引数のみを使用して呼び出されると、NAMEOF は以前のバージョンと同じように動作し、完全修飾されたエスケープされた名前を返します。componentは既定でFULLに設定され、escapedは既定でESCAPEDされるため、戻り値の形式は次のようになります。- テーブルの場合:
'TableName'。 - 列の場合:
'TableName'[ColumnName]。 - メジャーの場合:
'TableName'[MeasureName]。 - カレンダーの場合:
'CalendarName'。 - バリエーション列の場合:
'TableName'[ColumnName].[VariationName]。
- テーブルの場合:
- 変数と動的式は、NAMEOF の引数としてサポートされていません。
- この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
入力の種類別のコンポーネントの動作
次の表は、既定のESCAPED モードを使用した、さまざまな入力の種類の各component値の結果を示しています。 "Error" は、組み合わせによってエラーが返されることを示します。
| 入力タイプ | TABLE |
COLUMN |
MEASURE |
CALENDAR |
FULL |
SELF |
PARENT |
|---|---|---|---|---|---|---|---|
列- Sales[Sales Amount] |
'Sales' |
[Sales Amount] |
エラー | エラー | 'Sales'[Sales Amount] |
[Sales Amount] |
'Sales' |
テーブル- Sales |
'Sales' |
エラー | エラー | エラー | 'Sales' |
'Sales' |
エラー |
測定- Sales[m1] |
'Sales' |
エラー | [m1] |
エラー | 'Sales'[m1] |
[m1] |
'Sales' |
カレンダー- myCalendar |
エラー | エラー | エラー | 'myCalendar' |
'myCalendar' |
'myCalendar' |
エラー |
エスケープされた動作
escaped パラメーターは、component ステップによって生成される名前の書式設定方法を制御します。 次の表は、完全にエスケープされた名前を参照として使用し、各 escaped 値の出力を示しています。
| 完全にエスケープされた名前 | ESCAPED |
UNESCAPED |
MINIMALLYESCAPED |
|---|---|---|---|
'Sales' |
'Sales' |
Sales |
Sales |
'Sales'[Sales Amount] |
'Sales'[Sales Amount] |
エラー | Sales[Sales Amount] |
'Sales'[m1] |
'Sales'[m1] |
エラー | Sales[m1] |
[Amount] |
[Amount] |
Amount |
Amount |
'Sales Region' |
'Sales Region' |
Sales Region |
'Sales Region' |
'Sales Region'[Column] |
'Sales Region'[Column] |
エラー | 'Sales Region'[Column] |
[Order Quantity] |
[Order Quantity] |
Order Quantity |
[Order Quantity] |
注
UNESCAPED は、結果が区切り記号なしであいまいになるため、完全修飾名 (テーブルと列/メジャー コンポーネントの両方を含む名前) のエラーを返します。
特殊文字のエスケープルール
次のエスケープ規則は、 DAX 名前区切り記号内で適用されます。
-
テーブル名 (単一引用符で区切られた): テーブル名のリテラル一重引用符 (
') は、2 つの単一引用符 ('') としてエスケープされます。 -
列名とメジャー名 (角かっこ区切り): 列またはメジャー名のリテラル右角かっこ (
]) は、]]としてエスケープされます。 左角かっこ ([) はエスケープを必要としません。
| 完全にエスケープされた名前 | ESCAPED |
UNESCAPED |
MINIMALLYESCAPED |
|---|---|---|---|
'Ta''''ble' (名前に ' があるテーブル) |
'Ta''''ble' |
Ta''ble |
Ta''ble |
[colu[]]mn] (名前に ] を含む列) |
[colu[]]mn] |
colu[]mn |
[colu[]]mn] |
例 1
次の DAX クエリは、列の完全修飾名を返します。
EVALUATE
{ NAMEOF ( 'Sales'[ORDER QUANTITY] ) }
戻り値:
| [値] |
|---|
| '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 ) }
戻り値:
| [値] |
|---|
| 'Sales' |
例 4
次の DAX クエリは、エスケープされていないテーブル名を返します。
EVALUATE
{ NAMEOF ( 'Sales', FULL, UNESCAPED ) }
戻り値:
| [値] |
|---|
| Sales |
例 5
次の DAX クエリでは、 component パラメーターと escaped パラメーターを使用して、列の最小エスケープされた親テーブル名を返します。
EVALUATE
{ NAMEOF ( 'Sales'[Sales Amount], PARENT, MINIMALLYESCAPED ) }
戻り値:
| [値] |
|---|
| Sales |