インメモリ データ ソースを使用してRevealのデータ範囲を拡大する
Revealそのままではまだサポートしていない可能性があるデータ ソースに直接接続したい場合があります。たとえば、独自のカスタム データベースがある場合があります。このニーズに対応するために、データ ソースとしてインメモリをサポートしています。必要な場合は、このオプションを使用することもできます […]
Revealそのままではまだサポートしていない可能性があるデータ ソースに直接接続したい場合があります。たとえば、独自のカスタム データベースがある場合があります。このニーズに対応するために、データ ソースとしてインメモリをサポートしています。ユーザーが要求したレポートの結果など、アプリケーション状態の一部としてメモリ内に既に存在するデータを使用する必要がある場合にも、このオプションを使用できます。
インメモリ データ ソースには、ディスク ドライブよりもメモリ内のデータへのアクセスの方がはるかに高速であるため、取得速度などの他の利点もあります。
このブログでは、この機能の使用方法を段階的に説明します。
データスキーマの定義
メモリ内データと一致するスキーマを使用してデータ ファイルを定義することをお勧めします。データ ファイルは、たとえば CSV ファイルや Excel ファイルであり、スキーマは基本的にフィールドと各フィールドのデータ型のリストです。以下の例では、特定のスキーマでデータ ファイルを作成し、データベースから情報を取得する代わりにメモリ内のデータを使用する方法について詳しく説明します。
次の例では、人事メトリクスを表示するダッシュボードを人事システムに埋め込むために、社内の従業員のリストを含むメモリ内データを使用します。また、データベースから従業員のリストを取得する代わりに、メモリ内のデータを使用します。
データファイルとサンプルダッシュボードの準備
いくつかのプロパティのみを持つ単純化された従業員に基づいて、次の手順を実行します。
- 従業員ID: 文字列
- フルネーム: 文字列
- 賃金: 数値
まず、同じスキーマで CSV ファイルを作成します。
- Dropbox や Google Drive などの好みのファイル共有システムにファイルをアップロードします。
- ダミーデータを使用してダッシュボードを作成します。実際の本番データはアプリケーションの後半で提供することに注意してください。
- ダッシュボードをエクスポートし (ダッシュボード メニュー → エクスポート → ダッシュボード)、.rdash ファイルとして保存します。
ダッシュボードを視覚化し、実際のデータを返す
次に、ダミーのデータではなく独自のデータを使用してダッシュボードを視覚化する必要があります。
「データ ソースの置換」で説明されているように、IRVDataSourceProvider を実装し、それをIRevealSdkContextのDataSourceProviderプロパティとして返します。
次に、ChangeVisualizationDataSourceItemAsyncメソッドの実装に、次のようなコードを追加する必要があります。
この方法では、基本的に、ダッシュボード内の CSV ファイルへのすべての参照を、「従業員」によって識別されるメモリ内のデータ ソースに置き換えます。この ID は、後でデータを返すときに使用されます。
実際のデータを返すメソッドを実装するには、以下に示すようにIRVDataProviderを実装します。
Employee クラスのプロパティの名前は CSV ファイルの列とまったく同じであり、データ型も同じであることに注意してください。いずれかのプロパティのフィールド名、フィールド ラベル、データ型を変更したい場合は、クラス宣言で属性を使用できます。
- RVSchemaColumn 属性を使用して、フィールド名やデータ型を変更できます。
- DisplayName 属性を使用してフィールド ラベルを変更できます
さらに、IRVDataProviderを実装するには、IRVDataProvider を返すようにIRevealSdkContext.DataProviderの実装を変更する必要があります。
まだ SDK をRevealまたは試用していない場合は、デモをリクエストしてください。