예제 #1
0
    // 전사 현재월 등급구성비
    public void SetEntGradeRate(Chart iChart)
    {
        MicroBSC.BSC.Biz.Biz_Bsc_Score_Card objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Score_Card();
        DataSet dsGrd = objBSC.GetKpiEntGradeStatus
                            (this.IYmd
                            , this.IYmd
                            , this.ISumType
                            , this.IEstDeptID);

        MSCharts.GetDefaultChart(iChart, ChartImageType.Jpeg, 230, chartHeight, true, false, true);
        ChartArea FstChtArea = iChart.ChartAreas[0];

        FstChtArea.Position.Auto = true;

        string sTitle = PageUtility.GetByTextDropDownList(ddlMonthInfo) + " 현재 지표등급 구성비";

        MSCharts.CreateTitle(iChart, sTitle);


        if (dsGrd.Tables[0].Rows.Count > 0)
        {
            Series serCRate = MSCharts.CreateSeries(iChart, "serA", iChart.ChartAreas[0].Name, "달성율", null, SeriesChartType.Pie, 0, GetChartColor(0), Color.FromArgb(chartHeight, 26, 59, 105), Color.FromArgb(64, 0, 0, 0), 1, 9, Color.FromArgb(64, 64, 64));
            iChart.DataSource = dsGrd;

            iRow = dsGrd.Tables[0].Rows.Count;
            for (int i = 0; i < iRow; i++)
            {
                string sValue = dsGrd.Tables[0].Rows[i]["COMP_RATE"].ToString();
                string sColor = dsGrd.Tables[0].Rows[i]["THRESHOLD_COLOR"].ToString();
                serCRate.Points.Add(double.Parse(sValue));
                serCRate.Points[i].Color = ColorTranslator.FromHtml(sColor);
                if (sValue.IndexOf('.') > 0)
                {
                    serCRate.Points[i].Label = sValue.Substring(0, sValue.IndexOf('.')) + "%";
                }
                else
                {
                    serCRate.Points[i].Label = sValue + "%";
                }
            }

            //serCRate.ToolTip = "X value \t= #VALX{d}\nY value \t= #VALY{C}\nRadius \t= #VALY2{P}";
            serCRate.ToolTip = "#VALY{P}";
        }
    }
예제 #2
0
    // 전사 관점별 경고지표 구성비
    public void SetEntGradeView(Chart iChart)
    {
        MSCharts.GetDefaultChart(iChart, ChartImageType.Jpeg, 230, chartHeight, true, false, true);
        ChartArea FstChtArea = iChart.ChartAreas[0];

        FstChtArea.Position.Auto = true;

        string sTitle = PageUtility.GetByTextDropDownList(ddlMonthInfo) + " 현재 위험지표 구성비";

        MSCharts.CreateTitle(iChart, sTitle);

        if (this.IThresholdRefID < 1)
        {
            return;
        }

        MicroBSC.BSC.Biz.Biz_Bsc_Score_Card objBSC = new MicroBSC.BSC.Biz.Biz_Bsc_Score_Card();
        DataSet dsGrd = objBSC.GetKpiEntGradeAlert
                            (this.IEstTermRefID
                            , this.IYmd
                            , this.ISumType
                            , this.IThresholdRefID);

        if (dsGrd.Tables[0].Rows.Count > 0)
        {
            Series serCRate = MSCharts.CreateSeries(iChart, "serA", iChart.ChartAreas[0].Name, "달성율", null, SeriesChartType.Pie, 0, GetChartColor(0), Color.FromArgb(chartHeight, 26, 59, 105), Color.FromArgb(64, 0, 0, 0), 1, 9, Color.FromArgb(64, 64, 64));
            iChart.DataSource = dsGrd;

            iRow = dsGrd.Tables[0].Rows.Count;
            for (int i = 0; i < iRow; i++)
            {
                string sValue = dsGrd.Tables[0].Rows[i]["COMP_RATE"].ToString();
                string sText  = dsGrd.Tables[0].Rows[i]["VIEW_NAME"].ToString();
                serCRate.Points.Add(double.Parse(sValue));
                serCRate.Points[i].Color = GetChartColor(i);
                serCRate.Points[i].Label = sText;
            }

            //serCRate.ToolTip = "X value \t= #VALX{d}\nY value \t= #VALY{C}\nRadius \t= #VALY2{P}";
            serCRate.ToolTip = "#VALY{P}";
        }
    }
예제 #3
0
    // 전사 등급추이
    public void SetEntGradeRateTrend(Chart iChart)
    {
        DateTime           startYM = (DateTime.ParseExact(this.IYmd, "yyyyMM", null)).AddYears(-1);
        Biz_Bsc_Score_Card objBSC  = new Biz_Bsc_Score_Card();
        DataSet            dsGrd   = objBSC.GetKpiEntGradeStatus
                                         (base.GetYMDFromDateTime(startYM, "").Substring(0, 6)
                                         , this.IYmd
                                         , this.ISumType
                                         , this.IEstDeptID);

        MSCharts.GetDefaultChart(iChart, ChartImageType.Jpeg, 520, chartHeight, true, true, true);
        ChartArea FstChtArea = iChart.ChartAreas[0];

        iChart.Legends[0].Alignment   = StringAlignment.Near;
        iChart.Legends[0].LegendStyle = LegendStyle.Column;
        iChart.Legends[0].Docking     = Docking.Left;
        //iChart.Legends[0].DockInsideChartArea = false;

        string sTitle = "지표 등급추이분석";

        MSCharts.CreateTitle(iChart, sTitle);

        //FstChtArea.AxisY.Title = "구성비";

        DataTable dtGrade = this.GetGradeSchema();

        if (dsGrd.Tables.Count > 0)
        {
            iRow = dsGrd.Tables[0].Rows.Count;
            for (int i = 0; i < iRow; i++)
            {
                string  sKey = dsGrd.Tables[0].Rows[i]["THRESHOLD_REF_ID"].ToString();
                string  sVal = dsGrd.Tables[0].Rows[i]["THRESHOLD_KNAME"].ToString();
                string  sYmd = dsGrd.Tables[0].Rows[i]["YMD"].ToString();
                decimal dVal = decimal.Parse(dsGrd.Tables[0].Rows[i]["COMP_RATE"].ToString());

                for (int k = 0; k < dtGrade.Rows.Count; k++)
                {
                    if (sYmd.Equals(dtGrade.Rows[k][COL_KEY.KEY_FIELD.ToString()].ToString()) && dtGrade.Columns.Contains(sKey))
                    {
                        dtGrade.Rows[k][sKey] = dVal;
                    }
                }
            }

            FstChtArea.AxisY.LabelStyle.Format = "P0";

            iCol = dtGrade.Columns.Count;
            //DundasAnimations.DundasChartBase(iChart, AnimationTheme.GrowingTogether, -1, -1, false, 1);
            iChart.DataSource = dtGrade;
            for (int m = 1; m < iCol; m++)
            {
                Series serAchv = MSCharts.CreateSeries(iChart, m.ToString(), iChart.ChartAreas[0].Name, dtGrade.Columns[m].Namespace, null,
                                                       SeriesChartType.StackedColumn100, 0, ColorTranslator.FromHtml(dtGrade.Columns[m].Caption),
                                                       Color.FromArgb(0x4A, 0x58, 0x7E), Color.FromArgb(64, 0, 0, 0), 1, 9, Color.FromArgb(64, 64, 64));
                serAchv.ToolTip = "#VALY{P}";

                //DundasAnimations.GrowingAnimation(iChart, serAchv, m, m, true);
                serAchv.YValueMembers = dtGrade.Columns[m].ColumnName;

                if (m == 1)
                {
                    serAchv.XValueMember = dtGrade.Columns[COL_KEY.KEY_FIELD.ToString()].ColumnName;
                }
            }

            iChart.DataBind();
        }
    }