The analysis performed by an object of ClassType clsPartitionAnalyzer can be constrained to optimize a particular subset of queries. Each of the queries in this subset is called a GoalQuery and is specified by picking a level from each of the dimensions of the partition. The clsPartitionAnalyzer AddGoalQuery method is used to specify each GoalQuery prior to running the partition analysis.
dsoPartAnalyzer. AddGoalQuery(DatasetName, Frequency)
It is likely that different GoalQuery subsets may be optimized with significantly different DesignedAggregations. The performance and storage requirements may warrant the construction of separate partitions for each GoalQuery subset.
Assume that a partition contains the following three dimensions and levels.
Customers | Products | Store Locations | |
---|---|---|---|
Level #1 | All | All | All |
Level #2 | Groups | Brand | Country |
Level #3 | Customer# | SKU | State |
Level #4 | City |
A particular group of users needs to perform the following three queries:
This GoalQuery aggregation is specified with DatasetName = "134"
DatasetName = "313"
DatasetName = "222"
Use the following code to add these goal queries. For more information, see InitializeDesign.
'Assume the existence of an object (dsoPartAnalyzer) of ClassType
'clsPartitionAnalyzer
'Must call InitializeDesign first
dsoPartAnalyzer.InitializeDesign
'Add goal queries
dsoPartAnalyzer.AddGoalQuery "134", 1
dsoPartAnalyzer.AddGoalQuery "313", 1
dsoPartAnalyzer.AddGoalQuery "222", 1
'Required after all goal queries have been added.
dsoPartAnalyzer.PrepareGoalQueries
You can now run a series of NextAnalysisStep methods until you achieve the desired optimization.
clsAggregation | Properties Cross-Reference |
clsPartition | Using Decision Support Objects |
clsPartitionAnalyzer |