Power BIは、関連するデータソースを一貫した視覚的にリアルなインタラクティブな洞察に変換するために連携して動作する、ソフトウェアサービス、アプリケーション、コネクタの集合です。データはExcelシートである場合もあれば、クラウドとオンプレミスが混在するデータウェアハウスの集合である場合もあります。Power BIを使用すれば、データソースに簡単に接続し、可視化して重要な内容を発見し、必要に応じて誰とでも共有できます。
本記事では、Power BIを使用し、OceanBaseデータベースのMySQLモードを例に、Power BIでOceanBaseデータベースに接続してデータを表示する方法を紹介します。
前提条件
Power BIに登録済みであること。詳細については、Power BIを参照してください。
OceanBaseデータベースをインストール済みで、MySQLテナントが作成されていること。
利用可能なデータセットの準備が整っていること。本記事で使用されているサンプルデータセットはKaggleから取得したものです。
手順
ステップ1:データベース接続文字列の取得
OceanBaseデータベースのデプロイ担当者または管理者から、該当するデータベース接続文字列を取得します。例:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
パラメータ説明:
$host:OceanBaseデータベースへの接続IPアドレス。OceanBaseデータベースプロキシ(OceanBase Database Proxy、ODP)接続方式ではODPアドレスを使用し、直接接続方式ではOBServerノードのIPアドレスを使用します。$port:OceanBaseデータベースへの接続ポート。ODP接続方式のデフォルトポートは2883で、ODPデプロイ時にカスタマイズ可能です。直接接続方式のデフォルトポートは2881で、OceanBaseデータベースのデプロイ時にカスタマイズ可能です。$database_name:アクセス対象のデータベース名。注意
テナントに接続するユーザーは、データベースに対する
CREATE、INSERT、DROP、およびSELECT権限が付与されていなければなりません。その他のユーザー権限の詳細については、MySQLモードの権限分類を参照してください。$user_name:テナントの接続アカウント。ODP接続の一般的な形式:ユーザー名@テナント名#クラスタ名またはクラスタ名:テナント名:ユーザー名。直接接続方式の形式:ユーザー名@テナント名。$password:アカウントのパスワード。
その他の接続文字列の情報については、OBClientを使用したOceanBaseテナントへの接続を参照してください。
例:
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
ステップ2:データをインポートし、テーブルを作成する
ステップ1:データベース接続文字列を取得する に記載されている接続文字列を使用してOceanBaseデータベースにログインし、テーブルを作成します。テーブル作成のステートメントは以下のとおりです:
CREATE TABLE `test` ( `invoice_no` varchar(50) DEFAULT NULL, `stock_code` varchar(20) DEFAULT NULL, `description` varchar(200) DEFAULT NULL, `quantity` int(11) DEFAULT NULL, `invoice_data` datetime DEFAULT NULL, `unit_price` decimal(8,2) DEFAULT NULL, `customer_id` int(11) DEFAULT NULL, `country` varchar(50) DEFAULT NULL, `sales` float DEFAULT NULL ) DEFAULT CHARSET = utf8mb4LOAD DATAステートメントを使用して、準備したデータセットをテーブルにインポートできます。ステートメントの例は以下のとおりです:LOAD DATA INFILE '/path/superstoredata.csv' INTO TABLE earthquakes FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (invoice_no, stock_code, description, quantity, invoice_data, unit_price, customer_id, country, sales);データ量が多い場合、またはインポート時にデータ変換が必要な場合は、データロードツールを使用してデータセットをインポートすることを推奨します。
ステップ3:Power BIコンソールでOceanBaseデータベースに接続する
Power BIコンソールのページを開き、左側のメニューバーで作成を選択し、メインパネルのリポジトリを再度選択して新しいリポジトリを作成し、リポジトリに名前を付けます。ここでは、リポジトリの名前を oceanbase とします。
作成したリポジトリ oceanbase に移動し、データ取得 > データソースGen2の新規作成 を選択します。
ポップアップウィンドウで、mysql と検索し、MySQLデータベース を選択し、以下の設定を完了します:
ステップ1:データベース接続文字列の取得 で取得した接続文字列情報に基づいて、順次入力します。接続文字列の例が
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtestの場合、入力例は以下のとおりです:サーバー:
xxx.xxx.xxx.xxx:2881と入力します。データベース:ステップ2で作成したテーブルがあるデータベースを入力します。
ユーザー名:test_user001@mysql001
次へ をクリックし、接続が成功した後、データの選択 > MySQLデータベース を選択し、データベースをダブルクリックすると、テーブルデータが以下のように表示されます:
自動でレポートを作成してPower BIを体験してみることができます。上部のタブを切り替えて レポート > デフォルトのPower BIセマンティックモデルの管理 を選択します。
表示された デフォルトのセマンティックモデルの管理 ウィンドウで、対象のテーブルを選択し、確認 をクリックします。少々お待ちください。自動で作成されたレポートが生成されます。
レポートは以下のとおりです:
次のステップ
データソースの作成が完了したら、Power BIの使用を開始できます。Power BIの詳細な操作ガイドについては、Power BI公式ドキュメントを参照してください。