Skip to main content

次にような断面でデータがあります。当月以降の在籍数見込値を算出するためにPrep/Desktop両方で、行追加など色々試していますが上手くいきません。新たに作るデータに日付を持たして前月と当月の数値を組み合わせた数字を作る方法について、どのようにするとよいかお知恵を頂ければ幸いです

データイメージとしては次のような内容です。カテゴリーはA~Fといったように同じ内容であります。

毎月更新をかけ、前月末数値から当月以降の入出庫数に基づきREを作成していくイメージとなります。​

年月 カテゴリー 項目 数字​

2022/1​ A 在庫数 1000​

2022/1 A 出庫数 50

2022/2 A 入庫数 100

2022/2 A 出庫数 100

2022/2 A 在庫数 ←このデータは年月等すべての項目含めありません(エクセルで行うと 2022/1 在庫数ー2022/1 出庫数 +2022/2 入庫数 という式を組みます)

2022/3 A 入庫数 50

2022/3 A 出庫数 20

2022/3 A 在庫数 ←上記同様にデータは存在なし​

ダッシュボードで見せたい形式

年月 2022/1 2022/2 2022/3 ・・・・・

実績​ 見込 見込

在庫数 1000 1050 1000

出庫数​ 50 100 20

入庫数 100 100 50

出庫数は該当月の在庫数には含まれています。翌月の在庫数は前月の在庫ー出庫+当月の入庫

となります。

よろしくお願いいたします。​

 

  •  
답변 1개
  1. 2022년 4월 23일 오전 5:18

    例示していただいたデータの範囲で考えるとPrepで整形する必要は必ずしもありませんが、

    ​>>2022/2 A 在庫数 ←このデータは年月等すべての項目含めありません

    とのことで​在庫数のレコードそのものが存在しないとDesktop上での作業が少し面倒になるので、Prepで「項目×年月」の組み合わせを持たせる事前処理を行うのがよいでしょう。加工の仕方は実際のデータのレイアウトによって変わってきますが、最終的に次のような形で各年月の在庫数がNullになっている行を生成できればよいです。

    例示していただいたデータの範囲で考えるとPrepで整形する必要は必ずしもありませんが、​>>2022/2 A 在庫数 ←このデータは年月等すべての項目含めありませんとのことで​在庫数のレコードそのものが存在しないとDesktop上での作業が少し面倒になるので、Prepで「項目×年月」の組み合わせを持たせる事前処理を行うのがよいでしょう。加工の仕方は実際のデータのレイアウトによって変わってきますが、

    ご参考までに、このサンプルデータでの整形方法を書いておくと、

    imageのようになっています。3番目の「列に展開」のステップであえて項目を横持ちにピボットし、

    image

    次の4番目のステップで縦持ちにピボットし直すことで、在庫数がNullのレコードを追加することができます。

    image

    こうしてできたファイルをTableauDesktopに接続し、いくつか計算フィールドを作成します。今回は最終的なレイアウトとして「在庫数/出庫数/入庫数が縦に並んだ表」を目指していますので、LOD表現のExcludeを使用して各項目の値を抜き出せるようにしておきます。

    image

    そして、Excelでやっている計算をまた別の計算フィールドで再現します。Excelの場合は再帰処理、つまりセルの計算結果を次のセルの計算に使用するということを行っていますが、Tableauでは似たようなことをPREVIOUS_VALUE関数を使って計算することができます。

    image

    image

    これでサンプルデータの範囲では求める結果になっていますが、いくつか補足があります。

    ・​このサンプルはカテゴリがAしかありませんが、B以降の複数のカテゴリがあるときはPrepでの事前処理のやり方や表計算の範囲の取り方を適宜調整しなければならない場合があります。

    ・今回の在庫のローリングは「初期在庫から出庫の累計を引いて入庫の累計を足す」のと同義ですので、RUNNING_SUM関数を使用することでも再現できます。

    ・​Prepの4番目のステップで列から行に(縦持ちに)戻さずにメジャーネームとメジャーバリューを使う方法もあります。この場合、Excludeを使用した計算フィールドを作る必要がなくなります。項目を縦に持つか横に持つか、ワークブックのその他の要件によってどちらが適しているのかが変わります。

    ・Prepで事前処理を行わずに計算する方法もあります。基本的な考え方はここで示したものと同じですが、在庫数のレコードのない​場所に在庫数の見込みを表示させるため表計算を重ねる手間が必要になり、表計算に慣れていない場合はやや難解になります。

    詳細は添付のワークブックをご確認ください。​

0/9000