的問題是你在做創建你的平均總和。它實際上只是總結它遇到的第一個數字,然後除以10並乘以2.您需要將總和的範圍更改爲整個數據集。以下是我證明這一點的方式。
我把上表中第二行數字作爲我的例子。這是我的查詢。
SELECT '1/15/14' AS dt, 1 AS value
UNION
SELECT '1/16/14' AS dt, 7 AS value
UNION
SELECT '1/17/14' AS dt, 5 AS value
UNION
SELECT '1/18/14' AS dt, 6 AS value
UNION
SELECT '1/19/14' AS dt, 4 AS value
UNION
SELECT '1/20/14' AS dt, 5 AS value
UNION
SELECT '1/21/14' AS dt, 5 AS value
UNION
SELECT '1/22/14' AS dt, 5 AS value
UNION
SELECT '1/23/14' AS dt, 6 AS value
UNION
SELECT '1/24/14' AS dt, 6 AS value
我在數據的列值中創建了一個帶有dt的tablix。如果我將平均值計算並將其放在下面一行中,則每列將返回9.8。
我第一次使用你的填充表達式來確保我得到了和你一樣的結果。然後,我改變它得到正確的答案:
=iif(Sum(Fields!value.Value) >
(Sum(iif(Fields!dt.Value >= Dateadd("d",-10, today()), Fields!value.Value, CDbl(0)), "DataSet1")/10) * 2,
"Gold","White")
隨着我有數據,無細胞應該轉向黃金,這是我得到的結果。如果我將1/15的值更改爲20,然後預覽我的表格,那麼該單元格會變成黃金,因爲69/10 * 2 = 13.8和20> 13.8。
爲什麼你有DateAdd(「d」, - 30,TODAY())?我以爲你只是將它與10天的平均值進行比較? – mmarie
@mmarie apologies - typo:表達式使用說10。我已經結束了添加另一列TenDayAvg到我的'DataSet',因此簡化這個表達式來比較那個列 - 現在的格式工作.....但我'米仍然有興趣知道爲什麼上述失敗。 – whytheq