と の 2 つの列がActivityCount
ありParentValue
ます。式を作成しました:
ROUND((ActivityCount / ParentValue) / 100,16) * 100
しかし、問題はそれがいくつかの列で返さNULL
れることであり、私NULL
は0
. 答えが見つからないようです。
と の 2 つの列がActivityCount
ありParentValue
ます。式を作成しました:
ROUND((ActivityCount / ParentValue) / 100,16) * 100
しかし、問題はそれがいくつかの列で返さNULL
れることであり、私NULL
は0
. 答えが見つからないようです。
ISNULL(ParentValue) || (ParentValue == 0) ? 0 : ROUND(ISNULL(ActivityCount) ? 0 : ActivityCount / ParentValue / 100,16) * 100
ISNULL(ParentValue) || (ParentValue == 0)
? 0
: ROUND((ISNULL(ActivityCount)
? 0
: ActivityCount / ParentValue) / 100
, 16) * 100
ParentValue
フィールドがNULL
またはの場合、エラーZero
が発生するため、計算を実行する必要はありませんDivide by Zero
。したがって、単に0を返して式を終了します。
ActivityCount
フィールドがの場合NULL
、計算を実行する前にゼロに置き換えます。
COALESCE
可能であれば、ソース クエリで NULL 値をゼロに置き換えて計算することをお勧めします。
以下のようにしてみてください...それはあなたを助けます...
ISNULL(ROUND((ActivityCount / ParentValue) / 100,16) * 100) || (ROUND((ActivityCount / ParentValue) / 100,16) * 100)= "" ? 0 : ROUND((ActivityCount / ParentValue) / 100,16
私は言ったでしょう:
ISNULL(ActivityCount) || ISNULL(ParentValue) ? 0 : ROUND((ActivityCount/ParentValue)/100,16)*100
そうすれば、条件で終了ケースを複数回計算するのではなく、NULL の結果を引き起こす最も単純なケースをテストできます。
(そうは言っても、これらのいずれも技術的には機能します。)