diff --git a/README.md b/README.md index ae4317e..8701e90 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ Check out the video below for an introduction to Semantic Link, Semantic Link La * [Dynamically generate a Direct Lake semantic model](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.generate_direct_lake_semantic_model) * [Check why a Direct Lake semantic model would fallback to DirectQuery](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.directlake.html#sempy_labs.directlake.check_fallback_reason) * [View a measure dependency tree](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.measure_dependency_tree) + * [View unique columns touched in a single (or multiple) DAX query(ies)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.html#sempy_labs.get_dax_query_dependencies) * Reports * [Report Best Practice Analyzer (BPA)](https://semantic-link-labs.readthedocs.io/en/stable/sempy_labs.report.html#sempy_labs.report.run_report_bpa) * [View report metadata](https://github.com/microsoft/semantic-link-labs/blob/main/notebooks/Report%20Analysis.ipynb) diff --git a/src/sempy_labs/admin/__init__.py b/src/sempy_labs/admin/__init__.py index 1219c47..83ec2e4 100644 --- a/src/sempy_labs/admin/__init__.py +++ b/src/sempy_labs/admin/__init__.py @@ -1,3 +1,6 @@ +from sempy_labs.admin._scanner import ( + scan_workspaces, +) from sempy_labs.admin._basic_functions import ( assign_workspaces_to_capacity, unassign_workspaces_from_capacity, @@ -66,4 +69,5 @@ "list_git_connections", "list_reports", "get_capacity_assignment_status", + "scan_workspaces", ] diff --git a/src/sempy_labs/tom/_model.py b/src/sempy_labs/tom/_model.py index da36060..d5ff4d0 100644 --- a/src/sempy_labs/tom/_model.py +++ b/src/sempy_labs/tom/_model.py @@ -4541,9 +4541,13 @@ def add_role_member(self, role_name: str, member: str | List[str]): rm.IdentityProvider = "AzureAD" rm.MemberName = m role.Members.Add(rm) - print(f"{icons.green_dot} '{m}' has been added as a member of the '{role_name}' role.") + print( + f"{icons.green_dot} '{m}' has been added as a member of the '{role_name}' role." + ) else: - print(f"{icons.yellow_dot} '{m}' is already a member in the '{role_name}' role.") + print( + f"{icons.yellow_dot} '{m}' is already a member in the '{role_name}' role." + ) def close(self):