2009-11-16 105 views
0

我有一個Excel電子表格,其上有一個數據透視表。數據本身非常簡單,單位數量和折扣(從0到100的百分比)在頂部和客戶的左側旋轉。這些數字都是直接從一個SQL視圖,使數據透視表源僅僅是:Excel數據透視表計算字段總收益意外值

SELECT * FROM UnitDiscountView 

所有看起來很好,直到我試圖添加TOTALCOST的計算字段(每個單位的費用£200)的數據透視表:

= (200 *NrUnits) * ((100-Discount)/100) 

底部的總數是負數,而且遠遠超過我期待的數字。如果我選擇所有的單元格,那麼出現在底部狀態欄中的總和就是我所期望的,但底部的Total字段超過了一百倍,並且負向啓動。

我很難過。我從星期五起搜查了一些沒有找到任何有助於我解決這個問題的東西。任何指向哪裏開始尋找解決方案將不勝感激。我應該提到SQL是我的特長,而不是Excel。上週之前我沒有使用過Excel的Pivot表格,所以我可能錯過了一些非常明顯的東西。

回答

1

計算領域將有總計工作:

200 *(NrUnits之和)*((100 - [貼現之和])/ 100)

因此,對於你總行,如果總和折扣大於100(將數據透視表上的所有折扣總和相加),公式的一部分(折扣總和100)將返回負數,因此爲負數。

我通常會做的是將另一列添加到查詢返回的值右側的表中。我將在那裏添加我的公式,然後在調整大小的表上執行數據透視表。

如果您已將返回的SQL查詢格式化爲表(或Excel 2003中的列表),則數據透視表源範圍應該自行調整大小。

+0

謝謝Dendatii。非常感激。 – Jonathan 2009-11-16 09:59:30

0

我找到了答案。

Excel軟件有效地這樣做了總:

= (200 * sum(NrUnits)) * ((100-sum(Discount))/100) 

這是不是甚至接近我想要的東西:

= sum((200-NrUnits) * ((100-Discount) * 100))) 

我繞着它通過從視圖改變SQL來是:

SELECT *, NrUnits*((100-Discount)*100) AS EffectiveUnits 
FROM UnitDiscountView 

和計算的領域:

= EffectiveUnits * 200 
相關問題