[c#/zedgraph] 주민번호 필드로부터 연령대별 통계 구하기 > C#/.Net/Blazor/IIS

본문 바로가기
사이트 내 전체검색

C#/.Net/Blazor/IIS

[c#/zedgraph] 주민번호 필드로부터 연령대별 통계 구하기

페이지 정보

작성자 sbLAB 댓글 0건 조회 4,053회 작성일 18-07-25 17:20

본문

4cb3f0ba517befeb9b243ed5915443ee_1532506722_7653.jpg
 

4cb3f0ba517befeb9b243ed5915443ee_1532506732_8203.jpg


SELECT LEFT((YEAR(now()) - (MID(jumin,1,2) + 1900)),1) AS ages,count(*) AS total
FROM graph
GROUP BY LEFT((YEAR(now()) - (MID(jumin,1,2) + 1900)),1)


 4cb3f0ba517befeb9b243ed5915443ee_1532506753_6305.jpg 



[결과값을 구조체로 받아 ZedGraph 에 보내본 결과] 

4cb3f0ba517befeb9b243ed5915443ee_1532506772_4969.jpg
 

[zedgraph 예제소스 -서버연결 부분 생략됨] 


   //연령대-사람수 구조체
   public struct Addr
   {
    public int ages;    //연령대
    public int total;   //사람수
    }
 

private void button1_Click(object sender, EventArgs e)
{
string sqr = @"SELECT LEFT((YEAR(now()) - (MID(jumin,1,2) + 1900)),1) AS ages,count(*) AS total FROM graph 
GROUP BY LEFT((YEAR(now()) - (MID(jumin,1,2) + 1900)),1)";  

 
//서버에서 쿼리 결과값 가져옴(생략)
                       
//색상표
Color[] color = { Color.Red, Color.Blue, Color.Gray, Color.Yellow};

//DB서버에서 받아온 연령대,사람수 구조체를 담을 List
List<Addr> addr = new List<Addr>();

//addr 완성
foreach (XmlNode xn in xnList)
   {
    Addr ad = new Addr();
    ad.ages = Int32.Parse(HttpUtility.UrlDecode(xn["ages"].InnerText)); //연령대
    ad.total = Int32.Parse(HttpUtility.UrlDecode(xn["total"].InnerText)); //사람수
    addr.Add(ad);
}

GraphPane myPane = zgc.GraphPane;
        
//색상별 안내표 보임
myPane.Legend.IsVisible = true;
myPane.Title.Text "연령분석";
            
//ZedGraph 차트값 동적할당
List<PieItem> list = new List<PieItem>();


for (int i = 0; i < addr.Count; i++)
{
list.Add(myPane.AddPieSlice(addr[i].total, color[i], 0.1F, addr[i].ages.ToString()+"0대"));
list[i].LabelType = PieLabelType.Name_Value_Percent;
list[i].Fill = new Fill(color[i], Color.White, 45F);
}

zgc.AxisChange();
zgc.Invalidate();
}






 

첨부파일

  • ageTozed.cs (2.5K) 2회 다운로드 | DATE : 2018-07-25 17:20:16

댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
234
어제
342
최대
1,279
전체
218,469

그누보드5
Copyright © sebom.com All rights reserved.