Yellowfin 選定ガイド
Yellowfinは、エンタープライズアナリティクス、および組み込みアナリティクス両方のユースケースで使用され、独自のアナリティクスアプリケーションを構築します。本ガイドを活用することで、Yellowfinが要件に対して技術的に最適であるかどうかを確認できます。
ロジック&ワークフロー
-
概要
Yellowfinを使用することで、ダッシュボードに独自のロジックを追加したり、シンプルなワークフローからアクションを実行できるように、アプリケーションにワークフローを作成したりできます。これにより、新しいレポートやダッシュボードタブを開いたり、エンドユーザーがサードパーティ製アプリケーションを更新するフォームを事前に設定できるようにする高度な書き戻しアクションを実行できます。
ダッシュボードやレポートにロジックやワークフローを追加するユースケースにはどのようなものがありますか?
ロジックやワークフローの追加には、次のようなユースケースが考えられます。
- Yellowfin アプリケーション内のナビゲーション:新しいダッシュボードレポートなど、Yellowfinコンテンツを開きます。この場合、ユーザーが現在参照しているデータに基づき、より詳細なダッシュボードやレポートを開くことのできるカスタムナビゲーションを構築できます。これらのアクションにフィルターを渡すことで、コンテキストが維持されるように、ターゲットに動的フィルターを適用することができます。
- シンプルなURLを使用したYellowfin外部へのナビゲーション:シンプルなURLを使用して、Yellowfin外部のウェブサイトを開きます。
- 特定のレコードを開くYellowfin外部へのナビゲーション:リンクフォーマッターやアクションボタンを使用して、Yellowfin外部のアプリケーションを開き、特定のレコードへ移動するための変数を渡すことができます。例えば、特定のCRMレコードを、そのレコードを参照するYellowfin レポートのデータのロウ(行)に基づき開くことができます。
- 特定のユーザーエクスペリエンスの構築:Yellowfinでサポートされていない特定の機能を持つダッシュボードを構築する場合、コードモードを使用することで、これを実現できます。これには、ユーザーの選択に基づくコンテンツの動的な表示・非表示や、カスタムフィルターオブジェクトの作成が含まれます。
- アプリケーションへの書き戻し:このユースケースでは、Yellowfin内にフォームを作成し、ユーザーがサードパーティ製アプリケーションに書き戻したり、更新したりできるようにすることができます。Yellowfin レポートからひとつ以上のパラメーターを渡して、フォームを事前に設定できます。ユーザーはアクションを完了し、フォームを送信します。このタイプのアクションは、ループが完結したアナリティクスや、運用ワークフローを作成するために使用できます。顧客がより多くの製品を購入する可能性が高いというデータサイエンスモデルの予測に基づいて行動し、セールス担当者がダッシュボード内で連絡をとり、発注を更新できるようにすることが可能です。
ダッシュボードやアナリティクスアプリケーションにロジックを追加するにはどのようにすればよいですか?
Yellowfinでこれを実現する方法は様々あります。
アクションボタンを、Yellowfinの表形式レポートに追加できます。これらのボタンは、クリックをするとURLを起動するように構成できます。レポートのデータは、呼び出される前に変数としてURLに挿入できます。ロジックを追加して、レポートに表示されるデータに基づきボタンを無効にすることができます。
ロジックは、コードモードを使用することでダッシュボードに直接追加できます。コードモードは、Yellowfin オブジェクトの基礎となるコードへのアクセスを提供し、動作の変更やカスタムUIオブジェクトの作成を可能にします。これにより、例えば、カスタムコードを実行するカスタムボタンを追加できます。
コードウィジェットを作成することもでき、サーバ側でコードを実行したり、Yellowfin アプリケーション全体で再利用することができます。
開発者は、このコードを完全に制御することができ、サードパーティ製APIに接続することもできます。
開発者は、これらの機能を使用して、アプリケーション全体でワークフローを接続するダシュボードエクスペリエンスを構築できます。例えば開発者は、グラフまたはレポートテーブルから選択したデータのコンテキストを使用して、サードパーティ製アプリケーションを更新するカスタムボタンをコーディングできます。これは、CRMデータベースに新しい潜在顧客のリードレコードを作成できます。また、コードモードを使用して、異なるレポートを切り替えるボタンや、カスタムフィルターロジックなどの、カスタムナビゲーションエクスペリエンスを作成することもできます。
ダッシュボードやアナリティクスアプリケーションにカスタムコードを追加するにはどのようにすればよいですか?
これを実現するには、次の2つの方法があります。
ダッシュボードを構築する場合、ビジュアルモード(ドラッグ&ドロップ)とコードモードを切り替えることができます。コードモードには、HTML、JavaScript、CSSの3つのタブがあります。コードは、これらのタブに直接入力し、編集することができ、ビジュアルモードに切り替えることで、結果の出力を即座に確認できます。この方法で作成されたコードは、そのコードが作成された特定のダッシュボードにリンクされます。
コードウィジェットを作成することで、再利用可能なオブジェクトを作成できます。これらのウィジェットは標準的な統合開発環境(IDE:Integrated Development Environment)を使用して作成され、プラグイン管理を使用してYellowfinにインポートされます。コードウィジェットは、ダッシュボードのツールパレットとしてオブジェクトに表示されるため、複数のダッシュボードで再利用できます。コードウィジェットは、サーバ上で実行するようにコーディングすることができ、例えば外部APIに接続する場合など、より優れたセキュリティを提供できます。
ロジックはどのようにして再利用できますか?
コードウィジェットとして作成されたオブジェクトは、Yellowfin インスタンス間で共有できます。コードモードを使用してロジックを作成およびテストして、再利用可能なコードウィジェットにパッケージ化することで、任意のダッシュボードに配置することができます。
-
ユーザーエクスペリエンス
どのようなタイプのユニークなユーザーエクスペリエンスを作成できますか?
開発者は、Yellowfin コンテンツをカスタムアプリケーションに組み込むか、Yellowfinでコードモードを使用するか、いずれかの方法で、複雑なユーザーエクスペリエンスを構築できます。どちらの場合でも、Yellowfin オブジェクトの動作はJavaScript APIを使用して制御することができ、カスタムオブジェクトをコードモードを使用してダッシュボードに直接統合することも、複数のダッシュボードで共有できるコードウィジェットとして統合することもできます。
これらの機能は、カスタムナビゲーションエクスペリエンス(他のレポート、ダッシュボード、ページに移動するためのボタンやリンク)を作成したり、APIを通して外部アプリケーションを呼び出したり、高度にカスタマイズされたUIエクスペリエンス(例えば、イメージをクリックして実装されたカスタムフィルター)を作成するために使用できます。
ロジックにレポートデータを使用できますか?
JSAPIを使用することで、レポートやグラフの背後にある基礎となるデータセットにアクセスできます。このデータは、カスタマイズされた計算に使用したり、他のアプリケーションの呼び出しでパラメーターとしてアクセスし、渡すことができます。
Yellowfin内部関数を呼び出すことはできますか?
できます。JS APIを通して、多数のYellowfin内部関数を呼び出すことができます。これにより、開発者はユーザーインターフェースの動作にきめ細やかな制御を実現できます。
-
ワークフロー
Yellowfinでどのようなワークフローのタイプをサポートしていますか?
Yellowfinでは、以下のような様々なアクションやワークフローをサポートしています。
- 表やグラフからのシンプルなリンク。カラム(列)フォーマッター、カスタムパラメーターを使用して、URL文字列に値を渡すことで、他のアプリケーションを開くことができるURLを作成します。
- アプリケーション内のシンプルなボタンやナビゲーション。キャンバスやボタンウィジェットを使用して、ダッシュボードやレポートにボタンを追加したり、GUIを使用してアプリ内で簡単なナビゲーションアクションを作成したりできます。また、コードモードを使用して、これらのボタンからより多くのカスタムアクションを有効にします。
- カスタムフォーマッターを使用したカラム(列)内のアクションボタン。そのまま使用できるカスタムフォーマッターを使用して、アクションボタンを作成し、構成します。これらのアクションはシンプルで、GUIまたはカスタムJavaScriptを使用して設定でき、より高度なインタラクションに適用できます。
- コードモードを通したアクション。作成するアクションを完全に制御するには、コードモードを使用して、フォームの作成やサードパーティ製アプリケーションへの書き戻しなど、高度なワークフローを有効にします。
Yellowfin レポートからアプリケーション内の特定のレコードに移動できますか?
できます。これは、アクションボタンとURLリンクフォーマッターを使用して実現できます。これらのいずれかを使用することで、URLにパラメーターを渡し、アプリケーション内の特定のレコードを開くことができます。
ダッシュボードタブとレポートコンテンツの間に独自のナビゲーションを作成できますか?
これを実現するには、次の2つの方法があります。
- シンプルなボタンとGUIを使用して、コンテンツに移動するボタンを作成し、構成できます。
- また、コードモードでは、異なるダッシュボードタブに移動したり、Yellowfinの任意のコンテンツを開くことができるカスタムナビゲーションを作成できます。
-
書き戻しおよびトランザクション
トランザクションアプリケーションに書き戻すアクションを作成できますか?
できます。これを実現する最善の方法は、アプリケーションへのリクエストを処理するコードモードに追加されるコードウィジェットを作成することです。
ダッシュボードにアクションを統合するにはどのようにすればよいですか?
Yellowfinでこれを実現するには、数多くの方法があります。
アクションボタンを、Yellowfinの表形式レポートに追加できます。これらのボタンは、クリックをするとURLを起動するように構成できます。レポートのデータは、呼び出される前に変数としてURLに挿入できます。ロジックを追加して、レポートに表示されるデータに基づきボタンを無効にすることができます。
ロジックは、コードモードを使用することでダッシュボードに直接追加できます。コードモードは、Yellowfin オブジェクトの基礎となるコードへのアクセスを提供し、動作の変更やカスタムUIオブジェクトの作成を可能にします。これにより、例えば、カスタムコードを実行するカスタムボタンを追加できます。
コードウィジェットを作成することもでき、サーバ側でコードを実行したり、Yellowfin アプリケーション全体で再利用することができます。
開発者は、このコードを完全に制御することができ、サードパーティ製APIに接続することもできます。
開発者は、これらの機能を使用して、アプリケーション全体でワークフローを接続するダシュボードエクスペリエンスを構築できます。例えば開発者は、グラフまたはレポートテーブルから選択したデータのコンテキストを使用して、サードパーティ製アプリケーションを更新するカスタムボタンをコーディングできます。これは、CRMデータベースに新しい潜在顧客のリードレコードを作成できます。また、コードモードを使用して、異なるレポートを切り替えるボタンや、カスタムフィルターロジックなどの、カスタムナビゲーションエクスペリエンスを作成することもできます。
データウェアハウスとアプリケーションの同期を維持するにはどのようにすればよいですか?
ETLジョブは、定期的に実行するようにスケジュールを設定することも、Yellowfin Webサービスを使用する外部スケジューラーによりトリガーすることもできます。ETLジョブは、アプリケーションソースからデータウェアハウスにデータを完全に更新するために作成することも、増分更新を実行するように設定することもできます。例えば、ETLロジックは、ゆっくりと変化するディメンション(次元)の原則を実装し、選択した原則に基づき複雑なバージョンの管理ロジックを実装するように作成できます。
アクションが実行されたことを確認するにはどのようにすればよいですか?
次の2つの方法で実現できます。
- アクションボタンを変更して即座にUIを更新しながら、同時にソースシステムに書き戻しができるため、レポートを更新する必要がありません。
- Yellowfin アプリケーションで開始されたアクションは、最終的にデータベースにロウ(行)を書き戻します。アクションの証拠は、新しく変更されたデータを表示するために、レポートが更新されたときに表示されなければいけません。
-
デバッグ&エラー制御
Yellowfinでのデバッグはどのように実行しますか?
コードモードにより、開発者はアプリケーションでJSを記述できるので、ブラウザの開発ツール内でコードをデバッグできます。これを実現する最も簡単な方法は、デバッグステートメントです。
Yellowfinはどのようなエラー制御オプションを提供しますか?
Yellowfinは現在のところ、コードモードでエラー制御を提供していません。一般的に、Yellowfinのエラーは、コンポーネント自体によって制御されますが、いくつかのインスタンスでは、エラーが発生したときに、それらのコンポーネントからイベントがトリガーされます。サードパーティのコードエラーは、そのコード内で制御されます。