2 Replies Latest reply on Mar 18, 2020 7:46 PM by Satoshi TANIMOTO

    社員が同じ部門に所属していた年数を出したい

    Satoshi TANIMOTO

      以下のようなデータがあるとします。

      年月社員部門
      2015/1/1aA
      2016/1/1aA
      2017/1/1aB
      2018/1/1aB
      2019/1/1aA
      2020/1/1aA
      2015/1/1bA
      2016/1/1bA
      2017/1/1bA
      2018/1/1bB
      2019/1/1bB
      2020/1/1bB
      2015/1/1cC
      2016/1/1cB
      2017/1/1cB
      2018/1/1cB
      2019/1/1cB
      2020/1/1cA

       

      このデータから、Tableauを使って、以下のような表を得たいです。現在所属している部門に何年間所属しているかを計算するものです。

      (現在:2020年とします)

      社員滞留年数
      a2
      b3
      c1

       

      累計のRUNNING_SUMとか色々試してみましたが、うまくいきません。

      特に社員aのように元の部門に戻ってしまった場合、2015年からの累計(つまり4)になってしまいます。

       

      何か良い方法はありますでしょうか?

      よろしくお願い致します。

        • 1. Re: 社員が同じ部門に所属していた年数を出したい
          shuhei saito

          「現在の部門」が社員ごとの日付が最新のデータの部門を指すものだとして、且つ社員ごとに1年に1度記録されているという前提でよいでしょうか。

          それならばLOD表現か表計算で実現できます。

           

          LODは式が少し複雑(ネストがある)だけど最終的なビューがすっきり収まる、表計算は式は単純だけど最終的なビューの操作が面倒という、それぞれの利点欠点があります。

          どちらかお好きな方で試してもらえれば良いですが、個人的にはLOD表現のほうが色々と扱いやすいと思います。

           

          <LOD表現の場合>

          まずは現在の部門を知る必要があります。社員ごとの最新日を取って、そのレコードが持つ部門を取得します。

          ただこれだけを使って年数を数えると、社員aのように以前同じ部門に居て出戻りがあった場合に正しく計算できません。

          そこで、一つ前の部門にいた最後の時期を知る必要があります。

          これが分かれば、あとは一つ前の部門にいた時期よりも後の年数を数えればよいです。

           

          <結果>

           

           

          <表計算の場合>

          表計算を使う場合はまずビューを作るところから。社員と年月と部門を並べておきます。(本当は部門は必須ではないですが、見て分かりやすいように入れています。)

          ここで最後に部門が変わってからの年数を数えるのですが、今回のように「特定の場所で累計にリセットをかける」ときはPREVIOUS_VALUEの関数を使用します。

          表計算関数 - Tableau

          次の式は、部門が一つ前の行の部門と同じだったら+1して、違う部門に変わっていたら1にリセットするという内容です。

          これをビューに入れて、表計算の編集画面で特定のディメンション→年月と部門にチェックを入れてください。

          これで部門が変わるたびに値がリセットされます。

          必要なのは社員ごとに最後の行だけなので、LAST関数を使って最後の行だけを表示します。

          次の式を作ってフィルターに入れ、真のみを保持します。LAST関数も表計算なので、滞留年数と同様に年月と部門を使って計算します。

          あとは不要なヘッダーを非表示にすれば社員ごとの滞留年数が表示できます。

          <結果>

          1 of 1 people found this helpful
          • 2. Re: 社員が同じ部門に所属していた年数を出したい
            Satoshi TANIMOTO

            やりたいことが何とか実現できそうです。助かりました。

            また、LODの方が確かに扱いやすいですね。

            ありがとうございました。