すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:FineReport

最終更新日:Jun 11, 2024

このトピックでは、FineReportを使用してAnalyticDB for MySQLクラスターに接続し、レポートを管理する方法について説明します。

前提条件

  • FineReportとAnalyticDB for MySQLの互換性を理解しています。 詳細については、「互換性の概要」をご参照ください。

  • MySQL Connector/Jがインストールされています。

  • FineReportがインストールされています。 FineReportを初めてインストールする場合は、ApsaraDB RDS for MySQLなどのMySQLサーバーをインストールしてFineReportメタデータをインポートする必要があります。 次のいずれかの方法を使用して、MySQLサーバーからFineReportにデータをインポートできます。

  • インターネット経由でAnalyticDB For MySQLクラスターに接続する方法については、「パブリックエンドポイントの申請またはリリース」をご参照ください。

AnalyticDB for MySQLに接続する

  1. FineReportを開始します。 上部のメニューバーで、[サーバー] > [データ接続の定義] を選択します。

  2. [データ接続の定義] ダイアログボックスで、次の表に示すパラメーターを設定します。

    Configure connection parameters

    パラメーター

    説明

    データベース

    データベースのエンジン。 ドロップダウンリストから [MySQL] を選択します。

    ドライバー

    ドライバーのタイプ。 ドロップダウンリストからcom.mysql.jdbc.Driverを選択します。

    URL

    接続先のAnalyticDB for MySQLクラスターの接続文字列。 形式はjdbc:mysql:// hostname:portです。 フィールドの説明

    • hostname: クラスターのパブリックまたはVirtual Private Cloud (VPC) エンドポイント。

    • port: AnalyticDB for MySQLクラスターエンドポイントのポート番号。 デフォルトのポート番号は、3306 です。

    ユーザー名

    AnalyticDB for MySQLクラスターへの接続に使用されるアカウントの名前。 次のアカウントタイプのいずれかを使用できます。

    • 特権アカウント

    • 標準アカウント

    Password

    AnalyticDB for MySQLクラスターへの接続に使用されるアカウントのパスワード。

  3. 上記のパラメーターを設定した後、[接続のテスト] をクリックします。 接続がテストに合格したら、[OK] をクリックしてAnalyticDB for MySQLクラスターに接続します。

テーブルの作成

AnalyticDB for MySQLクラスターに接続した後、データセットを作成する必要があります。 データセットは、SQL文を使用して既存のデータベースから取得されたデータで構成されます。 データは、データセット管理パネルに表示される2次元テーブルに格納されます。

  1. [テンプレートデータセット] タブをクリックし、タブの左上隅にある [+] アイコンをクリックします。 221040803

  2. ドロップダウンリストから [DBクエリ] を選択します。 2

  3. [DBクエリ] ダイアログボックスで、Nameをds1に設定します。 左上隅のドロップダウンリストからAnalyticDB for MySQLクラスターを選択します。 左側のリストで、対応するテーブルをクリックします。 右側のエディタで、データクエリステートメントを入力します。 この例では、次の図に示すように、select * from demo_salesステートメントを使用して、demo_salesテーブル内のすべてのデータをクエリおよび取得します。 2021040802

  4. 集計クエリの結果で構成されるデータセットを取得します。 たとえば、ds2という名前のデータセットを作成し、SELECT <store name>, SUM(Revenue) AS <total sales volume> FROM demo_sales GROUP by <Store name> というクエリステートメントを使用して、各ストアの総売上をクエリおよび取得できます。

  5. [OK] をクリックします。 取得したデータは、データセット管理パネルに表示されます。

レポートの例

この例では、レポートが作成されます。 これには、製品タイプ、支払いタイプ、および契約タイプごとにソートされた最大販売量と総販売量を表示するテーブルと縦棒グラフが含まれています。 レポートを次の図に示します。

2021040804

  1. demo_contractという名前のデモテーブルをダウンロードします。

  2. AnalyticDB for MySQLクラスターにテーブルを作成します。

    1. 値が均等に分散されている列を配布キーとして使用し、時間データを含む列をパーティションキーとして使用します。 詳細については、「スキーマデザイン」をご参照ください。

    2. contract_id列はパーティションキーとして使用されます。 これは、contract_id列の値がランダムに分布しているためです。 次のステートメントを使用して、テーブルを作成します。

      テーブル 'demo_contract' を作成する (
       'contract_id' varchar、
       「customer_id」varchar、
       'contract_type' varchar、
       「金額」ビギント、
       'payment_type' varchar、
       'register_time '日付、
       'purchase_amount 'int、
       'create_time' タイムスタンプ、
       'product_type' smallint、
       'paid 'tinyint、
       主キー ('contract_id')
      ) ハッシュによる配布 ('contract_id') INDEX_ALL='Y' STORAGE_POLICY='COLD' 
  3. テーブルの作成後、Kettleを使用してXLSXファイルからAnalyticDB for MySQLにデータをインポートします。

    1. Kettleの使用方法については、「Kettleを使用してdata Warehouse Editionにデータをインポートする」をご参照ください。

    2. データがインポートされたら、SELECT count(*) FROM demo_contractステートメントを実行します。 668エントリが返されます。

次のセクションでは、インポートされたデータを使用してデモレポートを作成します。

  1. d1およびd2テーブルからFineReportにデータをインポートします。 データは、支払いタイプと契約タイプによってソートされます。 各支払いタイプの最大売上高と総売上高が計算されます。 d1とd2という2つのテーブルがインポートされます。

    1. 次のステートメントを実行して、d1テーブルのデータを製品タイプ、契約タイプ、および支払いタイプで分類し、各カテゴリの最大売上高を取得します。

      select product_type, payment_type, contract_type, max(purchase_amount) as max_amount from demo_contract group by product_type, payment_type, contract_type having max_amount>0
    2. d2テーブルのデータを製品タイプと契約タイプで分類し、次の図に示すように、すべての支払いタイプの合計売上高を計算します。20210408052021040806

  2. テーブルを設計するには、次の操作を実行します。

    1. タイトル: A1セルとD2セルをマージし、マージしたセルに次のタイトルを入力します。 フォントサイズを15に設定し、タイトルを太字で中央にします。

    2. 斜め線: 斜め線を使用して、左上のセルのカテゴリ名を区切ります。 A3セルとB3セルを結合し、結合したセルを右クリックして、[セル要素] > [スラッシュを挿入] を選択します。 [スロープライン] ダイアログボックスで、フィールドに次の内容を入力します。支払いタイプ | 契約タイプ | 製品タイプ。 スペースを追加して、テキストの位置を調整できます。 20210408072021040808

  3. セルに数式を追加します。

    1. 値が不均一に分布している列を対応するセルにドラッグします。

    2. C5セルをクリックし、パラメータペインの上のショートカットバーにある式の挿入アイコンをクリックします。 [数式の定義] ダイアログボックスで、エディターに次の数式を入力します: SUM(C4) 。 これは、C4セル内の値を合計する。 C5セルは、各製品の総販売量を計算するために使用されます。

    3. 上記の操作を繰り返して、SUM(D4) 式をD5セルに追加します。 D5セルは、すべての製品の総販売量を計算するために使用されます。 2021040809

  4. セルの拡張方向を設定します。

    1. C3セルをクリックします。 パネルで、[セル属性] をクリックします。 [セル属性] ダイアログボックスで、[展開] タブをクリックします。 [展開] タブで、[基本] セクションで [方向の展開][H] に設定します。 製品タイプデータは水平方向に展開されます。

    2. 上記の操作を繰り返して、C4の拡張方向を拡張なしに設定します。 これは、A4、B4、C3セルの販売量が一意だからである。 C5およびD5セルの拡大方向も拡大なしに設定する必要があります。 2021040811

  5. さまざまなデータセットのデータが同じレポートに表示される場合、データフィルター条件を追加してデータセットを関連付ける必要があります。 次のセクションでは、複数のデータセットを関連付ける方法について説明します。

    レポートのデータは、ds1およびds2データセットに保存されます。 両方のデータセットには、製品タイプフィールドと契約タイプフィールドがあります。 したがって、2つのフィールドは、2つのデータセットを関連付けるために使用される。 D4セルをダブルクリックします。 [データ列] ダイアログボックスで、[フィルター] タブをクリックします。 [フィルター] タブで、D4セルに共通条件を追加して、ds2データセットとds1データセットの製品タイプフィールドとコントラクトタイプフィールドを関連付けます。

    20210408122021040813

  6. チャートをデザインします。

    1. A7をD15セルにマージします。 上部のメニューバーで、[挿入] > [セル要素] > [グラフの挿入] を選択します。 [チャートタイプ] リストの [列グラフ] をクリックし、右側のリストの [列グラフ] を選択し、[OK] をクリックします。 2021040814

    2. チャートをクリックします。 パネルで、[セル要素] をクリックします。 表示されるダイアログボックスで、[データ] タブをクリックします。 データソースをセルデータに、カテゴリをB4に、シリーズをC3に、値をC4に設定する。

      説明

      Category、Series、およびValueパラメーターを設定するときに、セル番号の前に等号 (=) を追加する必要があります。 それ以外の場合、セル番号は文字列として処理されます。

      2021040815

  7. レポートをプレビューする場合は、最初に保存する必要があります。 上部のショートカットバーで [保存] をクリックします。 次に、[プレビュー] をクリックし、ドロップダウンリストから [ページ分割プレビュー] を選択します。 レポートがwebブラウザで開かれます。

関連ドキュメント

FineReportとFineBIの違いについては、「FineReportとFineBIの違い」をご参照ください。

FineReportとFineBIは、一部の操作で同様です。 FineBIの詳細については、「FineBI」をご参照ください。

FineReportの使用を開始する方法については、「Designer」をご参照ください。

FineReportレポートのデザイン方法については、「学習パス」をご参照ください。