インメモリ データ ソースを使用して Reveal のデータ範囲を拡大する

インメモリ データ ソースを使用してRevealのデータ範囲を拡大する

Revealそのままではまだサポートしていない可能性があるデータ ソースに直接接続したい場合があります。たとえば、独自のカスタム データベースがある場合があります。このニーズに対応するために、データ ソースとしてインメモリをサポートしています。必要な場合は、このオプションを使用することもできます […]

3 分で読めます

Revealそのままではまだサポートしていない可能性があるデータ ソースに直接接続したい場合があります。たとえば、独自のカスタム データベースがある場合があります。このニーズに対応するために、データ ソースとしてインメモリをサポートしています。ユーザーが要求したレポートの結果など、アプリケーション状態の一部としてメモリ内に既に存在するデータを使用する必要がある場合にも、このオプションを使用できます。

インメモリ データ ソースには、ディスク ドライブよりもメモリ内のデータへのアクセスの方がはるかに高速であるため、取得速度などの他の利点もあります。

このブログでは、この機能の使用方法を段階的に説明します。

データスキーマの定義

メモリ内データと一致するスキーマを使用してデータ ファイルを定義することをお勧めします。データ ファイルは、たとえば CSV ファイルや Excel ファイルであり、スキーマは基本的にフィールドと各フィールドのデータ型のリストです。以下の例では、特定のスキーマでデータ ファイルを作成し、データベースから情報を取得する代わりにメモリ内のデータを使用する方法について詳しく説明します。

次の例では、人事メトリクスを表示するダッシュボードを人事システムに埋め込むために、社内の従業員のリストを含むメモリ内データを使用します。また、データベースから従業員のリストを取得する代わりに、メモリ内のデータを使用します。

データファイルとサンプルダッシュボードの準備

いくつかのプロパティのみを持つ単純化された従業員に基づいて、次の手順を実行します。

  • 従業員ID: 文字列
  • フルネーム: 文字列
  • 賃金: 数値

まず、同じスキーマで CSV ファイルを作成します。

Reveal BIでデータファイルとサンプルダッシュボードを準備する例

  1. Dropbox や Google Drive などの好みのファイル共有システムにファイルをアップロードします。
  2. ダミーデータを使用してダッシュボードを作成します。実際の本番データはアプリケーションの後半で提供することに注意してください。
  3. ダッシュボードをエクスポートし (ダッシュボード メニュー → エクスポート → ダッシュボード)、.rdash ファイルとして保存します。

ダッシュボードを視覚化し、実際のデータを返す

次に、ダミーのデータではなく独自のデータを使用してダッシュボードを視覚化する必要があります。

データ ソースの置換」で説明されているように、IRVDataSourceProvider を実装し、それをIRevealSdkContextDataSourceProviderプロパティとして返します。

次に、ChangeVisualizationDataSourceItemAsyncメソッドの実装に、次のようなコードを追加する必要があります。

視覚化データ ソース項目の非同期サンプル コードの変更

この方法では、基本的に、ダッシュボード内の CSV ファイルへのすべての参照を、「従業員」によって識別されるメモリ内のデータ ソースに置き換えます。この ID は、後でデータを返すときに使用されます。

実際のデータを返すメソッドを実装するには、以下に示すようにIRVDataProviderを実装します。

IRV データプロバイダーのサンプルコード

Employee クラスのプロパティの名前は CSV ファイルの列とまったく同じであり、データ型も同じであることに注意してください。いずれかのプロパティのフィールド名、フィールド ラベル、データ型を変更したい場合は、クラス宣言で属性を使用できます。

  • RVSchemaColumn 属性を使用して、フィールド名やデータ型を変更できます。
  • DisplayName 属性を使用してフィールド ラベルを変更できます

RV スキーマの列属性を使用して、フィールド名やデータ型を変更できます。

さらに、IRVDataProviderを実装するには、IRVDataProvider を返すようにIRevealSdkContext.DataProviderの実装を変更する必要があります。

IRV データプロバイダーの実装

まだ SDK をRevealまたは試用していない場合は、デモをリクエストしてください。

デモを予約