private OlapReport CreateOLAPReport() { OlapReport olapReport = new OlapReport { Name = "Virtual KPI Report", CurrentCubeName = "Adventure Works" }; DimensionElement dimensionElementColumn = new DimensionElement(); dimensionElementColumn.Name = "Customer"; dimensionElementColumn.HierarchyName = "Customer Geography"; dimensionElementColumn.AddLevel("Customer Geography", "Country"); MeasureElements measureElementColumn = new MeasureElements(); measureElementColumn.Elements.Add(new MeasureElement { Name = "Internet Sales Amount" }); measureElementColumn.Elements.Add(new MeasureElement { Name = "Sales Amount" }); // Virtual KPI element VirtualKpiElement Virtualkpi = new VirtualKpiElement(); Virtualkpi.Name = "Growth in Order Quantity"; Virtualkpi.KpiGoalExpression = "[Measures].[Order Quantity]"; Virtualkpi.KpiStatusExpression = "Case When [Measures].[Order Quantity] > 1 Then 1 Else -1 End"; Virtualkpi.KpiTrendExpression = "Case When IsEmpty ( ParallelPeriod ( [Date].[Fiscal].[Fiscal Year], 1, [Date].[Fiscal].CurrentMember ) ) Then 0 Else -1 End"; Virtualkpi.KpiValueExpression = "[Measures].[Order Quantity]"; olapReport.VirtualKpiElements.Add(Virtualkpi); KpiElements kpiElement = new KpiElements(); kpiElement.Elements.Add(new KpiElement { Name = "Revenue", ShowKPIStatus = true, ShowKPIGoal = false, ShowKPITrend = true, ShowKPIValue = true }); DimensionElement dimensionElementRow = new DimensionElement(); dimensionElementRow.Name = "Date"; dimensionElementRow.AddLevel("Fiscal", "Fiscal Year"); // Adding column members olapReport.CategoricalElements.Add(dimensionElementColumn); // Adding measure element olapReport.CategoricalElements.Add(measureElementColumn); olapReport.CategoricalElements.Add(Virtualkpi); olapReport.CategoricalElements.Add(kpiElement); // Adding row members olapReport.SeriesElements.Add(dimensionElementRow); return(olapReport); }
private OlapReport VirtualKPIReport() { OlapReport olapReport = new OlapReport() { Name = "VirtualKPI.Report" }; olapReport.CurrentCubeName = "Adventure Works"; DimensionElement internalDimension = new DimensionElement(); internalDimension.Name = "Product"; internalDimension.AddLevel("Product Categories", "Category"); internalDimension.Hierarchy.LevelElements[0].Add(new MemberElement { Name = "Bikes" }); VirtualKpiElement Virtualkpi = new VirtualKpiElement(); Virtualkpi.Name = "Growth in Order Quantity"; Virtualkpi.KpiGoalExpression = "[Measures].[Order Quantity]"; Virtualkpi.KpiStatusExpression = "Case When [Measures].[Order Quantity] > 1 Then 1 Else -1 End"; Virtualkpi.KpiTrendExpression = "Case When IsEmpty ( ParallelPeriod ( [Date].[Fiscal].[Fiscal Year], 1, [Date].[Fiscal].CurrentMember ) ) Then 0 Else -1 End"; Virtualkpi.KpiValueExpression = "[Measures].[Order Quantity]"; KpiElements kpiElement = new KpiElements(); kpiElement.Elements.Add(new KpiElement { Name = "Revenue", ShowKPIStatus = true, ShowKPIGoal = false, ShowKPITrend = true, ShowKPIValue = true }); MeasureElements measureElementColumn = new MeasureElements(); measureElementColumn.Elements.Add(new MeasureElement { Name = "Sales Amount" }); measureElementColumn.Elements.Add(new MeasureElement { Name = "Order Quantity" }); DimensionElement dimensionElementRow = new DimensionElement(); //Specifying the Dimension Name dimensionElementRow.Name = "Date"; dimensionElementRow.AddLevel("Fiscal", "Fiscal Year"); olapReport.VirtualKpiElements.Add(Virtualkpi); //Adding Measure Element olapReport.CategoricalElements.Add(measureElementColumn); olapReport.CategoricalElements.Add(kpiElement); olapReport.CategoricalElements.Add(Virtualkpi); //Adding Row Members olapReport.SeriesElements.Add(dimensionElementRow); return(olapReport); }