| get_workspacesA | Get list of PowerBI workspaces (also called groups) accessible to the service principal. This tool retrieves all workspaces that the configured service principal has access to.
Workspaces are containers for dashboards, reports, datasets, and dataflows in PowerBI. Use this when you need to: Discover available workspaces Find a workspace ID for further operations List all accessible PowerBI workspaces
Parameters: top (optional): Maximum number of workspaces to return (1-5000, for pagination) skip (optional): Number of workspaces to skip (for pagination) format: Response format - "json" or "markdown" (default: "markdown") detail: Detail level - "concise" or "detailed" (default: "concise")
Returns:
List of workspaces with their IDs, names, and optionally detailed metadata. Example usage: Get first 10 workspaces: top=10 Get concise markdown list: format="markdown", detail="concise" Get detailed JSON: format="json", detail="detailed"
Error handling: If authentication fails, check your service principal credentials If no workspaces returned, ensure service principal has workspace access For permission errors, verify service principal is enabled in PowerBI admin portal
|
| get_reportsA | Get PowerBI reports from a workspace. Returns report information including: Report name and ID Web URL for viewing Embed URL for embedding Associated dataset ID
Useful for discovering available reports and getting report URLs. Parameters: workspace_id (optional): Workspace ID. Omit to get reports from "My workspace" format: Response format - "json" or "markdown" (default: "markdown") detail: Detail level - "concise" or "detailed" (default: "concise")
Returns:
List of reports with their IDs, names, and optionally URLs and dataset IDs. Example usage: Get reports from My workspace: (omit workspace_id) Get reports from specific workspace: workspace_id="abc123" Get detailed info with URLs: detail="detailed"
Error handling: If workspace_id not found, verify the ID using get_workspaces For permission errors, ensure service principal has read access Empty list means no reports in the workspace or no access
|
| get_datasetsA | Get list of datasets from a specific workspace or My workspace. Datasets in PowerBI contain the data model, including tables, columns, relationships,
and measures. This tool retrieves all datasets accessible in the specified workspace. Use this when you need to: List all datasets in a workspace Find a dataset ID for querying Discover available data sources Check dataset refresh status and configuration
Parameters: workspace_id (optional): Workspace (group) ID. If not provided, returns datasets from "My workspace" format: Response format - "json" or "markdown" (default: "markdown") detail: Detail level - "concise" or "detailed" (default: "concise")
Returns:
List of datasets with their IDs, names, and optionally detailed metadata including
refresh status, storage mode, and configuration details. Example usage: Get datasets from specific workspace: workspace_id="abc123..." Get datasets from My workspace: (omit workspace_id) Get detailed info: detail="detailed"
Error handling: If workspace_id not found, verify the ID is correct using get_workspaces For permission errors, ensure service principal has read access to the workspace Empty list means no datasets in the workspace or no access
|
| get_datasetA | Get detailed information about a specific dataset. Retrieves comprehensive metadata about a PowerBI dataset including configuration,
refresh settings, and data source information. Use this when you need to: Get detailed metadata about a specific dataset Check dataset configuration and capabilities Verify dataset refresh settings Understand dataset storage mode and requirements
Parameters: dataset_id (required): The unique identifier of the dataset workspace_id (optional): Workspace (group) ID. Omit for datasets in "My workspace" format: Response format - "json" or "markdown" (default: "json")
Returns:
Detailed dataset information including: Example usage: Get dataset from My workspace: dataset_id="dataset123" Get dataset from specific workspace: dataset_id="dataset123", workspace_id="workspace456"
Error handling: If dataset_id not found (404), verify the ID using get_datasets For permission errors, ensure service principal has read access Check workspace_id matches the workspace containing the dataset
|
| get_refresh_historyA | Get refresh history for a PowerBI dataset. Shows recent refresh operations including: Status (Completed, Failed, Unknown) Start and end times Request ID and refresh type Error messages (for failed refreshes)
Useful for monitoring data freshness and troubleshooting refresh failures. Parameters: dataset_id (required): The dataset ID workspace_id (optional): Workspace ID. Omit for datasets in "My workspace" top: Number of refresh records to return (default: 5, max: 60) format: Response format - "markdown" or "json" (default: "markdown")
Returns:
Formatted refresh history with status, timestamps, and error details for failed refreshes. Example usage: Get last 5 refreshes: dataset_id="abc123" Get last 10 refreshes: dataset_id="abc123", top=10 Check specific workspace: dataset_id="abc123", workspace_id="workspace456"
Error handling: If dataset_id not found, verify the ID using get_datasets For permission errors, ensure service principal has read access
|
| get_parametersA | Get parameters defined in a PowerBI dataset. Returns parameter definitions including: Useful for discovering available parameters before querying parameterized datasets. Note: Not supported for datasets with SQL, Oracle, Teradata, SAP HANA DirectQuery
connections or datasets modified via XMLA endpoint. Parameters: dataset_id (required): The dataset ID workspace_id (optional): Workspace ID. Omit for datasets in "My workspace" format: Response format - "markdown" or "json" (default: "markdown") detail: Detail level - "concise" or "detailed" (default: "concise")
Returns:
Formatted parameter information with names, types, values, and suggested values. Example usage: Get all parameters: dataset_id="abc123" Get detailed info: dataset_id="abc123", detail="detailed" Check specific workspace: dataset_id="abc123", workspace_id="workspace456"
Error handling: If dataset_id not found, verify the ID using get_datasets "Not supported" errors indicate dataset type limitations Empty result means no parameters are defined
|
| query_datasetA | Execute DAX (Data Analysis Expressions) queries against a PowerBI dataset. This tool allows you to query dataset tables using DAX, PowerBI's formula language.
DAX queries can retrieve data, perform calculations, and apply filters. Use this when you need to: Retrieve data from dataset tables Perform calculations and aggregations Filter and analyze dataset data Get specific rows or aggregated results
DAX Query Syntax: Basic table query: EVALUATE TableName Filtered query: EVALUATE FILTER(TableName, TableName[Column] = "Value") Aggregation: EVALUATE SUMMARIZE(TableName, TableName[Column], "Total", SUM(TableName[Amount])) Top N: EVALUATE TOPN(10, TableName, TableName[Column], DESC)
Parameters: dataset_id (required): The unique identifier of the dataset to query dax_query (required): DAX query to execute (must start with EVALUATE) workspace_id (optional): Workspace (group) ID. Omit for "My workspace" format: Response format - "json" or "markdown" (default: "markdown")
Returns:
Query results as a table with rows and columns. Markdown format presents results
as formatted tables. Results are limited to 100 rows in markdown view. Example queries: Get all rows: "EVALUATE 'Sales'" Filter data: "EVALUATE FILTER('Sales', 'Sales'[Year] = 2024)" Aggregate: "EVALUATE SUMMARIZE('Sales', 'Sales'[Category], "Total", SUM('Sales'[Amount]))" Top 10: "EVALUATE TOPN(10, 'Sales', 'Sales'[Amount], DESC)"
Error handling: For syntax errors, check your DAX query starts with EVALUATE If table/column not found, use get_dataset to see available schema For large result sets, add filters or use TOPN to limit rows Timeout errors suggest simplifying the query or adding filters
|