適用対象:
計算列
計算テーブル
ビジュアル計算 ![]()
クエリ DAX メジャー
セマンティック モデル内の各リレーションシップに関する情報を含むテーブルを返します。 この関数は、テーブル間のリレーションシップに関するメタデータを提供します。
構文
INFO.RELATIONSHIPS ( [<Restriction name>, <Restriction value>], ... )
パラメーター
パラメーターは、この DAX 関数では省略可能です。 パラメーターを使用する場合は、両方を指定する必要があります。 複数のパラメーターのペアが許可されます。 制限の名前と値はテキストであり、二重引用符で囲んで入力します。
| 任期 | Definition |
|---|---|
| 制限名 | 結果のフィルター処理に使用される制限の名前。 |
| 制限値 | 制限の結果をフィルター処理するために使用される値。 |
制約
通常、DAX 関数の結果のすべての列を制限として使用できます。 追加の制限も許可される場合があります。
戻り値
現在のセマンティック モデルのリレーションシップのスキーマ行セットと列が一致するテーブル。
| コラム | Description |
|---|---|
| ID | リレーションシップの一意識別子 |
| ModelID | このリレーションシップを含むモデルへの外部キー |
| 名前 | リレーションシップの名前 |
| IsActive | リレーションシップがアクティブかどうかを示すブール値 |
| タイプ | リレーションシップの種類 (OneToMany、ManyToOne など) |
| crossFilteringBehavior | クロス フィルタリング動作 (OneDirection、BothDirections など) |
| JoinOnDateBehavior | 日付ベースの結合の動作 |
| 参照整合性を依存する | 参照整合性に依存するかどうかを示すブール値 |
| FromTableID | リレーションシップ内のソース テーブルへの外部キー |
| FromColumnID | リレーションシップ内のソース列への外部キー |
| FromCardinality | リレーションシップの "from" 側のカーディナリティ |
| ToTableID | リレーションシップ内のターゲット テーブルへの外部キー |
| ToColumnID | リレーションシップ内のターゲット列への外部キー |
| ToCardinality | リレーションシップの "to" 側のカーディナリティ |
| State | リレーションシップの現在の状態 |
| RelationshipStorageID | リレーションシップ ストレージ情報への外部キー |
| RelationshipStorage2ID | 外部キーからセカンダリ リレーションシップへのストレージ情報 |
| ModifiedTime | リレーションシップが最後に変更された日時 |
| RefreshedTime | リレーションシップが最後に更新された日時 |
| セキュリティフィルタリングの動作 | リレーションシップのセキュリティ フィルター処理の動作 |
注釈
- 通常、 DAX クエリでモデル メタデータを検査および文書化するために使用されます。
- 必要なアクセス許可は、ホストによって異なります。 完全なメタデータのクエリを実行するには、モデル管理者のアクセス許可が必要な場合があります。
Example
次の DAX クエリは、クエリ ビュー DAX 実行できます。
EVALUATE
INFO.RELATIONSHIPS()
例 2 - 結合 DAX クエリ
次の DAX クエリは、クエリ ビュー DAX 実行できます。
EVALUATE
VAR _Relationships =
SELECTCOLUMNS(
INFO.RELATIONSHIPS(),
"Relationship Name", [Name],
"Is Active", [IsActive],
"Type", [Type],
"Cross Filtering", [CrossFilteringBehavior],
"From Table ID", [FromTableID],
"From Column ID", [FromColumnID],
"To Table ID", [ToTableID],
"To Column ID", [ToColumnID]
)
VAR _FromTables =
SELECTCOLUMNS(
INFO.TABLES(),
"FromTableID", [ID],
"From Table Name", [Name]
)
VAR _ToTables =
SELECTCOLUMNS(
INFO.TABLES(),
"ToTableID", [ID],
"To Table Name", [Name]
)
VAR _FromColumns =
SELECTCOLUMNS(
INFO.COLUMNS(),
"FromColumnID", [ID],
"From Column Name", [Name]
)
VAR _ToColumns =
SELECTCOLUMNS(
INFO.COLUMNS(),
"ToColumnID", [ID],
"To Column Name", [Name]
)
VAR _CombinedTable1 =
NATURALLEFTOUTERJOIN(
_Relationships,
_FromTables
)
VAR _CombinedTable2 =
NATURALLEFTOUTERJOIN(
_CombinedTable1,
_ToTables
)
VAR _CombinedTable3 =
NATURALLEFTOUTERJOIN(
_CombinedTable2,
_FromColumns
)
VAR _CombinedTable4 =
NATURALLEFTOUTERJOIN(
_CombinedTable3,
_ToColumns
)
RETURN
SELECTCOLUMNS(
_CombinedTable4,
"Relationship Name", [Relationship Name],
"From Table", [From Table Name],
"From Column", [From Column Name],
"To Table", [To Table Name],
"To Column", [To Column Name],
"Is Active", [Is Active],
"Type", [Type],
"Cross Filtering", [Cross Filtering]
)
ORDER BY [Relationship Name]