Articles in this section
Category / Section

How to apply filter on percentage values through the OlapReport in JavaScript PivotChart?

1 min read

This KB illustrates that how to apply filter on percentage values through the OlapReport.

Solution:

Generally, MDX query does not carry values having % symbol (for example, 15%) and so the filter operations using such values do not work properly. To overcome this problem, use fractional value to set the filter operand.  For example, you need to set 15% as 0.15.  Refer to the following OLAP Report that illustrates how to set the fractional value for filtering. 

C#

OlapReport olapReport = new OlapReport();
olapReport.Name = "Customer Report";
olapReport.CurrentCubeName = "Adventure Works";
DimensionElement dimensionElementColumn = new DimensionElement();
dimensionElementColumn.Name = "Customer";
dimensionElementColumn.AddLevel("Customer Geography", "Country");
MeasureElements measureElementColumn = new MeasureElements();
measureElementColumn.Elements.Add(new MeasureElement { Name = "Internet Sales Amount" });
DimensionElement dimensionElementRow = new DimensionElement();
dimensionElementRow.Name = " Product";
dimensionElementRow.AddLevel("Product Categories", "Category");
FilterElement filterElement = new FilterElement(AxisPosition.Categorical);
filterElement.Elements.Add(measureElementColumn);
filterElement.Elements.Add(dimensionElementColumn);
filterElement.FilterCase = FilterCase.GreaterThan;
filterElement.FilterValue.Add(new MeasureElement { Name = "Internet Sales Amount", Visible = true });
filterElement.FilterValue.Add(new FilterValue { Filter_Value = 0.02 });
filterElement.IsFilterCondition = true;
olapReport.CategoricalElements.Add(dimensionElementColumn);
olapReport.CategoricalElements.IsFilterOrSortOn = true;
olapReport.FilterElements.Add(filterElement);
olapReport.SeriesElements.Add(dimensionElementRow);

 

VB

Dim olapReport As OlapReport = New OlapReport()
olapReport.Name = "Customer Report"
olapReport.CurrentCubeName = "Adventure Works"
Dim dimensionElementColumn As DimensionElement = New DimensionElement()
dimensionElementColumn.Name = "Customer"
dimensionElementColumn.AddLevel("Customer Geography", "Country")
Dim measureElementColumn As MeasureElements = New MeasureElements()
measureElementColumn.Elements.Add(New MeasureElement With {.Name = "Internet Sales Amount"})
Dim dimensionElementRow As DimensionElement = New DimensionElement()
dimensionElementRow.Name = " Product"
dimensionElementRow.AddLevel("Product Categories", "Category")
Dim filterElement As FilterElement = New FilterElement(AxisPosition.Categorical)
filterElement.Elements.Add(measureElementColumn)
filterElement.Elements.Add(dimensionElementColumn)
filterElement.FilterCase = FilterCase.GreaterThan
filterElement.FilterValue.Add(New MeasureElement With {.Name = "Internet Sales Amount", .Visible = True})
filterElement.FilterValue.Add(New FilterValue With {.Filter_Value = 0.02})
filterElement.IsFilterCondition = True
olapReport.CategoricalElements.Add(dimensionElementColumn)
olapReport.CategoricalElements.IsFilterOrSortOn = True
olapReport.FilterElements.Add(filterElement)
olapReport.SeriesElements.Add(dimensionElementRow)

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied