Если общий вес равен нулю, средневзвешенное значение отображается как ноль, а не как неопределенное - PullRequest
0 голосов
/ 11 августа 2011

Я пытаюсь взять средневзвешенное значение поля, давайте назовем его «X», что прекрасно работает, если поле позволяет назвать его «Y», что средневзвешенное значение равно 0. Однако, когда Y Если 0, то значение X не появляется в отчете, как должно быть, так как это неопределенное значение.

То, что я хотел бы сделать, это сделать так, чтобы, если Y было 0, то X будет = = 0 и отображать 0 в отчете.

Я пробовал несколько вещей, чтобы заставить это работать, однако они не преуспели. В настоящее время я пытаюсь настроить формулу форматирования отображаемой строки, чтобы попытаться получить ее так, чтобы, если Y равнялся 0, тогда X равнялся 0 и отображал это, однако для этого требуется строка, которая будет конечным результатом.

stringvar s;
NumberVar x := Weighted Average ( fieldX)
numbervar y := fieldY
if Y = 0 then x = 0;
X;

Итак, мой вопрос: как мне преобразовать число Var в stringVar, или есть лучший способ сделать то, что я надеюсь достичь?

1 Ответ

1 голос
/ 11 августа 2011

Мне не кажется, что здесь вообще нужно задействовать stringvars. В этом коде есть некоторые синтаксические ошибки. Если вы поместите формулу, которую вы написали, со следующими небольшими изменениями, она должна хорошо отображаться в отчете

numbervar x := weightedaverage(...);
numbervar y := {fieldY};
if y = 0 then x:= 0;
x

Однако, еще более простым способом было бы отказаться от использования переменных вообще

if {fieldY} = 0 then 0 else weightedaverage(...)
...