如果你有一個目標數和實際數,簡單的方法來計算的差距很簡單:如何計算Crystal Reports中兩個數字之間的差距?
{goal} - {actual}
但是,如果你超過你的目標,那麼這個數字將在報告爲負數顯示。我的老闆想要使用的會議是在號碼前加一個「+」號,以表明我們已經超出了目標。
我試着寫,如果結果返回負即乘以-1的結果的公式:
shared numbervar gap;
gap := {goal} - {actual}
if gap < 0 then gap := gap * -1
gap;
但它不工作。
我的第一個問題是我做錯了什麼?
我的第二個問題是,有沒有更好的方法來做到這一點?我稱之爲水晶報告中的其他東西是什麼?
你正在計算的是_absolute差異_(我應該說,這就是你用兩個分號正確地終止第2行和第3行的計算結果)。但那不是你想要的,因爲那麼你的'差距'變量將會失去它所需要的符號。你只想保留'gap:= {goal} - {actual}',但只要在報告中以'+'作爲負號(而不是' - ')顯示。 – Ryan
爲什麼不只是顛倒順序:'{actual} - {goal}'? – craig
@craig因爲什麼是有道理的,你的老闆想要什麼並不總是一回事。 – ShemSeger