FineBI を AnalyticDB for MySQL に接続して、データウェアハウスのデータを分析および可視化します。接続後は、フィルター処理、グループ化、列の追加、フィールド設定、並べ替え、およびライブデータ上でのダッシュボード構築を直接実行できます。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
FineBI 5.0 以降 — リアルタイムデータをサポートするバージョン(FineBI 公式 Web サイトからダウンロード可能な標準版ではありません)。このバージョンについては、FineBI テクニカルサポートまでお問い合わせください。バージョン互換性の詳細については、「互換性の概要」をご参照ください。
FineBI ホストマシンに MySQL Connector/J がインストールされていること
初めて FineBI をインストールする場合は、さらに以下が必要です。
FineBI のメタデータを格納するための MySQL サーバー(例:ApsaraDB RDS for MySQL)。FineBI では外部 MySQL データベースが必要であり、この目的で AnalyticDB for MySQL を使用することはできません。
インターネット経由で接続する場合は、さらに以下が必要です。
AnalyticDB for MySQL クラスターのパブリックエンドポイント。詳細については、「パブリックエンドポイントの申請または解放」をご参照ください。
外部 MySQL データベースの構成
FineBI のインストールおよび構成が完了済みの場合は、このセクションをスキップし、直接「AnalyticDB for MySQL データベースへの接続」に進んでください。
FineBI は自身のメタデータを外部 MySQL データベースに格納します。AnalyticDB for MySQL への接続を行う前に、この構成を完了してください。
FineBI を起動します。
サーバー URL をクリックし、画面上の指示に従って [アカウント設定] を構成します。
[次へ] をクリックします。[外部データベース] セクションで、[データベースの構成] をクリックします。
[外部データベースの構成] ページで、MySQL サーバーの詳細情報を入力します。
ここには、AnalyticDB for MySQL の詳細ではなく、MySQL サーバーの接続情報を入力してください。
パラメーター 説明 [データベースの種類] ドロップダウンリストから [MySQL] を選択します。 ドライバー ドロップダウンリストから com.mysql.jdbc.Driverを選択します。[データベース名] FineBI のメタデータを格納するデータベース名です。接続後に、FineBI が自動的に CREATE DATABASE finedb;を実行してこのデータベースを作成します。ホスト MySQL サーバーのアドレス(ローカルまたはリモート) [ポート番号] デフォルト: 3306[ユーザー名] MySQL サーバー上で作成したアカウント パスワード アカウントのパスワード [URL] システムによって自動生成されます。 [新しいデータベースを有効化] をクリックして、FineBI のメタデータを MySQL データベースにインポートします。
インポートが完了したら、[ログイン] をクリックして MySQL サーバーにログインします。
AnalyticDB for MySQL データベースへの接続
FineBI を起動します。左側のナビゲーションウィンドウで、[管理システム] > [データベースエンドポイント] > [データエンドポイント管理] > [データベースエンドポイントの作成] > [すべて] > [AnalyticDB] の順に選択します。

ダイアログボックスで、接続パラメーターを構成します。
パラメーター 説明 [データ接続名] この接続を識別するための記述的な名前で、今後のデータ準備で使用されます。 ドライバー ドロップダウンリストから com.mysql.jdbc.Driverを選択します。データベース名 AnalyticDB for MySQL のデータベース名 ホスト AnalyticDB for MySQL クラスターのパブリックエンドポイントまたは VPC エンドポイントです。AnalyticDB for MySQL コンソール[クラスター情報] ポート 3306[ユーザー名] AnalyticDB for MySQL クラスター用の特権アカウントまたは標準アカウント パスワード アカウントのパスワード 
[テスト] をクリックして接続を検証します。テストが成功したら、右上隅の [保存] をクリックします。
テーブルの作成
FineBI を AnalyticDB for MySQL に接続した後、ビジネスパッケージにテーブルを追加して、分析およびダッシュボード表示で利用できるようにします。
左側のナビゲーションウィンドウで、[データ準備] > [リアルタイムデータ] > [ビジネスパッケージ] > [テーブルの作成] の順に選択します。
構成済みの AnalyticDB for MySQL 接続を選択し、テーブルの種類を選択します。
[データベーステーブル]:AnalyticDB for MySQL データベースから直接テーブルを追加
SQL データセット: 分析用のカスタムデータセットを生成する SQL クエリを記述します。

[セルフサービスデータセット]:データベーステーブルまたは SQL データセットを基に派生したデータセットを追加
ベーステーブルのフィールドを選択します。その後、フィルター処理、グループ化、集計、列の追加、結合などの操作を適用できます。

例:マーケットバスケット分析ダッシュボード
この例では、FineBI と AnalyticDB for MySQL を連携してマーケットバスケット分析ダッシュボードを構築する方法を示します。マーケットバスケット分析とは、顧客の購入パターンを調査することで、商品間の関係性を特定する手法です。
ステップ 1:サンプルデータのダウンロード
商品販売サマリーテーブル ファイルをダウンロードします。
ステップ 2:AnalyticDB for MySQL におけるテーブル作成
マーケットバスケット分析に適した分散キーおよびパーティションキーを指定してテーブルを設計します。
Document Noを分散キーとして使用します。購入データは伝票番号ごとに比較的ランダムに分散され、バスケット分析における JOIN 操作も伝票番号に基づいて実行されます。Dateをパーティションキー(レベル 2 パーティション)として使用します。この列にはデータがインポートされないため、日付パーティションによりスキーマの柔軟性が確保されます。ライフサイクルを
100に設定します。
以下の文を実行してテーブルを作成します。
Create Table `demo_sales` (
'Date' date,
'City' varchar,
'Document No' varchar,
'Store name' varchar,
'Commodity class' varchar,
'Commodity name' varchar,
'Province' varchar,
'Cost' double,
'Gross profit' double
'Quantity' bigint,
'Sales' double,
) DISTRIBUTED BY HASH ('Document No')
PARTITION BY VALUE ('Date') LIFECYCLE 100
INDEX_ALL='Y' STORAGE_POLICY='COLD' COMMENT='Summary table of merchandise sales'テーブルスキーマ設計の詳細については、「テーブルスキーマ設計」をご参照ください。
ステップ 3:サンプルデータのインポート
Kettle を使用して、ローカルの Excel データを AnalyticDB for MySQL の demo_sales テーブルにインポートします。手順については、「Kettle を使用したデータウェアハウスエディションへのデータインポート」をご参照ください。
インポートが完了したら、以下のクエリを実行してデータを検証します。
SELECT COUNT(*) FROM demo_ordersクエリの結果として 40514 が返されれば、すべてのレコードが正常にインポートされたことを確認できます。
ステップ 4:FineBI におけるセルフサービスデータセットの作成
ナビゲーションウィンドウで、[データ準備] > [リアルタイムデータ] を選択し、
adbという名前のビジネスパッケージを追加します。ビジネスパッケージ内でセルフサービスデータセットを作成し、
AnalyticDB connection_demo_salesのフィールド(AnalyticDB for MySQL のdemo_salesテーブルの全フィールド)を選択します。
ステップ 5:ダッシュボードの構築
FineBI ドキュメントの例に従ってデータをデータセットに追加し、マーケットバスケット分析ダッシュボードを生成します。
トラブルシューティング
データ準備にリアルタイムデータのオプションが表示されない
症状: [リアルタイムデータ] オプションがデータ準備の階層ツリーに表示されません。
原因: FineBI 公式 Web サイトからダウンロードした標準版では、AnalyticDB for MySQL への直接接続はサポートされていません。
解決策: リアルタイムデータをサポートするバージョンを入手するため、FineBI テクニカルサポートまでお問い合わせください。
初期セットアップ時に外部データベースが構成されていない
症状: FineBI が外部データベースなしで初期化され、現在外部データベースの構成が必要です。
解決策:
データ駆動型意思決定システムを起動します。[管理システム] > [システム管理] を選択します。
[全般] タブで、[未設定] をクリックします。
外部データベースのパラメーターを入力します。
[新しいデータベースを有効化] をクリックします。
外部 MySQL データベースは構成済みだが、データインポートに失敗する
症状: 外部データベースへの接続は成功するが、FineBI のメタデータのインポートに失敗します。
原因: 通常はバージョンまたはエンコーディングの不一致が原因です。FineBI は MySQL 5.x をサポートしており、utf8 文字セットを必要とします。
解決策:
MySQL のバージョンが 5.x であるかを確認します。詳細については、「外部 MySQL データベースの構成」をご参照ください。
MySQL データベースが
utf8(UTF-8 Unicode)文字セットを使用しているかを確認します。使用していない場合は、正しいエンコーディングで新しいデータベースを作成します。CREATE DATABASE finedb CHARACTER SET utf8
外部データベース構成中に AnalyticDB for MySQL への接続が失敗する
症状: 外部データベースとして AnalyticDB for MySQL を構成しましたが、接続に失敗します。
原因: 外部データベースは MySQL データベースでなければならず、AnalyticDB for MySQL データベースは使用できません。
解決策: ApsaraDB RDS for MySQL などの MySQL サーバーを使用して、外部データベースを再構成します。
FineBI と AnalyticDB for MySQL の間でデータが同期されない
症状: AnalyticDB for MySQL で変更された内容が FineBI に反映されません。
解決策: 同期設定については、「FineBI リアルタイムデータドキュメントのセクション 3.2」をご参照ください。
データ更新後にデータが表示されない
症状: データを更新した後、単一の行または全体の列にデータが表示されません。
問題の診断方法:
単一の行 にデータが表示されない場合:その行の計算結果が
nullである可能性があります。全体の列 にデータが表示されず、その列に何らかの関数が適用されている場合:その関数が AnalyticDB for MySQL と互換性がない可能性があります。
解決策: 列に関数が原因で問題が発生している場合は、AnalyticDB for MySQL テクニカルサポートまでお問い合わせください。
データのプレビューまたは保存ができない
症状: データのプレビューまたは保存時にエラーメッセージが表示され、失敗します。
問題の診断方法:エラーメッセージの形式を確認します。
エラーメッセージに数字の羅列が含まれる場合:これは AnalyticDB for MySQL のプロセス ID です。トラブルシューティングのために、このプロセス ID を AnalyticDB for MySQL テクニカルサポートに提供してください。

エラーメッセージにエラーコードのみが含まれる場合:エラーは FineBI 内で発生しています。FineBI テクニカルサポートまでお問い合わせください。
いずれのパターンにも該当しない場合は、列に適用された関数がデータ型と互換性がないかどうかを確認してください。例えば、都市名の列に含まれる漢字を絶対値計算用に数値に変換しようとすると、AnalyticDB for MySQL でエラーが発生します。