このブラウザーはサポートされなくなりました。

Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

Microsoft Edge をダウンロードする Internet Explorer と Microsoft Edge の詳細情報

この記事の内容

このトピックは、Dynamics 365 Customer Engagement (on-premises) に適用されます。 このトピックの Power Apps バージョンについては、以下を参照してください。 計算フィールドを定義して手動計算を自動化する

計算フィールドを使用して、ビジネス プロセスで使用する手動による計算を自動化することができます。 たとえば、営業担当者は営業案件の売上高の期待値を知ることが必要な場合があります。この期待値は、営業案件からの売上見込みに確率を乗じて得られた値に基づきます。 または、受注が $500 より大きい場合、値引きを自動的に適用することを望みます。 計算フィールドには、単純な数学演算や greater than または if-else などの条件付き演算から得られた値を含めることができます。 これらのすべてを、コードを記述することなく、計算フィールド機能を使用して実行できます。

計算フィールドの機能:

  • 計算フィールドは、現在のエンティティまたは関連付けられている親エンティティのフィールドを使用する計算で構成されています。

  • 式のサポートは、 条件 セクションと アクション セクションにある、現在のエンティティと、関連付けられている親エンティティ フィールドで使用できます。 組み込みの関数には次のものがあります。

    ADDHOURS ADDDAYS ADDWEEKS ADDMONTHS ADDYEARS SUBTRACTHOURS SUBTRACTDAYS SUBTRACTWEEKS SUBTRACTMONTHS SUBTRACTYEARS DIFFINDAYS DIFFINHOURS DIFFINMINUTES DIFFINMONTHS DIFFINWEEKS DIFFINYEARS CONCAT TRIMLEFT TRIMRIGHT

  • リッチな条件サポートにより、分岐や複数の条件を指定できます。 論理演算子には、 AND OR 演算子が含まれます。

  • ビジュアル編集機能によって、最近のユーザー インターフェイスと Intellisense が アクション セクションに組み込まれます。

  • 計算フィールドと、フォーム、ビュー、グラフ、およびレポートとのシームレスな統合がリアルタイムで使用できます。

  • Online 組織を Dynamics 365 (online) 用の 2016 年 12 月の更新プログラムに更新すると、ユーザー定義コントロールを使用するために、計算フィールドを構成できます。

    計算フィールドのいくつかの例

  • 売上高の期待値: 確率を乗じた売上見込み

  • 純資産: 特定の取引先企業に対する負債を差し引いた資産

  • 労務費: 40 時間までの基本給に時間外手当てを加算

  • 取引先担当者番号: 取引先企業または取引先担当者に基づいた営業案件に対する電話番号

  • 潜在顧客のスコア: 特定の潜在顧客の質を把握できる単一のフィールド

  • フォローアップ期日: 重要度に基づいた指定した日数で活動をフォローアップ

    計算フィールドを作成するには、フィールド セキュリティ プロファイル エンティティに対する書き込み特権が必要です。 セキュリティを設定したフィールドが計算フィールドで計算に使用される場合、ユーザーがアクセス許可のないデータにアクセスできないようにするために、計算フィールドのセキュリティの設定も検討する必要があります。 セキュリティで保護されたフィールドを計算で使用する計算フィールドを作成すると、計算フィールド エディターは警告を発して、計算フィールドのセキュリティ設定を勧めます。 詳細: フィールド レベル セキュリティ

    計算フィールドの例

    計算フィールドの例をより詳細に見てみましょう。 フィールド エディターを使用して、計算フィールドを定義します。 フィールド エディターを開くには、次の手順に従います。

  • ソリューション エクスプローラーを開きます

  • コンポーネント > エンティティ を展開します。

  • 必要なエンティティを選択し、 フィールド を選択します。 新規 を選択します。

    エディターで、 フィールドの種類 および データの種類 を含む必要な情報をフィールドに設定します。 フィールドの種類 計算 です。 計算フィールドで使用可能なデータの種類:

  • 1 行のテキスト

  • オプション セット

  • 2 つのオプション

  • 10 進数

  • 日付と時間

    フィールドの種類 の隣の 編集 ボタンを使用すると、計算フィールド定義エディターが表示されます。このエディターで計算フィールドが作成されますが、数式はまだ設定されていません。 計算フィールドの定義は、 条件 アクション の 2 つのセクションで構成されます。

  • 条件 セクションで、エンティティ、フィールド、演算子、種類、および値を指定できます。 エンティティ のドロップダウン ボックスで、現在のエンティティまたは関連エンティティを選択できます。 フィールド ドロップダウン ボックスで、エンティティのすべての使用できるフィールドを選択できます。 選択する演算子に基づいて、種類と値を指定する必要があります。 AND または OR 演算子を使用して、複数の条件を指定できます。

  • アクション セクションで、計算フィールドの数式を指定します。

    アクション内で検索レコードのデータも使用できます。 最初に検索フィールドを選択してから期間を入力する必要があります。 その後に、関連エンティティで使用できるフィールドを 1 つ選択できます。 たとえば、<LookupFieldName>.<RelatedFieldName> の場合、ParentAccountId.AccountNumber を選択することができます。

    フィールド レベル セキュリティは関連するエンティティでは無視されるため、アクセスされたフィールドに機密データが含まれている場合は、計算フィールドもセキュリティ保護するよう提案するようにしてください。

    営業案件の売上高の期待値

    この例では、営業案件エンティティのフィールドを使用して、営業案件の確率に基づいた売上高の期待値を計算します。 営業案件エンティティのフィールド エディターで、"売上高の期待値" という名前のフィールドを作成し、そのフィールドの種類を 計算 として、そのデータの種類を 通貨 として指定します。 計算フィールド定義エディターの 条件 セクションで、営業案件を Status = Open を使用して指定します。 アクション では、数式は、営業案件の確率を乗じた営業案件売上見込みに基づいて、売上高の期待値を計算します。 次のスクリーンショットに、売上高の期待値の計算フィールドを定義する方法を順を追って説明しています。

    "売上高の期待値"という名前の計算フィールドの作成:

    営業案件のフォローアップ日付

    この例では、営業案件を発生した潜在顧客のフィールドを使用して、営業案件の追跡に適切な日付を計算します。 営業案件エンティティのフィールド エディターで、"フォローアップ日付" という名前のフィールドを作成し、そのフィールドの種類を 計算 として、そのデータの種類を 日付と時間 として指定します。 計算フィールド定義エディターの 条件 セクションで、潜在顧客の購入の概算時間とその推測値の 2 つの条件を指定します。 アクション では、2 つの数式を指定します。1 つは、緊急の案件に対して 1 週間でフォローアップするための数式です。もう 1 つは、営業案件がすぐ発生しなかった場合に 1 ヶ月でフォローアップするための数式です。 次のスクリーンショットに、”フォローアップ日付” の計算フィールドを定義する方法を順を追って説明しています。

    "フォローアップ日付"という名前の計算フィールドの作成:

    すべての DIFF 機能では、最初の 日付と時刻 フィールドと 2 番目の 日付と時刻 フィールドの動作が、 ユーザー ローカル 日付のみ 、または タイム ゾーン非依存 のいずれかと同じであることが要求されます。 2 番目のフィールドの動作が最初のフィールドの動作と一致品場合、2 番目のフィールドを現在の関数で使用できないことを示すエラー メッセージが表示されます。 詳細: 日時フィールドの動作と形式

    計算フィールドで日付値として 01/01/2015 などの日付を入力することはできません。 日付と日時の値は、別の日時フィールドを使用してのみ設定または比較することができます。

    CONCAT 関数では、複数の 1 行テキスト、1 行テキストを含むエンティティ フィールド、またはその両方の組み合わせとして文字列を使用できます。 例: CONCAT (FirstName、LastName、"管理者である。") 文字列に引用符が含まれる場合は、“This string contains the \”quotation marks.\”” のようにバックスラッシュ (\) エスケープ文字を各引用符より前にします。これにより、文字列内の引用符が文字列を区切る特殊文字として扱われなくなります。

    次の例は、 TRIMLEFT 関数と TRIMRIGHT 関数の使用方法を示しています。 これらには、 TRIMLEFT 関数と TRIMRIGHT 関数によって返される最初の文字列と結果文字列が含まれています。

    TRIMLEFT (“RXX10-3456789”, 3) は文字列 “10-3456789” を返します。
    TRIMRIGHT (“20-3456789RXX”, 3) は文字列 “20-3456789” を返します。

    計算フィールドに関する考慮事項

    計算フィールドを使用するときは、次の特定の要件と制限に注意ください。

  • 保存されたクエリ、グラフ、およびビジュアル化には、固有の計算フィールドを最大 10 まで含めることができます。

  • 計算フィールドの値は、タイル ビューまたはエンティティのメイン フォームで、Customer Engagement Outlook オフライン モードでは表示されません。

  • 連鎖した計算フィールドの最大数は 5 です。

  • 計算フィールドは自己参照したり、サイクリック チェーンを使用することはできません。

  • 複数条件節の条件演算子の 1 つを変更すると、すべての条件演算子がその条件に更新されます。 たとえば、 IF (x > 50) OR (y ==10) OR (z < 5) の節で、 OR 演算子を AND 演算子に変更すると、その節に含まれるすべての OR 演算子が AND 演算子に変更されます。

  • <LookupFieldName>.<FieldName> などの親エンティティへの検索フィールドを介して、親フィールドにアクセスできます。 これは、 Account または Contact となる Customer のような複数エンティティの検索フィールドに対しては適用できません。 ただし、一部のエンティティには、 ParentAccountid.<FieldName> または ParentContactid.<FieldName> などの、特定のエンティティに対する個別の検索フィールドが含まれます。

  • 以下に対しては、並べ替えは使用できません。

  • 親レコードのフィールドを含んだ計算フィールド。

  • 論理フィールド ([住所] フィールドなど) を含む計算フィールド。

  • 別の計算フィールドを含む計算フィールド。

  • 計算フィールドは 2 つのエンティティにのみまたがることができます。

  • 計算フィールドには、別のエンティティのフィールドを含めることができます (2 つのエンティティがその対象の範囲 – 現在のエンティティと親レコード)。

  • 計算フィールドには、別のエンティティの別のフィールドを含む別のエンティティの計算フィールド (3 つのエンティティの長さ) を含めることはできません。
    (現在のエンティティ) 計算フィールド <- (親レコード) 計算フィールド 1 <- (親レコード) 計算フィールド 2。

  • 計算フィールドでワークフローまたはプラグインをトリガーすることはできません。

  • 既存の単純なフィールドを計算フィールドに変更することはできません。 現在のアプリケーションが JavaScript またはプラグインを使用している場合、計算フィールド機能を使用するには、新しいフィールドを作成する必要があります。

  • 重複データ検出ルールは集計フィールドでトリガーされません。

  • ロールアップは、他の計算フィールドのすべてのフィールドが現在のエンティティにある場合も、他の計算フィールドを使用する計算フィールドを参照できません。

    フィールドの作成および編集
    ロールアップ フィールドを定義する
    ビデオ: ロールアップおよび Dynamics CRM 2015 の計算フィールド

  •