semantic-link-labs 0.8.4__tar.gz → 0.8.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of semantic-link-labs might be problematic. Click here for more details.
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/PKG-INFO +8 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/README.md +6 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/docs/source/conf.py +1 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/environment.yml +1 -1
- semantic_link_labs-0.8.5/notebooks/Migration to Direct Lake.ipynb +387 -0
- semantic_link_labs-0.8.5/notebooks/Model Optimization.ipynb +444 -0
- semantic_link_labs-0.8.5/notebooks/Query Scale Out.ipynb +226 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/pyproject.toml +2 -2
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/PKG-INFO +8 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/SOURCES.txt +2 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/requires.txt +1 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/__init__.py +29 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_data_pipelines.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_dataflows.py +116 -3
- semantic_link_labs-0.8.5/src/sempy_labs/_dax.py +250 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_deployment_pipelines.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_environments.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_eventhouses.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_eventstreams.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_external_data_shares.py +1 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_generate_semantic_model.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_git.py +7 -7
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_helper_functions.py +25 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_kql_databases.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_kql_querysets.py +3 -3
- semantic_link_labs-0.8.5/src/sempy_labs/_mirrored_databases.py +428 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_mirrored_warehouses.py +1 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_ml_experiments.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_ml_models.py +4 -4
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_bpa.py +209 -180
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_bpa_bulk.py +41 -23
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_dependencies.py +41 -87
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_notebooks.py +2 -2
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_query_scale_out.py +4 -4
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_refresh_semantic_model.py +2 -2
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_spark.py +6 -6
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_vertipaq.py +31 -19
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_warehouses.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_workspace_identity.py +2 -2
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_workspaces.py +7 -7
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/admin/__init__.py +2 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/admin/_basic_functions.py +54 -8
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/admin/_domains.py +1 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_update_directlake_partition_entity.py +1 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_warm_cache.py +10 -9
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/_get_lakehouse_tables.py +1 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/_shortcuts.py +2 -2
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_create_pqt_file.py +5 -2
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/__init__.py +2 -0
- semantic_link_labs-0.8.5/src/sempy_labs/report/_download_report.py +75 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_generate_report.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_functions.py +3 -3
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_rebind.py +1 -1
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_reportwrapper.py +4 -2
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/tom/_model.py +71 -35
- semantic_link_labs-0.8.4/notebooks/Migration to Direct Lake.ipynb +0 -1
- semantic_link_labs-0.8.4/notebooks/Model Optimization.ipynb +0 -1
- semantic_link_labs-0.8.4/notebooks/Query Scale Out.ipynb +0 -1
- semantic_link_labs-0.8.4/src/sempy_labs/_dax.py +0 -64
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/.github/ISSUE_TEMPLATE/issue--question---advice-needed.md +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/.github/workflows/build.yaml +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/.github/workflows/codeql.yaml +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/.gitignore +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/.readthedocs.yaml +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/.vscode/settings.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/CODE_OF_CONDUCT.md +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/LICENSE +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/SECURITY.md +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/SUPPORT.md +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/docs/Makefile +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/docs/make.bat +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/docs/requirements.txt +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/docs/source/index.rst +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/docs/source/modules.rst +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/notebooks/Best Practice Analyzer Report.ipynb +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/notebooks/Capacity Migration.ipynb +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/notebooks/Report Analysis.ipynb +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/notebooks/SQL.ipynb +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/notebooks/Semantic Model Refresh.ipynb +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/notebooks/Tabular Object Model.ipynb +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/setup.cfg +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/dependency_links.txt +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/semantic_link_labs.egg-info/top_level.txt +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_ai.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_am-ET.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ar-AE.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_bg-BG.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ca-ES.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_cs-CZ.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_da-DK.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_de-DE.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_el-GR.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_es-ES.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_fa-IR.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_fi-FI.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_fr-FR.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ga-IE.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_he-IL.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_hi-IN.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_hu-HU.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_id-ID.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_is-IS.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_it-IT.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ja-JP.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ko-KR.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_mt-MT.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_nl-NL.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_pl-PL.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_pt-BR.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_pt-PT.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ro-RO.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ru-RU.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_sk-SK.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_sl-SL.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_sv-SE.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_ta-IN.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_te-IN.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_th-TH.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_tr-TR.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_uk-UA.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_zh-CN.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_bpa_translation/_model/_translations_zu-ZA.po +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_capacities.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_capacity_migration.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_clear_cache.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_connections.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_documentation.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_icons.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_list_functions.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_managed_private_endpoints.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_auto_build.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_model_bpa_rules.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_one_lake_integration.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_sql.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_translations.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/_workloads.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/__init__.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_directlake_schema_compare.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_directlake_schema_sync.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_dl_helper.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_generate_shared_expression.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_get_directlake_lakehouse.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_get_shared_expression.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_guardrails.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_list_directlake_model_calc_tables.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_show_unsupported_directlake_objects.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/directlake/_update_directlake_model_lakehouse_connection.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/__init__.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/_get_lakehouse_columns.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/lakehouse/_lakehouse.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/__init__.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migrate_calctables_to_lakehouse.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migrate_calctables_to_semantic_model.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migrate_model_objects_to_semantic_model.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migrate_tables_columns_to_semantic_model.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_migration_validation.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/migration/_refresh_calc_tables.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_BPAReportTemplate.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/.pbi/localSettings.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/.platform +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/StaticResources/SharedResources/BaseThemes/CY24SU06.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/page.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/1b08bce3bebabb0a27a8/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/2f22ddb70c301693c165/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/3b1182230aa6c600b43a/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/58577ba6380c69891500/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/a2a8fa5028b3b776c96c/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/adfd47ef30652707b987/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/b6a80ee459e716e170b1/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/01d72098bda5055bd500/visuals/ce3130a721c020cc3d81/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/page.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/92735ae19b31712208ad/visuals/66e60dfb526437cd78d1/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/page.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/07deb8bce824e1be37d7/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0b1c68838818b32ad03b/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0c171de9d2683d10b930/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/0efa01be0510e40a645e/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/6bf2f0eb830ab53cc668/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/88d8141cb8500b60030c/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/a753273590beed656a03/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/c597da16dc7e63222a82/visuals/b8fdc82cddd61ac447bc/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/page.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/d37dce724a0ccc30044b/visuals/ce8532a7e25020271077/visual.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/pages/pages.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/report.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition/version.json +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_bpareporttemplate/definition.pbir +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_paginated.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_bpa.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_bpa_rules.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_helper.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/report/_report_list_functions.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/src/sempy_labs/tom/__init__.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/tests/__init__.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/tests/test_friendly_case.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/tests/test_shortcuts.py +0 -0
- {semantic_link_labs-0.8.4 → semantic_link_labs-0.8.5}/tests/test_tom.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: semantic-link-labs
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.5
|
|
4
4
|
Summary: Semantic Link Labs for Microsoft Fabric
|
|
5
5
|
Author: Microsoft Corporation
|
|
6
6
|
License: MIT License
|
|
@@ -15,7 +15,7 @@ Classifier: Framework :: Jupyter
|
|
|
15
15
|
Requires-Python: <3.12,>=3.10
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE
|
|
18
|
-
Requires-Dist: semantic-link-sempy>=0.8.
|
|
18
|
+
Requires-Dist: semantic-link-sempy>=0.8.3
|
|
19
19
|
Requires-Dist: anytree
|
|
20
20
|
Requires-Dist: powerbiclient
|
|
21
21
|
Requires-Dist: polib
|
|
@@ -27,7 +27,7 @@ Requires-Dist: pytest>=8.2.1; extra == "test"
|
|
|
27
27
|
# Semantic Link Labs
|
|
28
28
|
|
|
29
29
|
[](https://badge.fury.io/py/semantic-link-labs)
|
|
30
|
-
[](https://readthedocs.org/projects/semantic-link-labs/)
|
|
31
31
|
[](https://github.com/psf/black)
|
|
32
32
|
[](https://pepy.tech/project/semantic-link-labs)
|
|
33
33
|
|
|
@@ -41,6 +41,10 @@ If you encounter any issues, please [raise a bug](https://github.com/microsoft/s
|
|
|
41
41
|
|
|
42
42
|
If you have ideas for new features/functions, please [request a feature](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).
|
|
43
43
|
|
|
44
|
+
Check out the video below for an introduction to Semantic Link, Semantic Link Labs and demos of key features!
|
|
45
|
+
|
|
46
|
+
[](https://www.youtube.com/watch?v=LSoWDEZk9b0)
|
|
47
|
+
|
|
44
48
|
## Featured Scenarios
|
|
45
49
|
* Semantic Models
|
|
46
50
|
* [Migrating an import/DirectQuery semantic model to Direct Lake](https://github.com/microsoft/semantic-link-labs?tab=readme-ov-file#direct-lake-migration)
|
|
@@ -130,6 +134,7 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
130
134
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
131
135
|
|
|
132
136
|
## Version History
|
|
137
|
+
* [0.8.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.5) (November 13, 2024)
|
|
133
138
|
* [0.8.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.4) (October 30, 2024)
|
|
134
139
|
* [0.8.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.3) (October 14, 2024)
|
|
135
140
|
* [0.8.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.2) (October 2, 2024)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Semantic Link Labs
|
|
2
2
|
|
|
3
3
|
[](https://badge.fury.io/py/semantic-link-labs)
|
|
4
|
-
[](https://readthedocs.org/projects/semantic-link-labs/)
|
|
5
5
|
[](https://github.com/psf/black)
|
|
6
6
|
[](https://pepy.tech/project/semantic-link-labs)
|
|
7
7
|
|
|
@@ -15,6 +15,10 @@ If you encounter any issues, please [raise a bug](https://github.com/microsoft/s
|
|
|
15
15
|
|
|
16
16
|
If you have ideas for new features/functions, please [request a feature](https://github.com/microsoft/semantic-link-labs/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).
|
|
17
17
|
|
|
18
|
+
Check out the video below for an introduction to Semantic Link, Semantic Link Labs and demos of key features!
|
|
19
|
+
|
|
20
|
+
[](https://www.youtube.com/watch?v=LSoWDEZk9b0)
|
|
21
|
+
|
|
18
22
|
## Featured Scenarios
|
|
19
23
|
* Semantic Models
|
|
20
24
|
* [Migrating an import/DirectQuery semantic model to Direct Lake](https://github.com/microsoft/semantic-link-labs?tab=readme-ov-file#direct-lake-migration)
|
|
@@ -104,6 +108,7 @@ An even better way to ensure the semantic-link-labs library is available in your
|
|
|
104
108
|
2. Select your newly created environment within the 'Environment' drop down in the navigation bar at the top of the notebook
|
|
105
109
|
|
|
106
110
|
## Version History
|
|
111
|
+
* [0.8.5](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.5) (November 13, 2024)
|
|
107
112
|
* [0.8.4](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.4) (October 30, 2024)
|
|
108
113
|
* [0.8.3](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.3) (October 14, 2024)
|
|
109
114
|
* [0.8.2](https://github.com/microsoft/semantic-link-labs/releases/tag/0.8.2) (October 2, 2024)
|
|
@@ -13,7 +13,7 @@ sys.path.insert(0, os.path.abspath('../../src/'))
|
|
|
13
13
|
project = 'semantic-link-labs'
|
|
14
14
|
copyright = '2024, Microsoft and community'
|
|
15
15
|
author = 'Microsoft and community'
|
|
16
|
-
release = '0.8.
|
|
16
|
+
release = '0.8.5'
|
|
17
17
|
|
|
18
18
|
# -- General configuration ---------------------------------------------------
|
|
19
19
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"id": "a024bb09",
|
|
6
|
+
"metadata": {},
|
|
7
|
+
"source": [
|
|
8
|
+
"### Watch thie video below to see a walkthrough of the Direct Lake Migration process\n",
|
|
9
|
+
"[](https://www.youtube.com/watch?v=gGIxMrTVyyI?t=495)\n"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"cell_type": "markdown",
|
|
14
|
+
"id": "5c27dfd1-4fe0-4a97-92e6-ddf78889aa93",
|
|
15
|
+
"metadata": {
|
|
16
|
+
"nteract": {
|
|
17
|
+
"transient": {
|
|
18
|
+
"deleting": false
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"source": [
|
|
23
|
+
"### Install the latest .whl package\n",
|
|
24
|
+
"\n",
|
|
25
|
+
"Check [here](https://pypi.org/project/semantic-link-labs/) to see the latest version."
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"cell_type": "code",
|
|
30
|
+
"execution_count": null,
|
|
31
|
+
"id": "d5cae9db-cef9-48a8-a351-9c5fcc99645c",
|
|
32
|
+
"metadata": {
|
|
33
|
+
"jupyter": {
|
|
34
|
+
"outputs_hidden": true,
|
|
35
|
+
"source_hidden": false
|
|
36
|
+
},
|
|
37
|
+
"nteract": {
|
|
38
|
+
"transient": {
|
|
39
|
+
"deleting": false
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"outputs": [],
|
|
44
|
+
"source": [
|
|
45
|
+
"%pip install semantic-link-labs"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"cell_type": "markdown",
|
|
50
|
+
"id": "969a29bf",
|
|
51
|
+
"metadata": {},
|
|
52
|
+
"source": [
|
|
53
|
+
"### Import the library and set initial parameters"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"cell_type": "code",
|
|
58
|
+
"execution_count": null,
|
|
59
|
+
"id": "29c923f8",
|
|
60
|
+
"metadata": {},
|
|
61
|
+
"outputs": [],
|
|
62
|
+
"source": [
|
|
63
|
+
"import sempy_labs as labs\n",
|
|
64
|
+
"from sempy_labs import migration, directlake\n",
|
|
65
|
+
"import sempy_labs.report as rep\n",
|
|
66
|
+
"\n",
|
|
67
|
+
"dataset_name = '' #Enter the import/DQ semantic model name\n",
|
|
68
|
+
"workspace_name = None #Enter the workspace of the import/DQ semantic model. It set to none it will use the current workspace.\n",
|
|
69
|
+
"new_dataset_name = '' #Enter the new Direct Lake semantic model name\n",
|
|
70
|
+
"new_dataset_workspace_name = None #Enter the workspace where the Direct Lake model will be created. If set to None it will use the current workspace.\n",
|
|
71
|
+
"lakehouse_name = None #Enter the lakehouse to be used for the Direct Lake model. If set to None it will use the lakehouse attached to the notebook.\n",
|
|
72
|
+
"lakehouse_workspace_name = None #Enter the lakehouse workspace. If set to None it will use the new_dataset_workspace_name."
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"cell_type": "markdown",
|
|
77
|
+
"id": "5a3fe6e8-b8aa-4447-812b-7931831e07fe",
|
|
78
|
+
"metadata": {
|
|
79
|
+
"nteract": {
|
|
80
|
+
"transient": {
|
|
81
|
+
"deleting": false
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"source": [
|
|
86
|
+
"### Create the [Power Query Template](https://learn.microsoft.com/power-query/power-query-template) file\n",
|
|
87
|
+
"\n",
|
|
88
|
+
"This encapsulates all of the semantic model's Power Query logic into a single file."
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"cell_type": "code",
|
|
93
|
+
"execution_count": null,
|
|
94
|
+
"id": "cde43b47-4ecc-46ae-9125-9674819c7eab",
|
|
95
|
+
"metadata": {
|
|
96
|
+
"jupyter": {
|
|
97
|
+
"outputs_hidden": false,
|
|
98
|
+
"source_hidden": false
|
|
99
|
+
},
|
|
100
|
+
"nteract": {
|
|
101
|
+
"transient": {
|
|
102
|
+
"deleting": false
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"outputs": [],
|
|
107
|
+
"source": [
|
|
108
|
+
"migration.create_pqt_file(dataset = dataset_name, workspace = workspace_name)"
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"cell_type": "markdown",
|
|
113
|
+
"id": "bf945d07-544c-4934-b7a6-cfdb90ca725e",
|
|
114
|
+
"metadata": {
|
|
115
|
+
"nteract": {
|
|
116
|
+
"transient": {
|
|
117
|
+
"deleting": false
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"source": [
|
|
122
|
+
"### Import the Power Query Template to Dataflows Gen2\n",
|
|
123
|
+
"\n",
|
|
124
|
+
"- Open the [OneLake file explorer](https://www.microsoft.com/download/details.aspx?id=105222) and sync your files (right click -> Sync from OneLake)\n",
|
|
125
|
+
"\n",
|
|
126
|
+
"- Navigate to your lakehouse. From this window, create a new Dataflows Gen2 and import the Power Query Template file from OneLake (OneLake -> Workspace -> Lakehouse -> Files...), and publish the Dataflows Gen2.\n",
|
|
127
|
+
"\n",
|
|
128
|
+
"<div class=\"alert alert-block alert-info\">\n",
|
|
129
|
+
"<b>Important!</b> Make sure to create the Dataflows Gen2 from within the lakehouse window. That will ensure that all the tables automatically map to that lakehouse as the destination. Otherwise, you will have to manually map each table to its destination individually.\n",
|
|
130
|
+
"</div>"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"cell_type": "markdown",
|
|
135
|
+
"id": "9975db7d",
|
|
136
|
+
"metadata": {},
|
|
137
|
+
"source": [
|
|
138
|
+
"### Create the Direct Lake model based on the import/DQ semantic model\n",
|
|
139
|
+
"\n",
|
|
140
|
+
"Calculated columns are not migrated to the Direct Lake model as they are not supported in Direct Lake mode."
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"cell_type": "code",
|
|
145
|
+
"execution_count": null,
|
|
146
|
+
"id": "0a3616b5-566e-414e-a225-fb850d6418dc",
|
|
147
|
+
"metadata": {
|
|
148
|
+
"jupyter": {
|
|
149
|
+
"outputs_hidden": false,
|
|
150
|
+
"source_hidden": false
|
|
151
|
+
},
|
|
152
|
+
"nteract": {
|
|
153
|
+
"transient": {
|
|
154
|
+
"deleting": false
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
"outputs": [],
|
|
159
|
+
"source": [
|
|
160
|
+
"import time\n",
|
|
161
|
+
"labs.create_blank_semantic_model(dataset = new_dataset_name, workspace = new_dataset_workspace_name, overwrite=False)\n",
|
|
162
|
+
"\n",
|
|
163
|
+
"migration.migrate_calc_tables_to_lakehouse(\n",
|
|
164
|
+
" dataset=dataset_name,\n",
|
|
165
|
+
" new_dataset=new_dataset_name,\n",
|
|
166
|
+
" workspace=workspace_name,\n",
|
|
167
|
+
" new_dataset_workspace=new_dataset_workspace_name,\n",
|
|
168
|
+
" lakehouse=lakehouse_name,\n",
|
|
169
|
+
" lakehouse_workspace=lakehouse_workspace_name\n",
|
|
170
|
+
")\n",
|
|
171
|
+
"migration.migrate_tables_columns_to_semantic_model(\n",
|
|
172
|
+
" dataset=dataset_name,\n",
|
|
173
|
+
" new_dataset=new_dataset_name,\n",
|
|
174
|
+
" workspace=workspace_name,\n",
|
|
175
|
+
" new_dataset_workspace=new_dataset_workspace_name,\n",
|
|
176
|
+
" lakehouse=lakehouse_name,\n",
|
|
177
|
+
" lakehouse_workspace=lakehouse_workspace_name\n",
|
|
178
|
+
")\n",
|
|
179
|
+
"migration.migrate_calc_tables_to_semantic_model(\n",
|
|
180
|
+
" dataset=dataset_name,\n",
|
|
181
|
+
" new_dataset=new_dataset_name,\n",
|
|
182
|
+
" workspace=workspace_name,\n",
|
|
183
|
+
" new_dataset_workspace=new_dataset_workspace_name,\n",
|
|
184
|
+
" lakehouse=lakehouse_name,\n",
|
|
185
|
+
" lakehouse_workspace=lakehouse_workspace_name\n",
|
|
186
|
+
")\n",
|
|
187
|
+
"migration.migrate_model_objects_to_semantic_model(\n",
|
|
188
|
+
" dataset=dataset_name,\n",
|
|
189
|
+
" new_dataset=new_dataset_name,\n",
|
|
190
|
+
" workspace=workspace_name,\n",
|
|
191
|
+
" new_dataset_workspace=new_dataset_workspace_name\n",
|
|
192
|
+
")\n",
|
|
193
|
+
"migration.migrate_field_parameters(\n",
|
|
194
|
+
" dataset=dataset_name,\n",
|
|
195
|
+
" new_dataset=new_dataset_name,\n",
|
|
196
|
+
" workspace=workspace_name,\n",
|
|
197
|
+
" new_dataset_workspace=new_dataset_workspace_name\n",
|
|
198
|
+
")\n",
|
|
199
|
+
"time.sleep(2)\n",
|
|
200
|
+
"labs.refresh_semantic_model(dataset=new_dataset_name, workspace=new_dataset_workspace_name)\n",
|
|
201
|
+
"migration.refresh_calc_tables(dataset=new_dataset_name, workspace=new_dataset_workspace_name)\n",
|
|
202
|
+
"labs.refresh_semantic_model(dataset=new_dataset_name, workspace=new_dataset_workspace_name)"
|
|
203
|
+
]
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"cell_type": "markdown",
|
|
207
|
+
"id": "bb98bb13",
|
|
208
|
+
"metadata": {},
|
|
209
|
+
"source": [
|
|
210
|
+
"### Show migrated/unmigrated objects"
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"cell_type": "code",
|
|
215
|
+
"execution_count": null,
|
|
216
|
+
"id": "5db2f22c",
|
|
217
|
+
"metadata": {},
|
|
218
|
+
"outputs": [],
|
|
219
|
+
"source": [
|
|
220
|
+
"migration.migration_validation(\n",
|
|
221
|
+
" dataset=dataset_name,\n",
|
|
222
|
+
" new_dataset=new_dataset_name, \n",
|
|
223
|
+
" workspace=workspace_name, \n",
|
|
224
|
+
" new_dataset_workspace=new_dataset_workspace_name\n",
|
|
225
|
+
")"
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"cell_type": "markdown",
|
|
230
|
+
"id": "fa244e9d-87c2-4a66-a7e0-be539a0ac7de",
|
|
231
|
+
"metadata": {
|
|
232
|
+
"nteract": {
|
|
233
|
+
"transient": {
|
|
234
|
+
"deleting": false
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
"source": [
|
|
239
|
+
"### Rebind all reports using the old semantic model to the new Direct Lake semantic model"
|
|
240
|
+
]
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"cell_type": "code",
|
|
244
|
+
"execution_count": null,
|
|
245
|
+
"id": "d4e867cc",
|
|
246
|
+
"metadata": {},
|
|
247
|
+
"outputs": [],
|
|
248
|
+
"source": [
|
|
249
|
+
"rep.report_rebind_all(\n",
|
|
250
|
+
" dataset=dataset_name,\n",
|
|
251
|
+
" dataset_workspace=workspace_name,\n",
|
|
252
|
+
" new_dataset=new_dataset_name,\n",
|
|
253
|
+
" new_dataset_workpace=new_dataset_workspace_name,\n",
|
|
254
|
+
" report_workspace=None\n",
|
|
255
|
+
")"
|
|
256
|
+
]
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"cell_type": "markdown",
|
|
260
|
+
"id": "3365d20d",
|
|
261
|
+
"metadata": {},
|
|
262
|
+
"source": [
|
|
263
|
+
"### Rebind reports one-by-one (optional)"
|
|
264
|
+
]
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"cell_type": "code",
|
|
268
|
+
"execution_count": null,
|
|
269
|
+
"id": "056b7180-d7ac-492c-87e7-ac7d0e4bb929",
|
|
270
|
+
"metadata": {
|
|
271
|
+
"jupyter": {
|
|
272
|
+
"outputs_hidden": false,
|
|
273
|
+
"source_hidden": false
|
|
274
|
+
},
|
|
275
|
+
"nteract": {
|
|
276
|
+
"transient": {
|
|
277
|
+
"deleting": false
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
"outputs": [],
|
|
282
|
+
"source": [
|
|
283
|
+
"report_name = '' # Enter report name which you want to rebind to the new Direct Lake model\n",
|
|
284
|
+
"\n",
|
|
285
|
+
"rep.report_rebind(\n",
|
|
286
|
+
" report=report_name,\n",
|
|
287
|
+
" dataset=new_dataset_name,\n",
|
|
288
|
+
" report_workspace=workspace_name,\n",
|
|
289
|
+
" dataset_workspace=new_dataset_workspace_name)"
|
|
290
|
+
]
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"cell_type": "markdown",
|
|
294
|
+
"id": "526f2327",
|
|
295
|
+
"metadata": {},
|
|
296
|
+
"source": [
|
|
297
|
+
"### Show unsupported objects"
|
|
298
|
+
]
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"cell_type": "code",
|
|
302
|
+
"execution_count": null,
|
|
303
|
+
"id": "a47376d7",
|
|
304
|
+
"metadata": {},
|
|
305
|
+
"outputs": [],
|
|
306
|
+
"source": [
|
|
307
|
+
"dfT, dfC, dfR = directlake.show_unsupported_direct_lake_objects(dataset = dataset_name, workspace = workspace_name)\n",
|
|
308
|
+
"\n",
|
|
309
|
+
"print('Calculated Tables are not supported...')\n",
|
|
310
|
+
"display(dfT)\n",
|
|
311
|
+
"print(\"Learn more about Direct Lake limitations here: https://learn.microsoft.com/power-bi/enterprise/directlake-overview#known-issues-and-limitations\")\n",
|
|
312
|
+
"print('Calculated columns are not supported. Columns of binary data type are not supported.')\n",
|
|
313
|
+
"display(dfC)\n",
|
|
314
|
+
"print('Columns used for relationship must be of the same data type.')\n",
|
|
315
|
+
"display(dfR)"
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"cell_type": "markdown",
|
|
320
|
+
"id": "ed08ba4c",
|
|
321
|
+
"metadata": {},
|
|
322
|
+
"source": [
|
|
323
|
+
"### Schema check between semantic model tables/columns and lakehouse tables/columns\n",
|
|
324
|
+
"\n",
|
|
325
|
+
"This will list any tables/columns which are in the new semantic model but do not exist in the lakehouse"
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"cell_type": "code",
|
|
330
|
+
"execution_count": null,
|
|
331
|
+
"id": "03889ba4",
|
|
332
|
+
"metadata": {},
|
|
333
|
+
"outputs": [],
|
|
334
|
+
"source": [
|
|
335
|
+
"directlake.direct_lake_schema_compare(dataset=new_dataset_name, workspace=new_dataset_workspace_name)"
|
|
336
|
+
]
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"cell_type": "markdown",
|
|
340
|
+
"id": "2229963b",
|
|
341
|
+
"metadata": {},
|
|
342
|
+
"source": [
|
|
343
|
+
"### Show calculated tables which have been migrated to the Direct Lake semantic model as regular tables"
|
|
344
|
+
]
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"cell_type": "code",
|
|
348
|
+
"execution_count": null,
|
|
349
|
+
"id": "dd537d90",
|
|
350
|
+
"metadata": {},
|
|
351
|
+
"outputs": [],
|
|
352
|
+
"source": [
|
|
353
|
+
"directlake.list_direct_lake_model_calc_tables(dataset=new_dataset_name, workspace=new_dataset_workspace_name)"
|
|
354
|
+
]
|
|
355
|
+
}
|
|
356
|
+
],
|
|
357
|
+
"metadata": {
|
|
358
|
+
"kernel_info": {
|
|
359
|
+
"name": "synapse_pyspark"
|
|
360
|
+
},
|
|
361
|
+
"kernelspec": {
|
|
362
|
+
"display_name": "Python 3",
|
|
363
|
+
"language": "python",
|
|
364
|
+
"name": "python3"
|
|
365
|
+
},
|
|
366
|
+
"language_info": {
|
|
367
|
+
"name": "python",
|
|
368
|
+
"version": "3.12.3"
|
|
369
|
+
},
|
|
370
|
+
"microsoft": {
|
|
371
|
+
"language": "python"
|
|
372
|
+
},
|
|
373
|
+
"nteract": {
|
|
374
|
+
"version": "nteract-front-end@1.0.0"
|
|
375
|
+
},
|
|
376
|
+
"spark_compute": {
|
|
377
|
+
"compute_id": "/trident/default"
|
|
378
|
+
},
|
|
379
|
+
"synapse_widget": {
|
|
380
|
+
"state": {},
|
|
381
|
+
"version": "0.1"
|
|
382
|
+
},
|
|
383
|
+
"widgets": {}
|
|
384
|
+
},
|
|
385
|
+
"nbformat": 4,
|
|
386
|
+
"nbformat_minor": 5
|
|
387
|
+
}
|