計算属性を作成するには、データベースへの管理者アクセス権が必要です。
こちらを、ご参照ください。 プロジェクトとデータベース管理.
アイテム If/Then の例
Excelで複雑なルールを作成したことがあれば、if/then式には慣れているかもしれません。 IF-THENの構文は= IF (論理テキスト、真の場合の値、偽の場合の値)。最初の引数は、比較が有効な場合の処理を関数に、指示します。2番目の引数は、比較が偽の場合の処理を関数に伝えます。インターネットで検索すると、
このコンセプトの例がいくつか見つかります。この例では、いくつかのルールを使って、
アイテム・データから、いくつかの結果を引き出します。ドア計算を決定しようとしたことがあれば、
このページをブックマーク (お気に入り)してオフィスに残しておくといいでしょう。
オーストラリアのチームは、このアイデアを思いつきました。私たちは皆、アイテムのデータを、
使用して、他の意思決定に情報を提供する素晴らしい例だと考えています。
青いフィールド (アイテム・データ) を使って、赤いフィールド (計算された属性) の結果を、
通知した結果を以下に示します。
以下、それぞれの例を説明:
開口部 (Clear Opening) は、引き算と、if/then式を組み合わせて、ドアが完全に開いているときに、
人や物が通過できる明確な幅を決めます。この計算では、シングル・ドアかダブル・ドアかで、
計算が異なります。
パネルAとBの幅から始めます。パネルAが0の場合、必要な寸法が未だ指名されていないため、
ドアに関しては問題ありません。次に、パネルBの幅がゼロの場合、ドアをシングル・ドアと仮定し、
計算ではパネルAからパネルの厚さ、フレーム・ストップ、および、ヒンジ (蝶番)の許容範囲を、
差し引きます。 最後に、パネルBがゼロでない場合、ダブルドアで、パネルAとBを加算し、
パネルの厚みとヒンジの許容範囲を2回減算します。
明確な開口幅は、アクセシビリティに関わる法令遵守基準によって規定されることが多く、
この例は、計画や設計の段階で不適合なドアを特定する可能性があります。
オーダー用のフレームをスケジュールする場合、パネルサイズは重要な情報ではないことが多く、
代わりに高さと幅が必要となります。そのため、以下の2つの例が参考になります:
Reveal Height (リヴィール高さ) は、パネル高さと床仕上げ代を単純に足したものであり:
必要であれば、パネル・アンダーカットと床仕上げ代を別々に組み込むこともできます。
Reveal Width (リヴィールの幅)も、if/then式 (目標達成のための行動手法)で、アイテムデータから、
パネル幅とパネル幅の許容範囲のルールを組み込んでいます。
これは、if/then式の中の、if/then式であり、最初のルールがチェックされ、その後に2つ目のルールが、
続く。もしパネル A が 0 ならば、表示の幅は 0 になります。パネルBがゼロであれば、
パネル幅の許容範囲にパネルAを加え、パネルBがゼロでなければ、パネル幅の許容範囲に、
パネルAを加え、パネルBにパネル幅の許容範囲を2つ加えた値となります。
ドアを改修したり、石積みの壁に設置する場合、構造的な開口部の大きさが要求されます。
以下の2つの例は、計算された属性をフィールドとして使用する良い例です:
Structural Height (構造的な高さ) は、単純な足し算で定義されます。
高さはフレームのアーキトレーブに加算されます。 では、高さ (Reveal Height) はどこから来ているので
しょうか?それは、別の計算属性です。そうです、他の計算式の上に計算式を構築することができます。
また、構造幅は、最初のIf/then式 (目標達成のための行動手法)で、リヴィール高さ (Reveal Height)
ことで定義されますルールは、パネルBの幅がゼロ、つまり幅がない場合
(または2枚目のパネルがない場合)、レベルの幅と、フレームのアーキトレーブを組み合わせます、
また、パネルBの幅がある場合は、フレームのアーキトレーブを2回追加し、
パネルBの幅も含めて両方のパネルに必要な幅を追加します。.
これらの例は、重要なプロジェクトの計算を、すべてのユーザーに提供すると同時に、
計算を確実に実行することを示しています。
Most calculated attributes are designed around numbers, and our default formulas create a bracket around the field {0} when building out a formula. But sometimes, we like to use text, yes/no, or list values. For example, when checking whether two text fields match or both values are True. For these formulas to work, you need to add a single quote around the bracket ‘{0}’ so that we know it should be a string, not a number.
これらの例は、アイテム計算を使用して何が可能かを、理解していただくことを目的としています。
Format | Summary | Example |
---|---|---|
+ | Returns the sum of two numeric operands. (Addition) | {0} + {1} ~ 0:1, 1:4 = 5 |
- | Returns the difference of two numeric operands. (Subtraction) | {0} - 4 ~ 0:10 = 6 |
* | Returns the product of two numeric operands. (Multiplication) | {0} * {1} ~ 0:2, 1:3 = 6 |
/ | Returns the quotient of two numeric operands. (Division) | if ( {1} = 0, 0, {0} / {1} ) ~ 0:9, 1:3 = 3 |
and | Indicates whether both operands are true. | {0} < 10 and {0} > 0 ~ 0:5 = True |
or | Indicates whether either or both operands are true. | {0} < 2 or {0} >5 ~ 0:8 = True |
not | Returns true if the logical operand is false. | not ({0} < 0) ~ 0:-5 = False |
= | Indicates whether the left operand is equal to the right operand. | {0} = 4 ~ 0:4 = True |
!= | Indicates whether the left operand is not equal to the right operand. | {0} != {1} ~ 0:2, 1:4 = True |
< | Indicates whether the left operand is less than the right operand. | {0} < 0 ~ 0:2 = False |
<= | Indicates whether the left operand is less than or equal to the right operand. | {0} <=2 ~ 0:2 = True |
> | Indicates whether the left operand is greater than the right operand. | {0} > 0 ~ 0:8 = True |
>= | Indicates whether the left operand is greater than or equal to the right operand. | {0} >= 5 ~ 0:10 = True |
if | Returns a value based on a condition | if ( {0} % {1} = 0, ‘Yes’, ‘No’ ) ~ 0:4, 1:2 = Yes |
in | Returns whether an element is in a list of values. | in ( {0}, {1}, {2}, {3} ) ~ 0:7, 1:4, 2:7, 3:9 = True In the example above, the first declared argument '{0}' is the value you want to evaluate, in this example, the number '7' as defined by the '0:7' after the (~). |
isNull | Returns true if the operand is null. | isNull ( {0} ) ~ 0: = True |
substring | Returns a slice of the provided text. The slice is decided by a start position and optional end position, starting from 0. | substring ( {0, 7) ~ 0:Doctor Rofus = Rofus |
contains | Returns true if the first text operand contains the second text operand. | contains ( {0}, {1} ) ~ 0:abc, 1:a = True |
length | Returns the number of characters in the text. | length ( {0} ) ~ 0:Hello = 5 |
replace | Replaces a substring in the first text operand. All matches of the second text operand are replaced with the third text operand. | replace ( {0}, {1}, {2} ) ~ 0:Hello, 1:l, 2:xx = Hexxo |
startsWith | Returns true if the first text operand starts with the second text operand. | startsWith ( {0}, {1} ) ~ 0:Hello, 1:H = True |
endsWith | Returns true if the first text operand ends with the second text operand. | endsWith ( {0}, {1} ) ~ 0:Hello, 1:o = True |
regexIsMatch | Returns true if the first text operand contains a match using the second text operand as a regular expression. | regexIsMatch ( {0}, ‘a.*’ ) ~ 0:abc = True |
regexReplace | Replaces a substring in the first text operand. All matches found using the second text operand as regular expression are replaced with the third text operand. | regexReplace ( {0}, ‘l+’, 'X' ) ~ 0:Hello = HeXo |
regexGroup | Returns the value of a regular expression group. Group index starts from 1 and defaults to 1 if not given. | regexGroup ( {0}, ‘(1+)’ ) ~ 0:Hello = ll |
Round | Rounds a value to the nearest integer or specified number of decimal places. | Round ( {0}, 2) ~ 0:3.1415 = 3.14 |
Floor | Returns the largest integer less than or equal to the specified number. | Floor ( {0} ) ~ 0:1.5 = 1 |
Ceiling | Returns the smallest integer greater than or equal to the specified number. | Ceiling ( {0} ) ~ 0:1.5 = 2 |
Truncate | Calculates the integral part of a number. | Truncate ( {0} ) ~ 0:3.14 = 3 |
Abs | Returns the absolute value of a specified number. | Abs ( {0} ) ~ 0:-1 = 1 |
Min | Returns the smaller of two numbers. | Min ( {0}, {1} ) ~ 0:-4, 1:23 = -4 |
Max | Returns the larger of two numbers. | Max ( {0}, {1} ) ~ 0:5, 1:8 = 8 |
Sqrt | Returns the square root of a specified number. | Sqrt ( {0} ) ~ 0:4 = 2 |
Pow | Returns a specified number raised to the specified power. | Pow ( {0}, 2) ~ 0:3 = 9 |
Exp | Returns e raised to the specified power | Exp ( {0} ) ~ 0:0 = 1 |
Log | Returns the logarithm of a specified number. | Log ( {0}, 10) ~ 0:1 = 0 |
Log10 | Returns the base 10 logarithm of a specified number. | Log10 ( {0} ) ~ 0:1 = 0 |
Sign | Returns a value indicating the sign of a number. | Sign ( {0} ) ~ 0:-10 = -1 |
Sin | Returns the sine of the specified angle. | Sin ( {0} ) ~ 0:0 = 0 |
Cos | Returns the cosine of the specified angle. | Cos ( {0} ) ~ 0:0 = 1 |
Tan | Returns the tangent fo the specified angle. | Tan ( {0} ) ~ 0:0 = 0 |
Asin | Returns the angle whose sine is the specified number. | Asin ( {0} ) ~ 0:0 = 0 |
Acos | Returns the angle whose cosine is the specified number. | Acos ( {0} ) ~ 0:1 = 0 |
Atan | Returns the angle whose tangent is the specified number. | Atan ( {0} ) ~ 0:0 = 0 |
そのための方法については、オカレンス計算属性をご参照ください。