Forum Discussion
Automatically generate SSAS tabular model partitions
- 1 year ago
Hi Richard,
We've implemented our own partitioning and processing code, using the official Microsoft client library for Analysis Services, called AMO.I guess it is similar to what Partition Manager does under the hood.
Starting from compatibility level 1200 (aka SQL Server 2016) you can either use "Tabular Object Model (TOM)" or "Analysis Management Object (AMO)" to manage your partitions programmatically.
Check the MS Learn: https://learn.microsoft.com/en-us/analysis-services/analysis-services-developer-documentation?view=asallproducts-allversionsAlso these:
- https://github.com/MicrosoftDocs/bi-shared-docs/blob/main/docs/analysis-services/amo/amo-concepts-and-object-model.md
- https://www.scribd.com/document/434016561/Automated-Partition-Management-for-Analysis-Services-Tabular-Models-pdf
- https://datakuity.com/2021/05/31/dynamically-partitioning-tables-in-ssas-tabular/
- https://www.tackytech.blog/how-to-automate-the-management-of-custom-partitions-for-power-bi-datasets/
😊 If this post helped you, feel free to give it some Kudos! 👍
✅ And if it answered your question, please mark it as the accepted solution.
- 1 year ago
Hi Richard_Powell , Thank you for reaching out to the Microsoft Community Forum.
As lbendlin and OnurOz correctly note, from compatibility level 1200 onward, you can manage partitions using XMLA/TMSL scripts noted or programmatically through AMO/TOM. These are the supported ways to create, delete and process partitions in modern tabular models.
To make this work end to end, you can use TOM or TMSL inside a scheduled job or pipeline (for example, in Fabric, ADF or SQL Agent) that runs monthly, generates new time based partitions and processes only what’s changed. Tools like PowerShell, C# scripts or Tabular Editor can handle this easily, giving you the same dynamic partitioning Partition Manager offered but using Microsoft’s current, fully supported frameworks.
Hi Richard_Powell , Thank you for reaching out to the Microsoft Community Forum.
As lbendlin and OnurOz correctly note, from compatibility level 1200 onward, you can manage partitions using XMLA/TMSL scripts noted or programmatically through AMO/TOM. These are the supported ways to create, delete and process partitions in modern tabular models.
To make this work end to end, you can use TOM or TMSL inside a scheduled job or pipeline (for example, in Fabric, ADF or SQL Agent) that runs monthly, generates new time based partitions and processes only what’s changed. Tools like PowerShell, C# scripts or Tabular Editor can handle this easily, giving you the same dynamic partitioning Partition Manager offered but using Microsoft’s current, fully supported frameworks.
- AhmedMamdoh8 months ago
Advocate IV
Thanks 😊