Yellowfin 選定ガイド
Yellowfinは、エンタープライズアナリティクス、および組み込みアナリティクス両方のユースケースで使用され、独自のアナリティクスアプリケーションを構築します。本ガイドを活用することで、Yellowfinが要件に対して技術的に最適であるかどうかを確認できます。
コードの拡張
-
概要
Yellowfin プラットフォームの機能を拡張するにはどのようにすればよいですか?
Yellowfinは、様々な分野での拡張をサポートします。
- 分析関数
- サードパーティ製データソースアクセス
- データ変換・カスタムフォーマッター
- データトランスフォーメーションステップ
- JavaScript グラフ
- キャンバスウィジェット
拡張機能は、Yellowfinのプラグイン管理を介して、動的にロードできるプラグインとして実装することができます。
独自のプログラミング言語を学ぶ必要はありますか?
Yellowfinに独自の言語はありません。Yellowfinのコードモードは、HTML、JavaScript、
CSSを利用します。Yellowfinのコード拡張は、Javaプログラミング言語でコーディングできます。
-
ダッシュボードウィジェット
どのようなウィジェットが標準搭載されていますか?
Yellowfinは、シグナル一覧とカスタムHTMLウィジェットを標準で搭載しています。ウィジェットは、今後さらに追加される予定です。シグナル一覧ウィジェットは、スタイル化されたシグナルの一覧を表示し、一連のフィルターを使用して、表示されたシグナルの設定をすることができます。フィルターは期間、解析ジョブ、シグナルタイプ、ビューごとに適用できます。カスタムHTMLウィジェットを使用すると、独自のカスタムHTMLコードを追加したり、デザインモードでHTMLを可視化したり、サイズ、ロケーション、背景の書式設定などの属性を管理することができます。
独自のカスタムUI要素を作成できますか?
ボタン、選択メニュー、入力フォームなどのカスタムUI要素は、ダッシュボードのコードモードで導入でき、ほとんど場合、HTMLウィジェットのコンテキストに含まれます。しかし、以下を実行する代わりにカスタムウィジェットを作成した方が有効なユースケースがあります。
- コードモード機能のテンプレート化:毎回コーディングするのではなく、コードをウィジェットにパッケージ化してドラッグ&ドロップビルダーに公開します。これは、開発者以外のダッシュボード構築者に高度なカスタム機能を提供する優れた方法です。
- セキュアなAPIの呼び出しを作成:標準的なコードモードでは、ダッシュボードのクライアント側の機能をカスタマイズできます(HTML、JS、CSS)。コードウィジェットを使用すると、サーバ側の処理(Java)も可能になり、ボタンをクリックするなどのクライアント側のアクションにOauth2などの高度な認証プロトコルを組み込むことができます。
独自のカスタムウィジェットで何が実現できますか?
カスタムウィジェットは、フィルターの適用からAPI呼び出しを可能にするワークフローの作成まで、ダッシュボードとのユーザーの対話に基づき、あらゆることを実現できます。カスタムウィジェットは、ダッシュボードのクライアント側のレンダリングレイヤーと、Yellowfin アプリケーションのバックエンドの両方にアクセスできます。クライアント側のレンダリングを変更できるようになったことで、ダッシュボード内でユーザーエクスペリエンスを、単純な応答性のある色やテキストの変更から、キャンバス(駆動フィルター)に含まれるレポートとの対話に変更できます。
バックエンドのアクセスにより、データベースへの書き戻しや、他のアプリケーションへの認証APIの呼び出しなど、フロントエンドプロセスで複雑なアクションを作成できます。
カスタムウィジェットはどのように構築しますか?
カスタムウィジェットは、Java(基礎的なウィジェット定義に必要)と、標準的なコードモードで利用可能なJavaScript、HTML、CSSを組み合わせて、アプリケーションの外部でコーディングします。このプロジェクトはjarファイルとしてコンパイルされ、Yellowfin プラグイン管理を通してアップロードされます。
構築したウィジェットをインスタンスやアプリケーション間で共有できますか?
できます。一度構築したウィジェットは、プラグイン管理を通して、Yellowfin 9のインスタンスにインポートすることができます。
カスタムダッシュボードナビゲーションを作成できますか?
Yellowfinには、日常の分析体験を構成する様々なダッシュボードやレポートをナビゲートするための数々の方法があります。
アクションボタン:Yellowfinにはアクションボタンが搭載されており、定義済みのアクション一覧を表示して、ユーザーが選択できるようになっています。
これは、ダッシュボードのコードモードで手動で行うことも、カスタムヘッダーやURLリダイレクトを使用してグローバルレベルで行うこともできます。
-
JavaScript グラフ
YellowfinでカスタムJavaScript グラフを使用できますか?
Yellowfinが提供するそのまま使用できるグラフに加えて、d3、hicharts、threejsなどのお気に入りのJavaScript グラフライブラリを利用して、「JavaScript グラフ」と呼ばれる機能を提供しています。
YellowfinがサポートするJavaScript グラフライブラリは何ですか?
c3.js、chart.js、Google Charts、Highchartsをサポートします。
カスタムグラフをYellowfinに統合するにはどのようにすればよいですか?
JavaScript グラフは、標準グラフと同じコアインターフェースで作成されますが、ドラッグ&ドロップインターフェースを提供するのではなく、ツール内IDEを提供し、デフォルトカラーパレットのようなグラフに関連する他のコンテキスト情報とともに、レポート結果セットをJSONオブジェクトとして公開します。
JavaScript グラフはデフォルトで無効になっており、「ロール権限」を使用してユーザーごとに有効にできます。
さらに詳細な情報は、こちらを参照してください。
Yellowfin グラフの代わりにカスタムグラフを使用する理由は何ですか?
Yellowfinには、大部分のユーザーの分析ニーズを満たす、非常に多様なグラフが用意されていますが、負傷部位を示す3dインタラクティブ人体表示など、完全にカスタマイズされたビジュアライゼーションが必要な場合があります。このような場合は、独自のカスタムグラフを使用して、Yellowfinを拡張できます。
-
データトランスフォーメーションステップ
カスタムトランスフォーメーションステップはどのようにコーディングできますか?
カスタムデータトランスフォーメーションステップは、Javaを使用してIDEでコーディングし、プラグイン管理を使用してYellowfin インスタンスにインポートできます。インポートしたステップは、データトランスフォーメーションフローの構築時に、ステップメニューに表示されます。詳細は、こちらを参照してください。
どのようなタイプのトランスフォーメーションを作成できますか?
文字通り、何でも実行できるトランスフォーメーションステップを構築できます。これには、流入するデータのカスタム書式から、例えば、ジオコーディングサービスの呼び出しや、ロケーションデータへの天気情報の追加など、サードパーティ製APIを呼び出して、他のアプリケーションからの情報でデータを強化したり、機械学習プラットフォームにホストされた予測モデルの呼び出しなどが含まれます。
カスタムトランスフォーメーションステップを複数のジョブで共有できますか?
ETLプロセスは、個々のビジネスニーズに非常に特化しているため、Yellowfinは独自のカスタムトランスフォーメーションステップを、データトランスフォーメーションツールに追加できるAPIを提供しています。これらのステップは様々な目的に対応し、フローのすべての段階に適用できます。
カスタムデータトランスフォーメーションステップはJavaでコーディングされ、jarファイルとしてパッケージされて、Yellowfin プラグイン管理を通してアップロードされます。アプリケーションにロードされると、ステップはすべてのトランスフォーメーションフローで使用可能になります。
コーディング方法の詳細は、こちらを参照してください。
-
データ変換
非常に特殊なカスタム形式のデータがありますが、そのデータ用にカスタムコンバーターを作成できますか?
データコンバーターを使用すると、プライマリーレポートクエリーの実行後に、フィールドの型を変更できます。特定のグラフや高度な関数は、特定のデータ形式を必要とするため、フィールドの型はYellowfinの後処理で非常に重要です。ひとつの例として、YellowfinビューのWKTコンバーターは、POINT(緯度、経度)などの文字列を地理データ型に変換し、このフィールドをYellowfin GISマップで活用することができます。
コーディング方法の詳細は、こちらを参照してください。
Yellowfinはどのようなデータコンバーターを搭載していますか?
String(文字列)->Geometry(ジオメトリー), String(文字列)->Date(日付), String-Numeric(文字列-数値), Numeric(数値)->text(テキスト), numeric(数値)->date(日付), date(日付)->text(テキスト), date(System Timezone)(日付(システムタイムゾーン)<->date(Local User Timezone)(日付(ローカルユーザータイムゾーン)
-
データコネクター
サードパーティ製アプリケーションやREST サービスにどのようにしてカスタムコネクターを構築できますか?
データコネクターAPIは、Jira、Google Analytics、Salesforceなどの外部APIに保存されたデータに接続し、レポートを作成するためのインターフェースを提供します。
カスタムデータコネクターは、次のいずれかの方法で採用できます。
- APIへの直接接続:レポートが実行されるたびに、APIの呼び出しが行われます。これはライブデータに最適ですが、より高度なクエリーを実行するのは困難です。
- Yellowfinで保存および更新されたデータ:Yellowfinはスケジュールに基づきAPIにクエリーを実行し、構成データベースに保存されているデータセットを更新します。複数のデータセットを保存することで、データの完全なビューを作成し、より優れたレポートを作成できます。
コーディング方法の詳細は、こちらを参照してください。
-
高度な関数
高度な予測など、カスタム関数を作成してデータに適用できますか?
高度な関数を使用すると、レポートのSQL文に追加される計算フィールドとは異なり、プライマリーSQLクエリーが実行された後に、レポートデータ上で操作を実行できます。関数には、単純な数学的計算やテキストの操作から、ユーザー入力パラメーターを使用した複雑なAPIの呼び出しまであります。ユーザーは独自の高度な関数を作成し、プラグイン管理からYellowfinに組み込むことができます。
高度な関数はどのようにして作成できますか?
高度な関数により、プライマリーレポートクエリーの実行後に、カラム(列)内のデータを変更できます。高度な関数は、他のレポートカラム(列)を参照したり、ユーザー入力パラメーターを作成したり、ロウ(行)を削除することができます。これにより、単純な累積合計から、H2Oデータセットに基づく予測を取得するための外部APIの参照まで、あらゆる高度なカスタム計算を実行できます。
高度なカスタム関数はJavaでコーディングされ、jarファイルとしてパッケージ化して、Yellowfin プラグイン管理を通してアップロードされます。アプリケーションにロードされると、すべてのレポートで関数を使用できるようになります。
コーディング方法の詳細は、こちらを参照してください。
Yellowfinにはどのような高度な関数が搭載されていますか?
Yellowfinは、数多くの高度な関数を標準搭載しています。すべての一覧は、こちらからご確認ください。
これには、様々な統計関数(平均、中央値、モード、および分散、標準偏差、線形回帰、指数平滑化などの高度な関数)、日付や時間関数(例えば、日付や時刻の間の計算を実行する場合)、分析関数(ランク付、合計の百分率)など、多数が含まれます。
-
カスタムフォーマッター
分析関数はデータ自体を変更できますが、フォーマッターはデータをエンドユーザーに表示する方法を制御します。カスタムフォーマッターAPIを使用すると、このプロセスに独自の関数を提供できます。ひとつの例として、電話番号表示を国コードに基づき変更する機能があります。アメリカの場合:(123) 456-7890に対して、オーストラリアの場合は:(12) 3456 7890
Yellowfin テーブルはHTMLでレンダリングされるため、カスタムフォーマッターを使用してHTML形式でデータを返すこともできます。これを使用することで、イメージ、アイコン、スパークラインなど、より視覚的な表示を作成できます。
カスタムフォーマッターはJavaでコーディングされ、jarファイルとしてパッケージ化して、Yellowfin プラグイン管理を通してアップロードされます。アプリケーションにロードされると、すべてのレポートで関数を使用できるようになります。
コーディングの詳細は、こちらを参照してください。