diff --git a/SetUpAggs/README.md b/SetUpAggs/README.md index 62baa25..a4ff850 100644 --- a/SetUpAggs/README.md +++ b/SetUpAggs/README.md @@ -8,87 +8,87 @@ When running this utility against an Azure Analysis Services model, it will upgr SetUpAggs.exe apply -Server asazure://server/instance -ConfigFile AggsConfig.json ## Steps -* Parse command line arguments, show basic help -* Connect to model -* Validate configuration file against the model, exit with relevant error message if issue is found in configuration or model -* Update model compatibility level if current compatibility level is below 1465 -* Apply configuration changes to model -** For each table -*** For each partition, update partition mode to Dual, DirectQuery, Import, or Default as specified in config -*** For each column, remove any AlternateOf definitions that do not match an aggregation rule in the config -*** For each rule, add the AlternateOf definition to the model if it does not already exist -* If changes were made to the model, run the ExpandFull on the model -* If changes were made to the model, refresh the tables that were modified +* Parse command line arguments, show basic help +* Connect to model +* Validate configuration file against the model, exit with relevant error message if issue is found in configuration or model +* Update model compatibility level if current compatibility level is below 1465 +* Apply configuration changes to model + * For each table + * For each partition, update partition mode to Dual, DirectQuery, Import, or Default as specified in config + * For each column, remove any AlternateOf definitions that do not match an aggregation rule in the config + * For each rule, add the AlternateOf definition to the model if it does not already exist +* If changes were made to the model, run the ExpandFull on the model +* If changes were made to the model, refresh the tables that were modified ## Configuration File Example ```json { "database": { - "name": "AdventureWorksAggsProvider", + "name": "AdventureWorksAggsProvider", "tables": [ - { - "name": "DimGeography", - "mode": "Dual" - }, - { - "name": "DimCustomer", - "mode": "Dual" - }, - { - "name": "DimDate", - "mode": "Dual" - }, - { - "name": "DimProductSubcategory", - "mode": "Dual" - }, - { - "name": "DimProductCategory", - "mode": "Dual" - }, - { - "name": "FactInternetSalesAgg", - "mode": "Import", - "aggregationRules": [ - { - "aggTableColumn": "OrderDateKey", - "summarization": "GroupBy", - "detailTable": "FactInternetSales", - "detailTableColumn": "OrderDateKey" - }, - { - "aggTableColumn": "CustomerKey", - "summarization": "GroupBy", - "detailTable": "FactInternetSales", - "detailTableColumn": "CustomerKey" - }, - { - "aggTableColumn": "ProductSubcategoryKey", - "summarization": "GroupBy", - "detailTable": "DimProduct", - "detailTableColumn": "ProductSubcategoryKey" - }, - { - "aggTableColumn": "SalesAmount_Sum", - "summarization": "Sum", - "detailTable": "FactInternetSales", - "detailTableColumn": "SalesAmount" - }, - { - "aggTableColumn": "UnitPrice_Sum", - "summarization": "Sum", - "detailTable": "FactInternetSales", - "detailTableColumn": "UnitPrice" - }, - { - "aggTableColumn": "FactInternetSales_Count", - "summarization": "CountTableRows", - "detailTable": "FactInternetSales" - } - ] - } - ] + { + "name": "DimGeography", + "mode": "Dual" + }, + { + "name": "DimCustomer", + "mode": "Dual" + }, + { + "name": "DimDate", + "mode": "Dual" + }, + { + "name": "DimProductSubcategory", + "mode": "Dual" + }, + { + "name": "DimProductCategory", + "mode": "Dual" + }, + { + "name": "FactInternetSalesAgg", + "mode": "Import", + "aggregationRules": [ + { + "aggTableColumn": "OrderDateKey", + "summarization": "GroupBy", + "detailTable": "FactInternetSales", + "detailTableColumn": "OrderDateKey" + }, + { + "aggTableColumn": "CustomerKey", + "summarization": "GroupBy", + "detailTable": "FactInternetSales", + "detailTableColumn": "CustomerKey" + }, + { + "aggTableColumn": "ProductSubcategoryKey", + "summarization": "GroupBy", + "detailTable": "DimProduct", + "detailTableColumn": "ProductSubcategoryKey" + }, + { + "aggTableColumn": "SalesAmount_Sum", + "summarization": "Sum", + "detailTable": "FactInternetSales", + "detailTableColumn": "SalesAmount" + }, + { + "aggTableColumn": "UnitPrice_Sum", + "summarization": "Sum", + "detailTable": "FactInternetSales", + "detailTableColumn": "UnitPrice" + }, + { + "aggTableColumn": "FactInternetSales_Count", + "summarization": "CountTableRows", + "detailTable": "FactInternetSales" + } + ] + } + ] } } ```