例) DEPT!@CUR!TYPE.Label = "PRODUCTION" (1)
元帳マスク
ワークグループタイプのアプリケーションでは、元帳マスクは利用できません。 |
元帳マスクとは何か
「元帳マスク」は、元帳上の入力可能領域を指定するための設計オブジェクトです。元帳マスクを用いれば、特定の条件を満たさないセルへの入力を禁止することができます。
マスク条件は、「マスク条件式」という構文を用いて設計者が記述します。
マスク条件式
マスク条件の判定は、個々の元帳セルごとに行われます。あるセルについてマスク条件式の値が「True」であれば、そのセルへの入力が許可されます(他の事情により入力が禁止されることもあるため、正確に言えば「そのセルへの入力が許可される」のではなく、「マスク条件式は、そのセルへの入力を禁止しない」ということになります)。
マスク条件式が指定されていない場合は、どの元帳セルについても「True」となるマスク条件が指定されたものとみなされます(したがってマスク条件によって入力が禁止されるセルはありません)。
マスク条件式の記述方法
マスク条件式はテキスト式の方言のひとつです。詳細な文法についてはテキスト式の解説をご参照ください。ここではマスク条件式の特長に加えて、よく使われる記述の例をいくつかご紹介します。
特長
マスク条件式では、「現在のメンバ」は、検査対象である個々の元帳セルに結びついたディメンションメンバを意味します(前述したように、マスク条件の判定は、個々の元帳セルごとに行われます)。
たとえば、#ACCOUNT!@CUR
と記述すれば、検査対象の元帳セルに結びついた勘定科目ディメンションメンバを取得できます。このようにして、いったん「現在のメンバ」を取得すれば、そのラベルやプロパティを用いて様々なマスク条件を記述できます。
同様に、検査対象の元帳セルに結びついた元帳が「現在の元帳」となります。現在の元帳は Ledgers!@CUR
で取得することができます。
記述例
(1)ディメンションメンバのプロパティ値による条件判定
1 | 元帳セルに係る部門(DEPT)ディメンションメンバの TYPE プロパティ値ラベルが「PRODUCTION」であること |
式の要素 | 意味 |
---|---|
DEPT |
「 |
DEPT!@CUR |
上記ディメンションの「現在のメンバ」 ⚠マスク条件式で「現在のメンバ」とは、対象元帳セルに関わるメンバの意味です。 |
DEPT!@CUR!TYPE |
上記メンバの「 |
DEPT!@CUR!TYPE.Label |
上記「 |
= |
左辺と右辺の値が等しいことを検査する |
"PRODUCTION" |
文字列 "PRODUCTION" |
なお、.Label を省略して、上述の式を次のように書くこともできます。
DEPT!@CUR!TYPE = "PRODUCTION"
(2)ディメンションメンバのラベルによる条件判定
例) DEPT!@CUR.Label <> "RD" (1)
1 | 元帳セルに係る部門(DEPT)ディメンションメンバのラベルが「RD」でないこと |
式の要素 | 意味 |
---|---|
DEPT |
「 |
EPT!@CUR |
上記ディメンションの「現在のメンバ」 |
DEPT!@CUR.Label |
上記メンバのラベル |
<> |
左辺と右辺の値が等しくないことを検査する |
"RD" |
文字列 "RD" |
なお、.Label を省略して、上述の式を次のように書くこともできます。
DEPT!@CUR <> "RD"