時系列グラフの表示範囲の指定UIに
「デフォルトは直近X日を表示し、必要な時にカレンダーで任意の日付を指定できる」
といったものをよく見かけます。
しかし、Tableauの日付フィルターで同等のことはできないんです。
「直近X日を表示」は日付フィルターの設定を「相対日付」でできます。また、「任意の日付指定」は設定を「日付の範囲」でできます。
しかし残念なことに、「相対日付」と「日付の範囲」を同時にすることができないんです。
ただ、工夫をすれば可能で、以前にその方法を下記記事にまとめました。
しかし、今はもっと良い別の方法があるので、今回はそちらを紹介したいと思います。
手順
開いた時の日付の作成
計算フィールド
で、ワークブックを開いた時の初期の日付を作成します。
「1週間前」の日付を作成
「今日」の日付を作成
「開始日」と「終了日」パラメータの作成
パラメータ
で、「開始日」と「終了日」を作成します。
その際、ワークブックを開いた時の値を、先程計算フィールド
で作成した「1週間前」と「今日」にします。
日付のフィルターの条件を設定
日付をフィルターに入れて、条件をパラメータ
の「開始日」から「終了日」までにします。
完成
ワークブックを開いた時は「1周間前」から「今日」までになります。
「開始日」と「終了日」を任意の日付に変更することができます。
複数のデータソースで共通の範囲を使用する
データソースの中で日付の計算フィールド
を作成すると、他のデータソースを先に開いた場合、まだ計算フィールド
の計算が行われていないため、他のデータソースでは日付の範囲がうまく機能しません。
そういった、複数のデータソースで共通の日付範囲を使用するには、日付共有用のデータソースを専用に用意するとうまくいきます。
共有データソースを作成
共有データソースを作成し、その中に共有するIDを追加します。
日付の作成
共有データソースの計算フィールド
で日付を作成します。
また、パラメータ
のワークブックを開いた時の値を、共有データソースで作成した計算フィールド
になるようにします。
共有IDの作成
使用するデータソースの計算フィールド
で、共有データソースの共有IDと同じIDを作成します。
そして、使用するデータソースの共有IDと、共有データソースの共有IDをリンクさせます。
以上です。
これで、どのデータソースを開いても、最初にリンクしている共有データソースの日付の計算フィールド
が計算されるので、複数のデータソースで共通の日付範囲が適用されるようになります。
感想など
以前と比べてかなり使いやすくなりましたが、やっぱりデフォルトの機能としてあるとすごく便利なんですけどね。