そーす

福岡在住のプログラマ。SwiftとかKotlinとかJavascriptとかSketchとか触ってます。

Redash外で閲覧画面を作る

f:id:saburesan:20170112205438p:plain

RedashのDashboardは使いづらいです(個人的には

なぜなら縦横幅が基本固定値で横に最大でも2個しか並べられない仕様だからです。(グラフに関しては縦幅を変更出来ます)

Redashは作ったグラフなどを外部でも表示できる機能を提供しています。

やり方

外部に表示したいクエリの画面へ行き、グラフを選択します。

左したに[Embed]というリンクがあるのでクリックすると

f:id:saburesan:20170118181606p:plain

このような画面がでるので、このiframeのタグか、画像URLをimageタグのsrcとして使うと外部サイトでも読み込むことが出来ます。

iframeと画像での機能の違いを説明します。

iframe

メリット

iframeで読み込む場合、Dashboardと全く同じGUI機能が提供されます。

f:id:saburesan:20170118182449p:plain

リロードも設定どおりで行ってくれるので組み込むのが楽です。

デメリット

iframe自体に縦横の設定は出来ますが、縦横にスクロールする形でスケールされます。

f:id:saburesan:20170118182827p:plain

設置エリアが狭い場合はスクロールして見る必要があります。

画像

メリット

縦横幅は自由に変更出来ます(もちろんアスペクト比がおかしくなると歪みますが)。

f:id:saburesan:20170118184218p:plain

なので、管理画面などで横4つとかならべることもできるので1画面に複数置きたい場合などに便利です。

デメリット

Dashboard上で扱えるようにGUI機能は全くありません。画像ですからね。

更新がされない訳ではなく画像のソース自体は同じURLで更新されるので、反映させるにはページをリロードする必要があります。

まとめ

Redahのグラフを外部で表示する場合のメリット・デメリットを説明しました。 私の会社では1画面に14のグラフを画像で並べて常に表示するディスプレイがあります。更新はJSでリロードさせています。 こういう使い方の場合は画像の方がいいでしょう。 すべてのグラフを使ったことがあるわけではないので多少間違いがあるかもしれません!