Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }