Skip to content

[pbi-fixer] Add add_measure_table: add an empty Measure calculated table to centralize measures - #1212

Open
KornAlexander wants to merge 2 commits into
microsoft:mainfrom
KornAlexander:feature/add-measure-table
Open

[pbi-fixer] Add add_measure_table: add an empty Measure calculated table to centralize measures#1212
KornAlexander wants to merge 2 commits into
microsoft:mainfrom
KornAlexander:feature/add-measure-table

Conversation

@KornAlexander

Copy link
Copy Markdown

Adds a sempy_labs fixer add_measure_table() that add an empty Measure calculated table to centralize measures.

Adds one source file (src/sempy_labs/semantic_model/_Add_CalculatedTable_MeasureTable.py) plus one re-export line in the matching __init__.py. No other files touched, no shared helpers, no dependency on any other PR.

Part of the PBI Fixer contribution. Tracking issue: #1185

Copilot AI review requested due to automatic review settings May 5, 2026 12:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new semantic model “fixer” utility to ensure a report’s backing semantic model contains a dedicated calculated table (named "Measure") intended as a centralized container for measures.

Changes:

  • Introduces add_measure_table() to detect existing “measure” tables and (optionally) create a placeholder calculated table when missing.
  • Re-exports add_measure_table from sempy_labs.semantic_model via __init__.py.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/sempy_labs/semantic_model/_Add_CalculatedTable_MeasureTable.py New fixer that scans for existing measure tables and creates/hides a placeholder calculated table when absent.
src/sempy_labs/semantic_model/__init__.py Re-exports add_measure_table from the semantic_model package.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

None
"""

workspace_name, workspace_id = resolve_workspace_name_and_id(workspace)
# ---------------------------------------------------------------------------
_MT_TABLE_NAME = "Measure"

# A single-row, zero-column calculated table — the lightest possible placeholder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants