1

完了日から(他の2つの日付のいずれか)までの平均日数を計算するために、セールスフォースで数式フィールドを作成しようとしています。例えば

終了日
メール開始日 ライブ日

私が書き込もうとしている式は、終了日です - (メール開始日またはライブ日付の最も早い日)。

助けていただければ幸いです。ありがとう

4

1 に答える 1

0

利用可能な関数がありMAX()ますが、日付ではなく数字のみを受け入れます。これらを見て、あなたがより快適に感じる方を選んでください;)

(フォーミュラタイプは数値型でなければならず、「ライフスパン (日数)」などと呼びます)

IF(Email_Start_Date__c > Live_Date__c, Email_Start_Date__c, Live_Date__c) - Close_Date__c

また

MAX(Email_Start_Date__c - Close_Date__c, Live_Date__c - Close_Date__c)

コメントから Priyanka の問題を組み込むように編集します。フォールバックする日付が複数ある場合 (1 つが null の場合は、別の日付を試してください)、BLANKVALUE関数を使用して IF ステートメントの長いチェーンを避けるのが最善です。

BLANKVALUE(Over_ride_Date__c, 
    BLANKVALUE(Email_Start_Date__c, 
        BLANKVALUE(Live_Date__c, 
            BLANKVALUE(Estimated_Email_Start_Date__c, Estimated_Go_Live_Date__c)
        )
    )
)

IF を使用したトリックと組み合わせて、最も低いものを選択することもできます。次に例を示します。

BLANKVALUE(Over_ride_Date__c, 
    IF(NOT(ISBLANK(Email_Start_Date__c)) && NOT(ISBLANK(Go_Live_Date__c)), 
        IF(Email_Start_Date__c < Go_Live_Date__c, Email_Start_Date__c , Go_Live_Date__c ),
        BLANKVALUE(Estimated_Email_Start_Date__c, Estimated_Go_Live_Date__c)
    )
)

これにより、オーバーライド日が最初にチェックされます。null の場合でも、メールの開始日と公開日の両方が設定されている場合は、2 つのうち小さい方が選択されます。いずれかが空白の場合は、予定日を確認するためにフォールバックし続け、null の場合はすべてが null の場合は最終的にあきらめます。

しかし、本当にそのような複雑なことを書く必要がある場合は、何か間違ったことをしているということを言わなければなりません。ユーザーにいくつかの日付の入力を早く開始するように強制します。これは、データ品質が非常に悪いことを示しています...

于 2012-11-27T13:34:09.533 に答える