【MotionBoard】「収益認識に関する会計基準」のシミュレーションをMotionBoardでやってみた(あるいはMBviewの結合条件式の使い方)

タイトル長ぇ。
会計基準云々に興味がなくても、MBviewで結合条件式を使ったことがない方は見てみてください。

★第9回★「収益認識に関する会計基準」のシミュレーションをMotionBoardでやってみた(あるいはMBviewの結合条件式の使い方)

●2021年度から会計ルールが変わる……そこで経理から依頼された内容

ある日、経理からこのような依頼をされました。
ざっくり言うと「サービス期間を持つとある商品を、売上月に売り上げるのではなく、サービス期間で按分した金額で毎月売り上がるようにした場合の、売上金額のシミュレーションをしたい」というものでした。
例えばサービス期間が1年間の商品を12,000円で11月に売り上げた場合、今までは11月に一気に12,000で計上していたものを、1年間毎月1,000ずつ売り上がるようにする、というものです。

図解すると、こんな感じ。

画像11

来年度からこう変わるので、「今年度もこの会計基準だったら、今年度の売上はいくらだったのか?」をシミュレーションして、来年度の売上の予測を立てたいというものでした。

経理でもExcelを使ってやってみようとしたらしいのですが、大量のデータでExcelが動かなくて作業が進まず……とのこと。
ぱっと聞いた感じ、MotionBoardのMBviewでできそうだなぁと思い、作業開始。

●まずは月数テーブルを準備する

MotionBoardでの作業に入る前に、Excelで月数テーブルというものを用意しました。
何のために作るの?というのはこの後の手順でわかってくるかと思います。
月数テーブルには、単純に「月数」だけを格納した表を準備してください。
こんな感じ。

画像2

この月数の上限は、取り扱っている商品のサービス期間の上限です。
例えば最長で10年サービスの製品があるのでしたら、10年×12か月=120月数になります。
これで準備OKです。

●MBviewの結合に使うデータソースを準備する

ではMotionBoardでの作業になります。
新規にボードを作成したら、先ほどの月数テーブルをボードにUPして、月数テーブルのデータソースを作成します。
(ちなみにMBviewで使うデータソースには、頭に『MBview用』と名前を付けるようにしています)

画像3

そして、もうひとつシミュレーションしたい売上のデータでデータソースを作成します。
今回は売上のデータがDetaStrageにあったので、DetaStrageからデータを取ってきます。

画像4

で!
この売上のデータで、サービス期間を月数で表す項目と、ひと月当たりの計上金額を表す項目を準備します。
サービス期間が1年間なら12、3年間なら36、と、月数だけの項目を作成します。
期間がサービスの開始日と終了日しか持っていないデータなら、MONTHS_BETWEEN関数で月数を算出します。
私の場合は後者でしたので、MONTHS_BETWEEN関数とROUND関数を組み合わせて月数を出しました。
(※追記:MONTHS_BETWEEN関数はcloud版でしか推奨されていないようです。またDr.Sumでも使える関数ですので、Dr.Sum使用していればオンプレ版でも使用できるようです)
・サービス期間を月数で表した項目(以降、「按分する月数」)

画像5

・ひと月当たりの計上金額を表した項目(以降、「ひと月あたりの売上」)

画像6

(売上金額を月数で割って、CEIL関数で切り上げています)

●MBviewで結合、自由入力結合条件式を設定

ではMBviewで新規にデータソースを作成します。
(MBview自体が初めて!という方、確か初期設定が必要だったはず……そこはMotionBoardの公式のマニュアルを見てね)

ファクトテーブルに「売上」のデータソース、ディメンションテーブルに「月数テーブル」を指定します。
で、結合方法なのですが、売上のファクトテーブルの上部にある、丸の中の青い矢印を、ドラッグ&ドロップでディメンションテーブルの上部まで伸ばします。

画像7

そうすると、リレーション設定の画面が出てきます!
そこの自由入力結合条件式に、こちらの式を記入します。

"T1"."按分する月数" >= "T2"."月数"

画像8

これ、どういうことかと言いますと『按分する月数分、月数テーブルと結合する』という式になっています。
つまり、こういうデータができあがります。

画像9

いい感じにデータが増殖しますねーーー!!!
これでMBviewのリレーションはOK!

そして、データソースエディタで、『按分されたときの売上月』となる項目を計算します。
方法は簡単で、当初の売上月に、月数テーブルの月数分、月を足してあげれば良いのです。
DATEADD関数で出すことができます。

画像10

(項目名は「予想の売上計上月」としています)

後は、この「予想の売上計上月」を行項目に、「ひと月当たりの売上」を集計項目として表チャートを作れば、売上が按分された場合のシミュレーション表が完成するわけです。

画像11

ひゃっほい!!
(必要に応じて、検索条件に計上年度とか入れたりはしました)

●終わりに

仕組みがわかっていれば、20分もかからず作れてしまうかと思います。
ちなみにMBviewの結合条件式を使う方法、1年以上前にウィングアークさんのユーザーコミュニティであるnestで、ウィングアークさんの中の方に教えていただいたっきり、1回しか使ったことがなかったのですが……

まさかこんなことろで再び役に立つとは!

使用頻度は少ないけれど、結構重宝する結合方法なので、覚えておいて損はないかと思います。

この記事が気に入ったらサポートをしてみませんか?