// 전사 현재월 등급구성비 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}"; } }
// 전사 관점별 경고지표 구성비 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}"; } }
// 전사 등급추이 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(); } }