Exploratoryではパラメーターを利用することで、データの整形や加工などのデータラングリングにおける一連の処理を、インタラクティブもしくはダイナミック(ある部分を変更・更新することで、その変更・更新が自動的に全体に反映されるような状態)に行えます。
例えばSQLのクエリ(パラメタライズド・クエリ/パラメータ化クエリ)やフィルターのステップをダイナミックにしたり、タッシュボードの利用者が注目したいところに絞るなどして、ダッシュボードをインタラクティブに閲覧することができます。
このノートではパラメーターがどのように動くかと、パラメーターをどのようにして使うのかを紹介します。
以下4つのステップに分けて、パラメーターがどのように利用するのかを見てみます。
今回はサンプルとして、あらかじめ用意しておいた飛行機のフライトの遅延データを使っていきます。
このデータフレームでは一行一行が1つのフライトになっており、キャリア(航空会社)の名前、どの空港を出発してどの空港に到着したのか、それが何時であったのかや、出発・到着の遅延時間が何分だったかといった情報を含んでいます。
それでは実際にパラメーターを作成してみます。例えば航空会社コード(キャリア名をコード化したもの)でフィルターをするときに、ある特定のキャリアコードに固定してフィルタをかけるのではなく、状況に合わせて、ダイナミックにフィルタをかけたいとします。
そういったときは、フィルターを設定するときと同じように、フィルターのステップを作成します。
今回は複数のCARRIER(航空会社)を選択したいので、列ヘッダーメニューの「フィルタ」から、「どれかに等しい(複数の値)」を選択します。
すると、フィルタのダイアログが表示されますので、「パラメーター」を選択して、+ボタンをクリックして、新しいパラメーターを作成します
すると空のパラメーターのダイアログが表示されるので、次に「新規パラメーターを作成」ボタンをクリックします。
すると、ダイアログの右側にパラメーターの設定項目が表示されます。
ここではcarrier_codeというパラメーターを作成していきます。
なお、パラメーターの名前にはスペースやダッシュなどの特殊文字を用いることはできず、アルファベット、数字やアンダーバーのみの利用が可能となっています。
もし、日本語や特殊文字を利用したいのであれば、「表示名」として日本語や特殊文字を利用することが可能です。
今回、設定しようとしている、「CARRIER(航空会社)」の値はCharacter(文字)型なので、データ型に「Character(文字)」を選択し、複数の航空会社を入力できるように、入力タイプに「値のリスト(複数選択)」を選択します。
「値のリスト(複数選択)」をパラメーターの「入力タイプ」として設定すると、複数の値が選択できるようになり、フィルタの「どれかに等しい(複数の値)」もしくは「どれにも等しくない(複数の値)」といった演算子の中で利用することができるようになります。
例えば「AAまたはUA」のいった形で、複数の航空会社をまとめてフィルタするような航空会社コードのパラメーターを作成したいときに、この値のリスト(複数の値)は効果的に使うことができます。
なお、値のリストでは、値を手動で設定するだけでなく、特定のデータフレームの列から値を参照することも可能です。
例えば「airplane_delay_2016_09」というデータフレームがあったとして、そのデータフレームの「CARRIER」という列の値を参照したいときは、「データフレームから値を取得」にチェックをつけます。
続いて、データフレームに「airplane_delay_2016_09」選択し、データを取得するステップを選択します。
今回は「airplane_delay_2016_09」というデータフレームの一番最初のステップからデータを取得したいので、ステップに「1. ローカル・データ-CSV」を選択します。
値の列に「CARRIER」を選択します。
これで、データフレーム「airplane_delay_2016_09」の1番最初のステップのデータの「CARRIER」という列の値を使ってパラメーターを作成することができました。
このとき、デフォルトの設定では、「値の指定がない場合全選択とする」というオプションにチェックがついていますので、パラメーターのデフォルト値は全ての値が選択される形になります。
なお、「値の指定がない場合全選択とする」のチェックを外して、どの値をデフォルトの値として選択するかも指定できます。
ここでは「AA(American Airline )」と「DL(Delta Airline)」をデフォルト値として設定します。
パラメーターの設定を終えたら、保存ボタンをクリックします。
パラメーターの作成が終わったので、実際に使ってみましょう。
パラメーターの設定ダイアログを閉じると、フィルタの中で、作成したパラメーターを選択できるようになるので、パラメーターに「carrier_code」を選択し、実行します。
パラメーターを利用したフィルタのステップを追加することができました。
サマリビューから、パラメーターのデフォルト値である「AA」と「DL」にデータがフィルタされたことを確認できます。
設定したパラメーターを変更するときは、左上部のメニューまたはステップの右上部のパラメーターアイコンをクリックします。
すると、画面の右側にパラメーターを実行するためのパラメーターペインが表示されます。
インタラクティブにパラメーターの値を変更したいのであれば、値のリストから値を選択して実行ボタンをクリックします。
なおパラメーターの設定内容を変更したければ、パラメーターの隣の「設定」ボタンをクリックします。
作成したダッシュボードやノートなどのレポートにチャートが含まれる場合、Exploratoryはチャートに利用されている全てのパラメーターの情報を自動的に取得します。
そのため、ダッシュボードやノートなどのレポートでパラメーターを利用したいときにも、特別な設定は不要で、画面上部にあるパラメーターボタンをクリックするだけで利用が可能です。
パラメーターボタンをクリックすると、ダッシュボードに含まれる全てのパラメータが表示されます。
もし表示されているパラメーターの順番を変えたいようであれば、パラメータペインのレイアウトボタンから変更が可能です。
なお、パラメーターで選択した値は自動的に保存されますので、次回、ダッシュボードを開いた時にも、同じパラメーターが選ばれている状態となります。
ダッシュボードおよびノートではパラメーターは以下のように表示されます。
ダッシュボードやノートなどのレポートをチームのメンバーやビジネスパートナーに共有する際、パラメータを使うとレポートの閲覧者は自身が注目したいところに合わせてレポートを更新できるので、とても便利です。
Exploratoryでは作成したダッシュボード、ノート、スライドをExploratoryクラウド(exploratory.io )まはコラボレーションサーバにパブリッシュすることで、上記を実現します。
ただし、Exploratoryクラウドまたはコラボレーションサーバーにパブリッシュされたダッシュボードはサーバー上(exploratoyr.ioもしくはコラボレーションサーバー)でデータを処理するので、誰がダッシュボード上でパラメータ機能を利用できるかに気をつけて設定する必要があります。
そのため、パラメーターの実行権限は共有ボタンをクリックして表示をされる権限設定ダイアログにて設定が可能になっています。
このとき、「パラメーターのが利用可能」のチェックボックスにチェックがついている閲覧者にのみ、パラメーターボタンが表示されます。
また、パラメーターの利用権限が与えられたユーザーはパラメーターボタンをクリックすることで、値を変更しパラメーターを実行することができます。
以上がパラメーターの基本的な利用方法になります。ここからはパラメーターの活用方法について紹介していきます。
現在サポートされているパラメータのデータの型は以下となります。
「Character (文字列)」というデータ型では入力タイプとして、「テキスト入力」、「値のリスト(単一選択)」、「値のリスト(複数選択)」に対応しています。
「Numeric (数値)」というデータ型では入力タイプとして「テキスト入力」、「スライダー」、「値のリスト」に対応しています。
スライダーでは最小値、最大値の設定だけでなく、増減の単位を「ステップサイズ」から設定可能です。
また、スライダーでは一点の値を指定するタイプと、範囲を指定するタイプがサポートされています。
例えば、範囲を指定するスライダーのパラメーターは以下のように見えます。
「Date(日付)」というデータ型では日付を指定します。
「カレンダーからの日付の指定」や「テキスト入力」に対応しています。
「POSIXct」というデータ型では日付時間を指定します。
こちらも日付と同様に「カレンダーからの日時の指定」や「テキスト入力」に対応しています。
「Logical」というデータ型では「TRUE」、「FALSE」を指定します。
パラメーターからは「TRUE」まは「FALSE」を選択することが可能です。