PATH
現在の識別子のすべての親の識別子を含む、区切りテキスト文字列を返します。これは、最も古いものから始まり、現在のものまで続きます。
構文
PATH(<ID_columnName>, <parent_columnName>)
パラメーター
用語 | 定義 |
---|---|
ID_columnName | テーブル内の行の一意識別子を含む既存の列の名前。 これを式にすることはできません。 ID_columnName の値のデータ型は、テキストまたは整数である必要があります。また、parent_columnName で参照されている列と同じデータ型である必要があります。 |
parent_columnName | 現在の行の親の一意識別子を含む既存の列の名前。 これを式にすることはできません。 parent_columnName データ型の値のデータ型は、テキストまたは整数である必要があり、ID_columnName の値と同じデータ型である必要があります。 |
戻り値
現在の識別子のすべての親の識別子を含む、区切りテキスト文字列。
解説
この関数は、現在の行の値に関連する項目を返すために、何らかの種類の内部階層を持つテーブルで使用されます。 たとえば、従業員、従業員の上司、および上司の上司を含む Employees テーブルでは、従業員をその上司につなぐパスを返すことができます。
このパスは、親子のリレーションシップの 1 つのレベルに制限されません。指定された開始行よりいくつか上のレベルの関連行を返すことができます。
- 先祖を区切るために使用される区切り記号は、縦棒 "|" です。
- ID_columnName と parent_columnName の値は、同じデータ型、テキストまたは整数である必要があります。
- parent_columnName の値は ID_columnName に存在する必要があります。 つまり、子レベルに値がない場合、親を検索することはできません。
- parent_columnName が BLANK の場合、PATH() では ID_columnName 値が返されます。 つまり、従業員の上司を検索するときに、parent_columnName 列にデータがない場合、PATH 関数では従業員 ID のみが返されます。
- ID_columnName に重複するものがあり、parent_columnName がその重複についても同じである場合、PATH() では共通の parent_columnName 値が返されます。しかし、parent_columnName 値がその重複については異なる場合、PATH() ではエラーが返されます。 つまり、同じ従業員 ID に対して 2 つのリストがあり、上司 ID が同じである場合、PATH 関数ではその上司の ID が返されます。 しかし、上司 ID が異なる 2 つの同じ従業員 ID がある場合、PATH 関数ではエラーが返されます。
- parent_columnName が BLANK の場合、PATH() では BLANK が返されます。
- ID_columnName に縦棒 "|" が含まれている場合、PATH() ではエラーが返されます。
この関数は、計算列または行レベルのセキュリティ (RLS) ルールで使用される場合、DirectQuery モードでの使用はサポートされません。
例
次の例では、各従業員のすべての上司をリストする計算列を作成します。
= PATH(Employee[EmployeeKey], Employee[ParentEmployeeKey])