データベース設計および開発では、計算または他のフィールドから再構築できるデータを格納しないことが確立された慣行です。その結果、Navicat BIでチャートを作成する際に、一部のデータが欠けている可能性があります。しかし、Navicat BIは、そのような目的のために計算フィールドを提供しているため、問題はありません。今日のブログでは、計算フィールドを使用して、顧客ごとの平均レンタル時間(つまり、顧客が映画を返却するまでの時間)を示すチャートを作成します。このシリーズのほとんどの記事と同様に、データは無料の「dvdrental」サンプルデータベースからキュレーションされま
顧客のレンタル情報の取得
このシリーズの以前のブログで述べたように、チャートが使用するデータソースを指定する必要があるので、チャートを設計する前にデータソースを作成すべきです。データソースは、接続のテーブルやファイル/ODBCソースのデータを参照し、異なるサーバータイプのテーブルからデータを選択できます。新しいデータソースを作成した後、「新しいデータソースクエリ」をクリックしてクエリデザイナーを開くことができます。そこで、エディタに直接SQLステートメントを書いたり、ビジュアルクエリビルダーを使用したり、Navicatからクエリをインポートしたりできます。以下は、顧客情報、レンタル金額、映画のレンタル日、および返却日を取得するSELECTステートメントです。
クエリを保存してデータを更新すると、すべてのクエリフィールドと結果セットが表示されます。
新しい計算フィールドダイアログには、集計関数、日時関数、論理関数など、さまざまな便利な関数が用意されています。DATEDIFF()関数を使用して、rental_dateフィールドとreturn_dateフィールドの間の日数を計算します。この関数は、時間単位と開始日および終了日を指定します。関数のリストの下にある説明を読んで、詳細を確認できます。以下のように、単位として「D」(日)と2つの日付フィールドを渡します。
ダイアログの下部のプレビューで、期待通りの結果が得られていることが確認できるでしょう。
OKボタンをクリックすると、新しいフィールドがフィールドリストと結果に表示されます
顧客ごとの平均レンタル期間チャートの作成
各顧客IDは個別のデータポイントであるため、散布図がうまく機能するかもしれません。散布図は、個々のデータポイントをX軸とY軸に沿って配置してデータをプロットします。X軸にはcustomer_id、Y軸にはrental_duration(平均)を使用します。チャートデザイナーでフィールドをX軸とY軸フィールドにドラッグし、rental_durationに平均集計を適用するだけで、すぐにチャートが作成されます。
これがプレゼンテーションモードでの完全なチャートです。
おまけ: 顧客別のレンタル回数を見る
平均値は役立ちますが、各顧客が1本以上の映画をレンタルした回数を表示することも役立つ場合があります。この目的のために、集計関数を使用できます。結果セットのamountエントリの数をカウントし、customer_id別にグループ化します。以下は、AGGCOUNT()関数への呼び出しを含む新しい計算フィールドダイアログです。
チャートデザイナーで、新しいnumber_of_rentalsフィールドをカラースロットにドラッグします。昇順ソートを追加すると、凡例のアイテムがレンタル数の低い順に並べられます。
カーソルを個々のデータポイントの上に移動すると、詳細を表示できます。ツールチップが表示され、レンタル数、customer_id、および平均レンタル期間(日数)が表示されます。
Conclusion
本ブログでは、Navicat BIのデータソースとチャートで計算フィールドを使用する方法について説明しました。これは、最新バージョンのビジネスインテリジェンス(BI)に含まれる新機能のほんの一例です。また、カスタムフィールドに関する本シリーズの締めくくりでもあります。Navicat BIをお試しになりたい場合は、Windows、macOS、Linuxのオペレーティングシステムでご利用できるスタンドアロンバージョンを14日間無料でお試しできます。