markdown edit

This commit is contained in:
Preston Hervey 2018-12-17 15:04:04 -06:00
parent fe17dd7918
commit b6ed4a8506

View File

@ -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"
}
]
}
]
}
}
```