生まれつき文系で諦めたくなったあなたへ ~計算フィールドに慣れる~|DATA Saber
関数の引き出しを増やす
当たり前のように計算式が出てきて、怖気づいてしまいました。
計算フィールドで関数を選べばガイドが出ますが、初めて書いてみる計算式に戸惑います。
まずは理解しやすい日付関数をまとめましたので、苦手意識がある方は覗いてみてください。何ができるかわかれば、困ったときは「計算式を書けばいい」と気づくことができます。
慣れておきたい感覚
データ処理初心者の我々が初歩の初歩に慣れておくべきは「値を返す」という感覚かなと思います。tableauの操作とは直接関係はないですが、初心者の敬遠ポイントの1つだと思うので、簡単に書いておきます。
引数(ひきすう)と返り値(かえりち)
コンピューターとは今も昔も計算機です。魔法のような高速処理も中身は全部計算でできています。
私たちがお願いしたいことと使いたい材料を用意すると、コンピュータが処理をして結果を表示してくれます。
tableauの説明ページを読んでいると難しそうな単語が普通にでてきますが、やさしい言葉にするとこんな感じです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
関数:お願いしたいこと
引数:使いたい材料
返り値:結果
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
お願いしたいこと「関数」は定型文とか算数の公式のようなもので、コンピューターが「やること」は決まっているので、私たちは材料「引数」を渡して、計算の答えが出てくるのを待つスタイルです。
結果が表示されると「ああ、(私が渡した材料が計算されて)返ってきたー」と言います。「戻ってきた」と言うこともあります(戻り値とも言います。同じ意味です)。
「値を返す」の感覚、何となくわかりましたでしょうか。
tableauでよく見かける日付関数
DATEDIFF
関数「お願いしたいこと」:日付の差を返してね。
引数「日付部分」:はて。もう意味が分かりづらいです。
これは「date_part」の翻訳のようです。私は歌でいうソプラノパート、アルトパートのpartのイメージでとらえました。日付のデータが2015/1/1という構成になっているので、どのパートで計算すればいいか教えてあげます。
「○日」なのか「○月」なのかなど。
計算式を書くときに、文字列はシングルクォーテーションかダブルクォーテーションで囲む、というルールがあります。
囲みがないと、例えば製品名に数字が入っているものに何らかの処理をするとき、文字列の5なのか、整数の5なのか、コンピューターがわからなくなって対応できない、ということがあり得ます。
仮に「12345(いちにさんしご)」という名前の製品があったとします。これは見た目は整数ですが、人間的には文字列として扱いたいですね。でもこのままコンピューターに渡してしまうと、整数と文字列の判別がつかないので「いちにさんしご」ではなく1万2千3百4十5という整数として認識しまうというわけです。なので、文字列には必ずちょんちょんをつけて判別できるようにしてあげてください。
ひらがなでもアルファベットでも、文字列には同じようにクォーテーションを入れます。「ひらがなは見ればわかるやろ」はコンピューターには通用しません。1つルールを決めたらそのルールで通しましょう!
今回は「'day'」「'month'」などと入れるのが正解です。
引数「開始日」:引く方
引数「終了日」:引かれる方
ここはそのままですね。オーダーしてから出荷までの日数を出す場合は、開始日がオーダー日、終了日が出荷日になります。
引数「週の始まり」:また「はて?」となりますね
これは省略可能だそうです。date_partを'week'にしたとき、週始めを何曜日にするのか指定できます。日曜始まりのカレンダーに見慣れていますが、不動産業界なら金曜始まりで指定したいかもしれませんね。
返り値「結果」:この関数は整数型で返ってくるので、引き算の結果が「4」「3」など数字で表示されます。
DATEADD
お願いしたいこと:足した日付けを返してね
日付部分:もう怖くない。「どのパートを?」を教えてあげる
間隔:足す数を伝えます。マイナスの数字を足すこともできます。
日付:わかりづらいですが「どこに足すか?」を教えてあげます。
返り値例:DATEADD('month',-2,[オーダー日])
オーダー日から2ヵ月分引いた日付を表示することができます。
DATEPART
お願いしたいこと:指定した暦の単位で返してね
暦の単位:あれ!date_partの翻訳ですか!? 全部この言い方だったらわかりやすかったかも・・年とか月ですね。
日付:先ほどと同じ。今回は「どこを返すか?」を教えてあげます
週の始まり:不要な場合は無視しましょう。
よく使う実例は年(オーダー日)のピルの中身です。ダブルクリックするとDATEPART('year', [オーダー日])と書いてあります!計算式にはピルごとドロップしちゃうと早いです。
計算フィールド上でヒントが出ますので、暗記しなくても理解できていれば問題ないです。慣れれば使いこなせるはず。書いているうちに苦手意識が薄れてきました。他の苦手も頑張ろう。