Integrating and enhancing DMV data

The following M query produces the Relationships table by implementing joins to retrieve the table and column names on each side of each relationship:

let
FromTableJoin = Table.NestedJoin(
RelationshipsDMV,{"FromTableID"},TablesDMV,{"ID"},"TableDMVColumns", JoinKind.Inner),
FromTable = Table.ExpandTableColumn(FromTableJoin, "TableDMVColumns", {"Name"}, {"From Table"}),
ToTableJoin = Table.NestedJoin(
FromTable,{"ToTableID"},TablesDMV,{"ID"},"TableDMVColumns", JoinKind.Inner),
ToTable = Table.ExpandTableColumn(ToTableJoin, "TableDMVColumns", {"Name"}, {"To Table"}),
FromColumnJoin = Table.NestedJoin(
ToTable,{"FromColumnID"},ColumnsDMV,{"ID"},"ColumnsDMVColumns", JoinKind.Inner),
FromColumn = Table.ExpandTableColumn(FromColumnJoin, "ColumnsDMVColumns",
{"ExplicitName"}, {"From Column"}),
ToColumnJoin = Table.NestedJoin(
FromColumn,{"ToColumnID"},ColumnsDMV,{"ID"},"ColumnsDMVColumns", JoinKind.Inner),
ToColumn = Table.ExpandTableColumn(ToColumnJoin, "ColumnsDMVColumns",
{"ExplicitName"}, {"To Column"}),
CrossFilteringColumn = Table.AddColumn(ToColumn, "Cross-Filtering Behavior", each
if [CrossFilteringBehavior] = 1 then "Single Direction"
else if [CrossFilteringBehavior] = 2 then "Bidirectional" else "Other", type text),
RenameActiveFlag = Table.RenameColumns(CrossFilteringColumn,{{"IsActive", "Active Flag"}})
in
RenameActiveFlag

The Relationships DMV (TMSCHEMA_RELATIONSHIPS) includes table and column ID columns, which are used for the joins to the tables (TMSCHEMA_TABLES) and columns (TMSCHEMA_COLUMNS) DMVs, respectively. Additionally, a more intuitive cross-filtering behavior column is added based on a conditional (if..then) expression.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.14.129.194