Tableau で Calendar その 4 (全部で4)今日は Videoつきだよん。

ようやく最後です。

見せ方の体裁をもう少し整えます。

Dashboard を使えば、ある程度見栄えのよいものはできますが、ひとつのシートでできる範囲のものに、焦点を絞ります。

最大のポイントは、月の名称をどのように表示させるかです。

まず、Header を全て消すと、下記のようなVIZになります。

f:id:skn_0410:20160708093042p:plain

修正したいことを先に挙げます。

  • 曜日表示を短くする
  • 月の区分(切れ目)を分かりやすくする。
  • 「何月」の表示を入れる

↑ これだけやろうと思います。

<曜日表示を短くする>

 曜日の名前は、以下のFormulaで入力されています。

[Weekday Name]
datename('weekday',[Calendar Date])

 datenameは、文字列扱いです。

ですので、Mon、Tue などの3文字表記にするために、以下のように変更します。

[Weekday Name]
left(datename('weekday',[Calendar Date]),3)

 

f:id:skn_0410:20160708093933p:plain

直りました。

水平方向の表示位置が、真ん中のほうが、いいかな?

Header 位置で右クリックして、Format を選択します。

f:id:skn_0410:20160708094041p:plain

Header の Alignment を選択します。

f:id:skn_0410:20160708094156p:plain

水平垂直とも、中央を選んでみます。

f:id:skn_0410:20160708094256p:plain

f:id:skn_0410:20160708094344p:plain

ちょっとマシですね。

忘れないうちに、見やすいように、以前に設定した、土日の赤色も追加しておきます。

f:id:skn_0410:20160708094533p:plain

f:id:skn_0410:20160708094606p:plain

少し見れるようになってきました。

 

次です。

<月の区分(切れ目)を分かりやすくする>

罫線の話です。土日を赤くしたら、ある程度は分かりますが、やはり月単位の罫線は欲しいです。

表の中の任意の位置で右クリック、Formatを選択します。

f:id:skn_0410:20160708094838p:plain

f:id:skn_0410:20160708094930p:plain

左上のアイコンが、Format 対象を示しています。

f:id:skn_0410:20160708095120p:plain

こいつが罫線です。

f:id:skn_0410:20160708095243p:plain

列(縦方向)の罫線を変更したいので、Column Devider を変更します。

ここで、Level を分かりやすくするため、Headerを戻してみます。

f:id:skn_0410:20160708095711p:plain

列方向には、3レベルのHeaderが設定されています。

以下にLevelごとの見え方の違いを示します。

f:id:skn_0410:20160708095847p:plain

f:id:skn_0410:20160708095935p:plain

f:id:skn_0410:20160708100014p:plain

中央のものが月単位に該当します。

もう少し太くしてもよさそうです。

f:id:skn_0410:20160708100151p:plain

以下が、罫線の出来上がり版です。罫線の色を変更することもできますが、今回は、初期のもので十分です。

f:id:skn_0410:20160708100256p:plain

さあ、月の名前表示です。

<「何月」の表示を入れる>

じつは、これには制約が多いです。Dashboard だとかなり融通は利きますが、先に書いたとおり、手間を最小限にするため、ひとつのWorksheet で実現できることに絞ります。

この場合、Header を除くと、データのないところに表示をさせることが出来ないのです。ちょっと透明性を持たせて、各月の中央あたりに表示できるとベストですが、それは無理です。

↓こういうのは無理 ↓ (ちなみにパワーポイントで重ね合わせてます)

f:id:skn_0410:20160708101029p:plain

でも、できるだけ近いことをしたいと思います。

データのあるところにしか表示できないので、月の、あるに一点だけ、表示させることにします。

「1日」を選ぶと、こんな感じです。

f:id:skn_0410:20160708101442p:plain

2段目、左端をターゲットにします。

f:id:skn_0410:20160708101652p:plain

これでもいいかもです。

真ん中にしてみましょう。

f:id:skn_0410:20160708101748p:plain

やはり、これが、いちばんマシですかね。

さて、それぞれのFormatです。

  • 毎月1日

[Show Month 1]

if [Normal day]=1
then left(datename('month',[Calendar Date]),3) END

  •  2段目左端

[Show Month 2]

if ([Weekday ID 3]=1 and [Weekday ID 4] = 2 and [Normal day] <> 8 )
then left(datename('month',[Calendar Date]),3)
elseif [Weekday ID 3]=1 and [Weekday ID 4] =1 and [Normal day] = 1
then left(datename('month',[Calendar Date]),3) END

  • 真ん中

[Show Month 3]

if [Weekday ID 3]= 4 and [Weekday ID 4] = 3

then left(datename('month',[Calendar Date]),3) END

それぞれ、日付の属性や、Header の属性をうまく工夫して、所定の位置を特定させていることがご理解頂けると思います。

地味に重要なのは、月にひとつしか表示させないことを徹底することです。2段目左端でだいぶ苦労しました。

最後に、Text の配置 です。

日付の情報 1~31と、上記の月の名前を両方 Label にDrag します。

このとき、実は、全ての日付のLabelにも、月の名前が添付されています。

しかしながら、月に一日以外は「null」になっており、どこにも表示されずにいるだけです。

f:id:skn_0410:20160708102607p:plain

次に文字のFormatです。

f:id:skn_0410:20160708102911p:plain

Labelの中身は、かなり詳細設定が可能です。

追加したFieldごとにFontや色や配置が変更可能ですし、独自のText入力も可能です。

ここでは、Field ごとに、サイズ、太字、斜体、配置をそれぞれ変更しました。

Field 同士の相対位置も、平行に配置、垂直に配置と選択できることに注意してください。

表示エリアの制約によって、横に並べた方がいい時も、縦に積んだ方がいい時もあります。改行を入れるだけで、縦積みが可能です。

f:id:skn_0410:20160708103121p:plain

さらにもうひとつ、TIPS ですが、

表示を入れ替えるとき、以下の違いもあるので覚えておいてください。

 

youtu.be

 

ようやくカレンダーが終了しました。

それでは、ご自分でトライして、楽しんでください。