{"id":25158335,"url":"https://github.com/m-kovalsky/processingmanager","last_synced_at":"2025-04-30T10:44:00.527Z","repository":{"id":205800703,"uuid":"339144854","full_name":"m-kovalsky/ProcessingManager","owner":"m-kovalsky","description":"A tool for managing the processing of Analysis Services, Azure Analysis Services and Power BI Premium models.","archived":false,"fork":false,"pushed_at":"2022-06-07T06:47:48.000Z","size":52,"stargazers_count":24,"open_issues_count":1,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2023-11-06T22:58:47.819Z","etag":null,"topics":["analysisservices","dax","powerbi","ssas-tabular","tabular","tabulareditor"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m-kovalsky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-02-15T16:54:08.000Z","updated_at":"2023-11-06T22:58:53.431Z","dependencies_parsed_at":"2023-11-06T22:58:48.988Z","dependency_job_id":"eaffc8f5-16b2-453e-b44b-05aa742b55e9","html_url":"https://github.com/m-kovalsky/ProcessingManager","commit_stats":null,"previous_names":["m-kovalsky/processingmanager"],"tags_count":5,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-kovalsky%2FProcessingManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-kovalsky%2FProcessingManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-kovalsky%2FProcessingManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-kovalsky%2FProcessingManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m-kovalsky","download_url":"https://codeload.github.com/m-kovalsky/ProcessingManager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237894308,"owners_count":19383167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analysisservices","dax","powerbi","ssas-tabular","tabular","tabulareditor"],"created_at":"2025-02-09T01:49:52.660Z","updated_at":"2025-02-09T01:49:52.735Z","avatar_url":"https://github.com/m-kovalsky.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Processing Manager](https://www.elegantbi.com/post/processingmanager \"Processing Manager\")\n\nMake sure to read my [blog post](https://www.elegantbi.com/post/processingmanager \"Processing Manager\") on this tool!\n\nProcessing Manager is a tool that allows you to set customized processing 'batches' for a tabular model. This tool runs inside of [Tabular Editor](https://tabulareditor.com/ \"Tabular Editor\")'s [Advanced Scripting](https://docs.tabulareditor.com/Advanced-Scripting.html \"Advanced Scripting\") window and is compatible for all incarnations of tabular - [SQL Server Analysis Services](https://docs.microsoft.com/analysis-services/ssas-overview?view=asallproducts-allversions \"SQL Server Analysis Services\"), [Azure Analysis Services](https://azure.microsoft.com/services/analysis-services/ \"Azure Analysis Services\"), and [Power BI Premium](https://powerbi.microsoft.com/power-bi-premium/ \"Power BI Premium\") (using the [XMLA R/W\nendpoint](https://docs.microsoft.com/power-bi/admin/service-premium-connect-tools \"XMLA R/W Endpoint\")).\n\n![Processing Manager](https://github.com/m-kovalsky/Tabular/blob/master/Icons/ProcessingManagerIcon.png \"Processing Manager\")\n\n\n## Purpose\n\nThis tool is designed to simplify the management of processing large tabular models.\n\n## Running the Tool\n\nTo use the tool, download the ProcessingManager.cs script, paste it into the [Advanced Scripting](https://docs.tabulareditor.com/Advanced-Scripting.html \"Advanced Scripting\") window in [Tabular Editor](https://tabulareditor.com/ \"Tabular Editor\") and click the play button (or press F5).  The tool itself does not process the model. It simply saves the instructions for processing the batches as metadata (annotations) within the model.\n\nMake sure to click the 'Save' button within the Processing Manager tool after making changes. If the 'Save' button is not clicked your changes will not be saved back to the model.\n\n*Note: For easier access, it is recommended to save the script as a [Custom Action](https://docs.tabulareditor.com/Custom-Actions.html \"Custom Action\").*\n\n*Note: If you are using the Processing Manager tool via a model created in Power BI Desktop (via opening Tabular Editor from the External Tools ribbon) you must ensure this setting is checked within Tabular Editor:*\n\n    File -\u003e Preferences -\u003e Allow unsupported Power BI features (experimental)\n\n## Processing the Batches\n\nAfter you set up a batch using the Processing Manager tool and deploy your model to a server, you can process the batch using this method. \n\n1. Download the ProcessBatches.cs script and save it to your computer.\n2. Run the code below in the command prompt (filling in the \\\u003cparameters\\\u003e) according to the variety of tabular you are using.\n\nSince each of the scripts below uses an Environment Variable (set batchName=\u003cBatch Name\u003e), there is no need to copy the ProcessBatches.cs file for each batch. The same ProcessBatches.cs file can be referenced for processing all batches. Setting the 'batchName' Environment Variable instructs the code which batch to process.\n    \n***Note that although it is possible to run this in the command prompt, it is recommended to run the following processing scripts by integrating them into an application as discussed [below](https://github.com/m-kovalsky/ProcessingManager#integration-applications \"Integration Applications\").***\n\n## [SQL Server Analysis Services](https://docs.microsoft.com/analysis-services/ssas-overview?view=asallproducts-allversions \"SQL Server Analysis Services\")\n\n    set batchName=\u003cBatch Name\u003e\n    start /wait /d \"C:\\Program Files (x86)\\Tabular Editor\" TabularEditor.exe \"\u003cServer Name\u003e\" \"\u003cDatabase Name\u003e\" -S \"\u003cC# Script File Location (ProcessBatches.cs)\u003e\"\n\n## [Azure Analysis Services](https://azure.microsoft.com/services/analysis-services/ \"Azure Analysis Services\")\n\n    set batchName=\u003cBatch Name\u003e\n    start /wait /d \"C:\\Program Files (x86)\\Tabular Editor\" TabularEditor.exe \"Provider=MSOLAP;Data Source=asazure://\u003cAAS Region\u003e.asazure.windows.net/\u003cAAS Server Name\u003e;User ID=\u003cxxxxx\u003e;Password=\u003cxxxxx\u003e;Persist Security Info=True;Impersonation Level=Impersonate\" \"\u003cDatabase Name\u003e\" -S \"\u003cC# Script File Location (ProcessBatches.cs)\u003e\"\n\n## [Power BI Premium](https://powerbi.microsoft.com/power-bi-premium/ \"Power BI Premium\")\n\nRunning this in Power BI Premium requires enabling [XMLA R/W endpoints](https://docs.microsoft.com/power-bi/admin/service-premium-connect-tools \"XMLA R/W Endpoints\") for your Premium Workspace. An additional requirement is setting up a [Service Principal](https://tabulareditor.com/service-principal-access-to-dedicated-capacity-xmla-endpoint/ \"Setting up a Service Principal\").\n\n    set batchName=\u003cBatch Name\u003e\n    start /wait /d \"C:\\Program Files (x86)\\Tabular Editor\" TabularEditor.exe \"Provider=MSOLAP;Data Source=powerbi://api.powerbi.com/v1.0/myorg/\u003cPremium Workspace\u003e;User ID=app:\u003cApplication ID\u003e@\u003cTenant ID\u003e;Password=\u003cApplication Secret\u003e\" \"\u003cPremium Dataset\u003e\" -S \"\u003cC# Script File Location (ProcessBatches.cs)\u003e\" \n\n## Additional Features\n\n* Clicking the 'Sequence' check box will enable the [Sequence command](https://docs.microsoft.com/analysis-services/tmsl/sequence-command-tmsl?view=asallproducts-allversions \"Sequence command\") and allow you to set the [Max Parallelism](https://docs.microsoft.com/analysis-services/tmsl/sequence-command-tmsl?view=asallproducts-allversions#request \"Max Parallelism\") property (if using the Sequence command, the Max Parallelism value must be greater than 0).\n* Export Script: When in the Summary view of the Processing Manager tool (the last window), you will see the Script button. Clicking it will dynamically generate a C# script which can be used to recreate the selected processing batch (by running the script in the [Advanced Scripting](https://docs.tabulareditor.com/Advanced-Scripting.html \"Advanced Scripting\") window in [Tabular Editor](https://tabulareditor.com/ \"Tabular Editor\")). The script is automatically saved as a .cs file to your desktop. This may come in handy in scenarios where you need to copy batch modifications to different versions of a model (i.e. between branches or servers).\n\n## Integration Applications\n\nThe command line code may be integrated into any application which is able to run command line code. Examples of such applications include [Azure DevOps](https://azure.microsoft.com/services/devops/ \"Azure DevOps\") and [Azure Data Factory](https://azure.microsoft.com/services/data-factory/ \"Azure Data Factory\"). Integrating the Processing Manager solution into these applciations will streamline the processing operations of your tabular model(s). In order to use these applications for a Power BI Premium dataset you will need to set up a [Service Principal](https://tabulareditor.com/2020/06/02/PBI-SP-Access.html \"Service Principal\") and a [Key Vault](https://azure.microsoft.com/services/key-vault/ \"Azure Key Vault\"). \n\nMake sure to read my [blog post](https://www.elegantbi.com/post/processingmanager \"Processing Manager\") for more information on setting up the processing within [Azure DevOps](https://azure.microsoft.com/services/devops/ \"Azure DevOps\").\n\n## Requirements\n\n[Tabular Editor](https://tabulareditor.com/ \"Tabular Editor\") version 2.12.1 or higher.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-kovalsky%2Fprocessingmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm-kovalsky%2Fprocessingmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-kovalsky%2Fprocessingmanager/lists"}