Creating OLAP reports with hierarchy and level elements in Version 8.2
Previously, to create implementations of OLAP reports with hierarchy and level elements, you would assign only the dimension name, which is more than enough to fetch the hierarchy, level element, and members contained in it. However, in the current implementation, Syncfusion makes it mandatory to include hierarchy and level elements.
The reason for this is that in previous implementations, if a hierarchy was not specified, the default hierarchy would be fetched from the cube schema; the case is the same for levels and members. The cube schema holds the entire information of the SSAS cube, which in turn queries the offline or deployed cube to retrieve the information, leading to serious performance issues if multiple dimensions are specified.
In the current implementation, accessing cube schema has been removed by making hierarchy and level mandatory in the reports.
Previous Report Structure
[C#]
DimensionElementdimensionElementColumn = newDimensionElement();
// Specifying the Dimension Name
dimensionElementColumn.Name = "Customer";
// Adding the Column member
olapReport.CategoricalElements.Add(new Item { ElementValue = dimensionElementColumn });
[VB]
Dim dimensionElementColumn As DimensionElement = New DimensionElement()
' Specifying the Dimension Name
dimensionElementColumn.Name = "Customer"
' Adding the Column member
olapReport.CategoricalElements.Add(New Item With {.ElementValue = dimensionElementColumn})
Current Report Structure
[C#]
DimensionElementdimensionElementColumn = newDimensionElement();
// Specifying the Dimension Name
dimensionElementColumn.Name = "Customer";
// Specifying the Hierarchy Name
dimensionElementColumn.HierarchyName = "Customer Geography";
// Adding the level with the Hierarchy Name
dimensionElementColumn.AddLevel("Customer Geography", "Country");
// Adding the Column member
olapReport.CategoricalElements.Add(dimensionElementColumn);
[VB]
Dim dimensionElementColumn As DimensionElement = New DimensionElement()
' Specifying the Dimension Name
dimensionElementColumn.Name = "Customer"
' Specifying the Hierarchy Name
dimensionElementColumn.HierarchyName = "Customer Geography"
' Adding the level with the Hierarchy Name
dimensionElementColumn.AddLevel("Customer Geography", "Country")
' Adding the Column member
olapReport.CategoricalElements.Add(dimensionElementColumn)