折れ線グラフでのランキング表示

バージョン
elasticsearch : 5.2.2
kibana: 5.2.2

kibanaで折れ線グラフでランキング(1位を上に)を表示できますでしょうか。
現在は、ランキングの重みづけを独自で行っており、その重み付けでグラフを表示しています。
例) 1-100位までの重み付け:1位→100、20位→80、100位→1

ですが、ユーザから、本当のランキングの順位で見たいとの要望があがってきました。
Excelでは、Y軸の表示を反転させるような機能がありますが、
kibanaではそのような機能が見つけられませんでした。
解決策の他、アイデア等ございましたら、ぜひご意見、ご教授のほど、よろしくお願いいたします。

既存のグラフの詳細イメージがいまいち掴めていないのですが、
ダミーデータ等でKibanaのVisualizeのスクリーンショットか設定値を以下の既存設定例のようにして公開することは可能でしょうか。
あるいはExcelでテストデータを使ったグラフ等で、
イメージをいただければもう少し検討出来る気がします。
※物によりけりだと思いますがぱっと聞いた印象ですと、
Split ChartでSubAggregatetionをTerms、Fieldを重み付けの値にして
Order ByをTerms、OrderをDescendingにすれば行けるかも?と思いました。

既存設定例1:KibanaのVisualizeの設定値

* metrics
  * Y-Axis
    * Aggregation: Max
    * Field: 重み付け(integer)
* Split Lines
  * Sub Aggregation: Terms
  * Field: ホスト名(keyword)
  * Order By: metric: Max 重み付け
  * Order: Descending
    * Size: 5
* buckets
  * X-Axis
    * Aggregation: Date Histogram
    * Field: @timestamp
    * Interval: Auto

既存設定例2:各種製品の重み付けデータを時系列で折れ線で表示@Excel

他にも商品D〜商品Zまで種類がありますが、
0:01 - 0:15までのタイムレンジで重み付けの合計値が大きい順番でTOP3だけ表示

st_1t様、アドバイスありがとうございます。
提示情報が少なく、申し訳ありません。
あるアイテムの日毎のランキングを表示したいと考えております。
アイテムは陳列ジャンルが分かれており、どのジャンルでの売れ行きが良かったのか、などといった事も見れるようにしたいのです。

現在のkibanaでの表示は以下のようになっております。

  • metrics

  • Y-Axis
    *Aggregation: Min
    *Field: ranking(ランキング順位そのもの)

  • buckets

  • X-Axis

  • Aggregation: Date Histogram

  • Field: timestamp(ランキング日付)

  • Interval: Daily

  • Split Lines

    • Sub Aggregation: Terms
    • Field: GenreName(アイテムのジャンル)
    • Order By: metric: Min ranking
    • Order: Descending 5

ですが、この状態では、本来ランキング上位にあるアイテムが下の方に表示されてしまいます。

Excelの場合、以下のような形を想定しています。

Y軸を反転させ、値が小さいものの方を上位に表示させたいのです。
何かアドバイス等ございましたら、ご教授のほど、よろしくお願いいたします。

うーん、なるほどです。
確かにやりたいことに合うものを今すぐ用意するのは難しそうですね:cold_sweat:
ただ、若干見栄えはよろしくないし力技感があるのですが、
Y-Axisで使っているranking FieldをScripted Fieldで処理して新フィールドを使ってグラフ表示する方法があります。
以下方法を使えば-1から-100までの値になってそれっぽい表示はできますが、
符号が逆転してしまうのが悩ましい感じですね。。。

例:ranking Fieldの範囲が1 -100までとした場合

データ例

  • データ例(生データ)
    • 総合:55
    • 女性:44
    • 少女:16
  • データ例(加工後の新データ)
    • 総合:-46
    • 女性:-57
    • 少女:-85

Scripted Field例

name: reverse_ranking
lang: painless
script: doc['ranking'].value - 101

Scripted Fieldについてはこのあたりを見てもらえれば良いかと思います。
https://www.elastic.co/guide/en/kibana/current/scripted-fields.html

参考までに、Kibanaでの設定画面のスクリーンショットを載せておきます。

st1t 様、アドバイスありがとうございます。
やはりkibanaではY軸反転表示は難しいようですね。
scripted field の案は自分では分からなかったので、大変参考になりました。
ユーザには事情を説明し、次善策を考えたいと思います。
また分からない事がありましたら、よろしくお願いいたします。
失礼いたします。

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.