Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

E2D3 ver. 0.2 API説明書

3,285 views

Published on

http://e2d3.org

近年の「ビッグデータ」「データサイエンティスト」ブームの影響もあり,Excelを用いてデータ解析を行う人が急速に増えてきた.Excelには多数の統計関数が予め用意されているのみならず,既存関数を組み合わせて独自の統計関数を作成できるという強みがある.しかし,統計関数の自由度に比べて,グラフ作成の自由度はそれほど高くはない.

一方,ビジネスにおいてはグラフのビジュアルインパクトが重要な場面も多く,グラフ作成の自由度を高める機能が現在のExcelには求められている.そこで我々は、グラフ作成の自由度を高める機能を持つ D3(Data-Driven Documents)ライブラリをExcelから呼び出せるOffice用アプリ E2D3(Excel to D3)を開発した.

ユーザーはE2D3を利用することで,D3の詳細な中身を理解する必要なく,簡単なExcel操作のみでビジュアルインパクトが強烈なグラフを作成できる.またコントリビューター(D3プログラマ)にはD3とExcelを簡単に繋ぐためのミドルウェア,及び独自D3グラフを投稿できるプラットホームを開発している.

今後E2D3の基幹部分はOSSとして公開する予定である.

Published in: Data & Analytics
  • Be the first to comment

E2D3 ver. 0.2 API説明書

  1. 1. E2D3 ver. 0.2 API 説明書 http://e2d3.azurewebsites.net/index.html
  2. 2. APIリスト(e2d3) メソッド説明引数戻り値 e2d3.initialize グラフ作成ページ内で必ず最初に呼び出される必要が あります。 Office.jpが利用可能になったかをコールバックで取得 することができます Inserted:Officeアプリが初 めて起動された DocumentOpened:アプリが 組み込まれた状態でファイル を開いた e2d3.setBindData 選択範囲から、グラフ用のデータバインドを作成しま す。 データバインドを作成することで、選択範囲のデータ 書き換えをグラフに反映させることができます。 引数により、範囲指定ボックスを表示することができ ます。 @args [object] 必須: id(strings) : 一意なバインドID(指 定がなかった場合は、全てのバイ ンド数から連番されます。) is_prompt(0 | 1) : 1, 範囲選択UIを表示します。 0, すでにデータ範囲が選択されて いる場合で範囲選択UIが必要ない 場合に指定します。 @callback [funciton] 必須: 処理完了後のコールバック 成功した場合は、コールバッ ク引数としてバインドオブジ ェクトが返されます。 失敗した場合は、falseが返さ れます。
  3. 3. APIリスト(e2d3) メソッド説明引数戻り値 e2d3.addChangeEvent バインド対象データのonChangeイベント を登録します。 setBindDataで登録されたバインドデータ に対して、セルの値変更時のイベントアク ションをコールバックに指定できます。 @binding [object] 必須: バインディングオブジェクト。 通常は、setBindDataで返されるバインドオブジェクト をセットしてください。 @callback [funciton] : 処理完了後のコールバック コールバック関数を 指定している場合、 成功した場合は、コ ールバック関数の引 数としてtrue、 失敗した場合は、 falseが返されます。 e2d3.bind2Json 指定されたバインドIDから、バインド対象 のセル範囲データをJSON形式で取得しま す。 @bindId [strings] 必須: 一意なバインドID。setBindIdでセットしたバインドID を指定してください。 @args [object] 必須: is_formatted(1 | 0=nul): 取得するデータの自動フォー マットの有無 dimension(1d | 2d) : JSONデータ構造。 1d:1列のデータ。一番上の値が数字の場合は、 [[1,2,3…]]のようなJSON形式。文字列の場合は、 [{a:[1,2,3...]}]のような形式。 2d:2次元データ。Excel表の1列目がタイトル行として 変換されます。タイトルはマルチバイトに対応してい ます。 [ {“a”:”1”,”b”:”2”,”c”:”3”}, {“a”:”100”,”b”:”101”,”c”:”102”},... ] @callback [funciton] 必須: 成功した場合は、コ ールバック引数とし て構造化された JSONデータが返さ れます。 ※is_formattedで1を 指定した場合は、現 在セルに設定されて いる形式にフォーマ ットされます。 未指定または0を指 定した場合は、フォ ーマットされません。 未フォーマット時の 日付データは 1900/01/01 00:00:00 から現在までの「秒 数」となります。 失敗した場合は、
  4. 4. APIリスト(e2d3) メソッド説明引数戻り値 e2d3.json2Excel シンプルな2次元JSON配列をExcelの各セ ルに挿入します。 可能なフォーマットは、[[a,b,c],[x,y,z]...]と なります。 ※このメソッドは、値を挿入するためのメ ソッドです。返還後に値を取得する場合は、 bind2jsonメソッドなどで、選択範囲から 値を取得してください。 @json [array] 必須: セルに挿入するJSON形式のデータ。JavaScript配列オ ブジェクトになっておらず、“[[a,b,c],[x,y,z]...]”のような テキストでも対応しています。 TSVファイルやCSVファイルをjQueryなどで取得する ことも可能です。 ※D3.csvメソッドは、データ変換が行われますので注 意が必要です。 @callback [funciton] : 処理完了後のコールバック コールバック関数を 指定している場合、 成功した場合は、コ ールバック関数の引 数としてtrue、 失敗した場合は、 falseが返されます。 ※データは自動的に 形式が判断され、フ ォーマットされます。 これを回避するすべ はありません。 e2d3.trimmedJson2Exce l オブジェクトを含むJSONデータをExcelの 各セルに挿入します。 対応するJSON形式は、パラメータで指定 することができます。 ※現在は2dオプションのみ有効です。1dの 場合は、Array形式でjson2Excelを使用して ください。 @json [array,object] 必須: セルに挿入するJSON形式のデータ。 @args [object] 必須: dimension(2d) : JSONデータ構造。 2d:2次元データ。Excel表の1列目がタイトル行として 変換されます。タイトルはマルチバイトに対応してい ます。 [ {“a”:”1”,”b”:”2”,”c”:”3”}, {“a”:”100”,”b”:”101”,”c”:”102”},... ] @callback [funciton] 必須: 処理完了後のコールバック ールバック関数を指 定している場合、 成功した場合は、コ ールバック関数の引 数としてtrue、 失敗した場合は、 falseが返されます。 ※データは自動的に 形式が判断され、フ ォーマットされます。 これを回避するすべ はありません。
  5. 5. APIリスト(e2d3) メソッド説明引数戻り値 e2d3.releaseBindDataByI d 指定されたIDのバインドを解除します。各 グラフ毎に、データ範囲が異なる場合があ りますので、ページ内のどこかに、この関 数を呼び出すイベントを設置することが望 まれます。 ユーザーがグラフを変更した場合でも、バ インドは維持されます。 @args [object] 必須: id(strings) : 一意なバインドID(指定がなかった場合は、 全てのバインド数から連番されます。) isDataDelete(1|未指定) : 1,バインド解除時に、バインドされているデータ範囲 のセルの値を消去します。 @callback [funciton] 必須: 処理完了後のコールバック コールバック関数を 指定している場合、 成功した場合は、コ ールバック関数の引 数としてtrue、 失敗した場合は、 falseが返されます。
  6. 6. APIリスト(グローバル) メソッド説明引数戻り値 showObj デバッグ用関数。<body>タグの最後に、渡されたオブジ ェクト、配列を書き出します。 jQueryが必要です。 @obj [object | array] 必須: 展開するオブジェクトまたは配列 @s [number] : ループ処理用。現在は使われていませ ん。 showError デバッグ用関数。 既定のエラー表示エリア”#message_area”が存在する場 合は、その中に。見つからない場合は<body>タグの一番 最初に、渡されたメッセージを表示します。 メッセージは、jQueryのfadeIn,fadeOutを利用して表示さ れます。 jQueryが必要です。 Twitter Bootstrapが必要です。 @message [strings] 必須: 表示させるメッセージ @_type [strings]: メッセージエリアのスタイルを設定し ます。 Twitter Bootstrapのカラースタイルが適 用されます。 “default”,”primary”,”success”,”warning”,” danger”が設定できます。
  7. 7. APIリスト(未実装) メソッド説明引数戻り値 e2d3.getBindDataById setBindDataコールバックを以外からバインドデータを取 得したい場合に、バインドIDからバインドオブジェクト を取得することができます。 ※このメソッドは未実装です。setBindDataのコールバッ ク関数で取得されるデータを別途保持するようにしてく ださい。 @bindId [strings] 必須: 対象のバインドID @callback [funciton] 必須: 処理完了後のコールバック 成功した場合は、コ ールバック引数とし てバインドオブジェ クトが返されます。 失敗した場合は、 falseが返されます。 e2d3.getAllBindData setBindDataコールバックを以外からバインドデータを取 得したい場合に、すべてのバインドデータを配列で取得 します。 ※このメソッドは未実装です。setBindDataのコールバッ ク関数で取得されるデータを別途保持するようにしてく ださい。 @callback [funciton] 必須: 処理完了後のコールバック 成功した場合は、コ ールバック引数とし てバインドオブジェ クトが返されます。 失敗した場合は、 falseが返されます。
  8. 8. E2D3 Project Member [ver. 0.2, 2014/9/19-11/19] Chief Engineer: Yu Yamamoto Engineer: Nobuaki Okada, Norihiko Sawa, Shu Saikawa, Takeshi Osoekawa, Teruyoshi Matsushima Legal Affairs: Ryo Kato Logo Designer: Shuntaro Okazaki Slide Designer: Motoi Takase Translator: Takeshi Shinohara Video Editor: Iwao Katsumura Web Designer: Junichi Tashiro Project Leader: Yasunobu Igarashi Acknowledge: We would like to thank Tsuyoshi Matsuzaki for his helpful suggestions. [ver. 0.1, 2014/5/1-6/24] Chief Engineer: Teruyoshi Matsushima Project Leader: Yasunobu Igarashi

×