クリスタルレポートのグラフ


VB TIPS AND SAMLPE CrystalReportの基本

クリスタルレポートのグラフ

クリスタルレポート グラフ
を作ってみます。
色がでているグラフになると、なんだか本格的ですが、とても簡単。
まずは、いつものデータを取る所。
47都道府県は表示しきれないので、TOP20を取ってきます。
また、今までのサンプルをつぶすのはもったいないので、CrystalReport2を新たに追加。
ここまで出来れば、count_graph.xsdを出力しておきます。

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        'グラフ
        'MYSQLからデータを読み出す
        Dim cnstr As String
        cnstr = "Database=test;Data Source=centos5vm;User Id=vbuser;Password=sa"
        Dim con As New MySql.Data.MySqlClient.MySqlConnection(cnstr)
        Try

            con.Open()

            Dim sql As String = "SELECT pref,count(*) as post_count FROM KEN_ALL GROUP BY pref ORDER BY count(*) desc limit 20"
            Dim Cmd As New MySqlCommand(sql, con)
            Dim myAd As New MySqlDataAdapter

            Dim dts As New DataSet
            myAd.SelectCommand = Cmd
            'データテーブルに取得
            myAd.Fill(dt)

            'xsdファイルを保存します。
            'DB ---→ xsd ----→ クリスタルレポート
            'というデータの流れになります
            'dt.WriteXmlSchema("count_graph.xsd")

            'プロジェクトに追加したクリスタルレポートオブジェクトを参照
            Dim rpt As New CrystalReport2
            'デーソースにデータセットを
            rpt.SetDataSource(dt)

          

            'ビュワーにレポートをセット
            CrystalReportViewer1.ReportSource = rpt
        Catch ex As Exception
            Debug.Print(ex.Message.ToString)
            MessageBox.Show(ex.Message.ToString)
        End Try

        con.Clone()
        con.Dispose()

        MessageBox.Show("終了")
    End Sub


次は、デザインです。
グラフの挿入を行います。
レポートヘッダ、レポートフッタにしか挿入できないようです。
アンダーレイ機能を使うといろいろできそうですが、今回はヘッダに挿入。
グラフの挿入
タイトルを設定します。 タイトルを設定します
タイトル
先ほどのメニューで一般を選択すると
グラフの外観の操作が出来ます。
グラフの外観
チャートエキスパートでは、いろんな設定ができます。
チャートエキスパート
グラフの種類が選べます。
グラフの種類が選べます
横軸と縦軸を選択します。
「変更時」はランダム?な並びに。
「レコードごとに」はSQLの順番になるようです。
「全てのレコード」は、縦軸の合計のようです。
横軸と縦軸を選択します
今回は、「レコードごとに」に設定。
北海道が多いですね。
次は愛知。
郵便番号の一番少ない所は?
香川県らしいです。
本当かな???
以上クリスタルレポートのグラフの使い方でした。
香川県