2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【PBCS】ビジネス・ルール:値代入時の注意点

Last updated at Posted at 2019-04-12

ビジネス・ルールでの値代入の方法

①DATACOPYコマンドの使用

【特徴】
・代入元→代入先への直接代入に有効
・代入先がブロックが生成されていない(使用されていない)交点の場合
 自動的にブロック生成されて値が代入される

【コマンド例】

/* 予算から実績に値を一括コピー */
DATACOPY Budget TO Actual;

②式による代入

【特徴】
・代入元→代入先に代入する際に任意の計算を含む際に有効
・代入先がブロックが生成されていない(使用されていない)交点の場合
 ブロックは自動生成されない

【コマンド例】

/* 予算から実績に値を一括コピー(その際予算の2割掛けを行う) */
Actual = Budget * 1.2;

式代入時のブロック生成

式での代入時には、ブロックがない交点に自動生成されることがないため
明示的にブロックを生成する必要がある
(ビジネス・ルールのジョブは成功するが、
生成されていない交点に値は入らない)

試行錯誤したところ、以下の条件でブロック生成と値の代入が出来た

①ブロックが1つも生成されていないメンバーはFIXに含めず、式にてメンバー指定すること
②式の右辺で掛け計算を行うこと

【例】
以下のような次元構成の時に、4月の売上予算の3割増しの金額を同月の売上実績に代入したい場合

次元名 メンバー
Years(年度) FY19(2019年)
Entity(組織) Osaka(大阪支社)
Version(バージョン) Working(作業用)
Account(勘定科目) Sales(売上)
Period(月) April(4月)
Scenario(シナリオ) Budget、Actual(予算、実績)

image.png


/* ↓ブロックが生成されている次元のみをFIXに含める */
FIX ("FY19"
,"Osaka"
,"Working"
,"April"
)

  /* 式の右辺で掛け計算を行う(直接代入のときは*1にする) */
    "Sales"(
        IF (@ISMBR("Budget"))
        "Actual"="Budget"->"Sales" *1.3;
        ENDIF
    )

ENDFIX

【実行結果】

image.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?