計算されたアイテムの属性
計算属性機能を使用すると、利用可能な dRofus フィールドを使用して動的に計算式を作成し、
追加フィールドを作成することができます。計算属性は、部屋、アイテム、オカレンス、
製品で利用でき、単純なものから非常に複雑なものまで作成できます。この方法について、
以下に説明します。 部屋の計算属性, アイテムの計算属性 や、 オカレンスの計算属性。
計算された属性フォーマットこれらはdRofus全体で同じです。
アイテム複合テキスト属性 ルールはこれらの属性と組み合わせることができるため、
作業の進め方についての基本的な理解は、スタート地点としては最適です。
計算属性を作成するには、データベースへの管理者アクセス権が必要です。
こちらを、ご参照ください。 プロジェクトとデータベース管理.
アイテム If/Then の例
Excelで複雑なルールを作成したことがあれば、if/then式には慣れているかもしれません。 IF-THENの構文は= IF (論理テキスト、真の場合の値、偽の場合の値)。最初の引数は、比較が有効な場合の処理を関数に、指示します。2番目の引数は、比較が偽の場合の処理を関数に伝えます。インターネットで検索すると、
このコンセプトの例がいくつか見つかります。この例では、いくつかのルールを使って、
アイテム・データから、いくつかの結果を引き出します。ドア計算を決定しようとしたことがあれば、
このページをブックマーク (お気に入り)してオフィスに残しておくといいでしょう。
オーストラリアのチームは、このアイデアを思いつきました。私たちは皆、アイテムのデータを、
使用して、他の意思決定に情報を提供する素晴らしい例だと考えています。
青いフィールド (アイテム・データ) を使って、赤いフィールド (計算された属性) の結果を、
通知した結果を以下に示します。
![](../../__attachments/2841444401/MicrosoftTeams-image%20(6).png?inst-v=0afdfd47-3bc6-4c62-adaf-adf72ef5899e)
5つの例はすべて、グループ・ラベルを使用してドア計算の下にグループ化されています。
以下、それぞれの例を説明:
開口部 (Clear Opening) は、引き算と、if/then式を組み合わせて、ドアが完全に開いているときに、
人や物が通過できる明確な幅を決めます。この計算では、シングル・ドアかダブル・ドアかで、
計算が異なります。
パネルAとBの幅から始めます。パネルAが0の場合、必要な寸法が未だ指名されていないため、
ドアに関しては問題ありません。次に、パネルBの幅がゼロの場合、ドアをシングル・ドアと仮定し、
計算ではパネルAからパネルの厚さ、フレーム・ストップ、および、ヒンジ (蝶番)の許容範囲を、
差し引きます。 最後に、パネルBがゼロでない場合、ダブルドアで、パネルAとBを加算し、
パネルの厚みとヒンジの許容範囲を2回減算します。
![](../../__attachments/2841444401/Picture5.png?inst-v=0afdfd47-3bc6-4c62-adaf-adf72ef5899e)
明確な開口幅は、アクセシビリティに関わる法令遵守基準によって規定されることが多く、
この例は、計画や設計の段階で不適合なドアを特定する可能性があります。
オーダー用のフレームをスケジュールする場合、パネルサイズは重要な情報ではないことが多く、
代わりに高さと幅が必要となります。そのため、以下の2つの例が参考になります:
Reveal Height (リヴィール高さ) は、パネル高さと床仕上げ代を単純に足したものであり:
必要であれば、パネル・アンダーカットと床仕上げ代を別々に組み込むこともできます。
![](../../__attachments/2841444401/Picture4.png?inst-v=0afdfd47-3bc6-4c62-adaf-adf72ef5899e)
Reveal Width (リヴィールの幅)も、if/then式 (目標達成のための行動手法)で、アイテムデータから、
パネル幅とパネル幅の許容範囲のルールを組み込んでいます。
これは、if/then式の中の、if/then式であり、最初のルールがチェックされ、その後に2つ目のルールが、
続く。もしパネル A が 0 ならば、表示の幅は 0 になります。パネルBがゼロであれば、
パネル幅の許容範囲にパネルAを加え、パネルBがゼロでなければ、パネル幅の許容範囲に、
パネルAを加え、パネルBにパネル幅の許容範囲を2つ加えた値となります。
![](../../__attachments/2841444401/Picture3.png?inst-v=0afdfd47-3bc6-4c62-adaf-adf72ef5899e)
ドアを改修したり、石積みの壁に設置する場合、構造的な開口部の大きさが要求されます。
以下の2つの例は、計算された属性をフィールドとして使用する良い例です:
Structural Height (構造的な高さ) は、単純な足し算で定義されます。
高さはフレームのアーキトレーブに加算されます。 では、高さ (Reveal Height) はどこから来ているので
しょうか?それは、別の計算属性です。そうです、他の計算式の上に計算式を構築することができます。
![](../../__attachments/2841444401/Picture1.png?inst-v=0afdfd47-3bc6-4c62-adaf-adf72ef5899e)
また、構造幅は、最初のIf/then式 (目標達成のための行動手法)で、リヴィール高さ (Reveal Height)
ことで定義されますルールは、パネルBの幅がゼロ、つまり幅がない場合
(または2枚目のパネルがない場合)、レベルの幅と、フレームのアーキトレーブを組み合わせます、
また、パネルBの幅がある場合は、フレームのアーキトレーブを2回追加し、
パネルBの幅も含めて両方のパネルに必要な幅を追加します。.
![](../../__attachments/2841444401/Picture2.png?inst-v=0afdfd47-3bc6-4c62-adaf-adf72ef5899e)
これらの例は、重要なプロジェクトの計算を、すべてのユーザーに提供すると同時に、
計算を確実に実行することを示しています。
ほとんどの計算属性は数値を中心に設計されており、デフォルトの数式は数式を構築する際に、
フィールド{0}を囲む括弧 (ブラケット)を作成します。しかし、テキスト、YES/NO、
または、リスト値を、使用したい場合もあります。たとえば、2つのテキストフィールドが、
一致するか、両方の値がTrueであるかをチェックする場合などです。
このような数式を動作させるには、括弧 (ブラケット) "{0}" の周りにシングル・クォートを、
追加して、数値ではなく文字列であることを示す必要があります。
これらの例は、アイテム計算を使用して何が可能かを、理解していただくことを目的としています。
形式 | 概要 | 例 |
---|---|---|
+ | 2つの数値オペランドの合計を返します。 (足し算) | {0} + {1} ~ 0:1, 1:4 = 5 |
- | 2つの数値オペランドの差を返します。(引き算) | {0} - 4 ~ 0:10 = 6 |
* | 2つの数値オペランドの積を返します。(掛け算) | {0} * {1} ~ 0:2, 1:3 = 6 |
/ | 2つの数値オペランドの商を返します。(割り算) | {0} / {1} ~ 0:9, 1:3 = 3 |
and | 両方のオペランドが真であるかどうかを示します。 | {0} < 10 and {0} > 0 ~ 0:5 = True |
or | オペランドのどちらか、または両方が真であるかどうかを示します。 | {0} < 2 or {0} >5 ~ 0:8 = True |
not | ロジカル・オペランドが偽の場合に真を返します。 | not ({0} < 0) ~ 0:-5 = False |
= | 左オペランドが右オペランドと等しいかどうかを示します。 | {0} = 4 ~ 0:4 = True |
!= | 左オペランドが右オペランドと等しくないかどうかを示します。 | {0} != {1} ~ 0:2, 1:4 = True |
< | 左オペランドが右オペランドより小さいかどうかを示します。 | {0} < 0 ~ 0:2 = False |
<= | 左オペランドが右オペランドより小さいか等しいかを示します。 | {0} <=2 ~ 0:2 = True |
> | 左オペランドが右オペランドより大きいかどうかを示します。 | {0} > 0 ~ 0:8 = True |
>= | 左オペランドが右オペランドより大きいか等しいかを示します。 | {0} >= 5 ~ 0:10 = True |
if | 条件に基づいて値を返す | if ( {0} % {1} = 0, ‘Yes’, ‘No’ ) ~ 0:4, 1:2 = Yes |
in | ある要素が値の集合に含まれるかどうかを返します。 | in ( {0}, {1}, {2}, {3} ) ~ 0:2, 1:1, 2:2, 3:3 = True |
Round | 最も近い整数または指定した小数点以下の桁数に値を丸めます。 | Round( {0}, 2) ~ 0:3.1415 = 3.14 |
Floor | 指定された数値以下の最大の整数を返します。 | Floor( {0} ) ~ 0:1.5 = 1 |
Ceiling | 指定された数値以上の整数のうち、最小の整数を返します。 | Ceiling( {0} ) ~ 0:1.5 = 2 |
Truncate | 数値の積分部分を計算します。 | Truncate( {0} ) ~ 0:3.14 = 3 |
Abs | 指定した数値の絶対値を返します。 | Abs( {0} ) ~ 0:-1 = 1 |
Min | 2つの数値のうち小さい方を返します。 | Min( {0}, {1} ) ~ 0:-4, 1:23 = -4 |
Max | 2つの数値のうち大きい方を返します。 | Max( {0}, {1} ) ~ 0:5, 1:8 = 8 |
Sqrt | 指定した数値の平方根を返します。 | Sqrt( {0} ) ~ 0:4 = 2 |
Pow | 指定された数値を指定されたべき乗で返します。 | Pow( {0}, 2) ~ 0:3 = 9 |
Exp | e を指定のべき乗にしたものを返す。 | Exp( {0} ) ~ 0:0 = 1 |
Log | 指定した数値の対数を返します。 | Log( {0}, 10) ~ 0:1 = 0 |
Log10 | 指定した数値の底10の対数を返します。 | Log10( {0} ) ~ 0:1 = 0 |
Sign | 数値の符号を示す値を返します。 | Sign( {0} ) ~ 0:-10 = -1 |
Sin | 指定された角度の正弦を返します。 | Sin( {0} ) ~ 0:0 = 0 |
Cos | 指定された角度の余弦を返します。 | Cos( {0} ) ~ 0:0 = 1 |
Tan | 指定された角度の正接を返します。 | Tan( {0} ) ~ 0:0 = 0 |
Asin | 正弦が指定された数値である角度を返します。 | Asin( {0} ) ~ 0:0 = 0 |
Acos | 余弦が指定された数値である角度を返します。 | Acos( {0} ) ~ 0:1 = 0 |
Atan | 接線が指定された数値である角度を返します。 | Atan( {0} ) ~ 0:0 = 0 |
そのための方法については、オカレンス計算属性をご参照ください。