2009-04-27 157 views
0

我在數據庫中的以下情況:Excel數據透視表問題 - 如何獲得行區域字段的小計?

表保存所有部門的公司。

員工表中包含所有員工以及他們的部門ID和AllowedAbsenceDays字段,它告訴我們當天僱員缺席多少天。

缺席表持有公司發生的所有缺席。它的僱員ID並沒有日期,也沒有理由(休假,病假,事假,並有可能在未來更多...)

alt text http://i42.tinypic.com/4ktv69.jpg

我應該創建一個報告列出了所有員工,並顯示他們被允許缺席多少天以及他們缺席多少天(缺席的原因是什麼)。

我已經通過員工和因缺少分組的數據:

alt text http://i39.tinypic.com/2gt9g8o.jpg

這是我能得到這麼遠,通過將部門,員工和允許的缺勤天數支點行區域,原因在列面積和天數總和在數據區域中不存在:

alt text http://i43.tinypic.com/9s86bl.jpg

的問題是,我不能夠得到允許的情況下的分類彙總每個部門的天數(這是一個堅定的要求)。最終的報告應該看起來像這樣(我已經拍了這個)。

alt text http://i40.tinypic.com/1415a4y.jpg

有沒有什麼辦法讓這些小計?也許我應該以不同的方式準備數據透視表的數據?請注意,「總計」欄應僅包含實際缺勤天數(不包括「允許的缺勤天數」)。

例簿可下載here

感謝大家誰仍然在讀:)

附:真實情況不同(在問題域中)。這是一個有點人爲的例子,但基本問題是一樣的。

回答

3

這是一個經典的數據標準化問題。 「允許的缺席日」字段與員工相關,而不涉及任何特定的缺席。在每一行(記錄)中重複這個信息是導致問題的原因。

要在Excel工作表和數據透視表中實現此目的,您可以刪除「允許的缺席日」列,而是將「允許的缺席日」用作「原因」列中的其中一個值。顯示允許天數爲負值或顯示其他缺席原因的天數爲負值可能會有所幫助。否則總體總數將不會有實際意義。

表和數據透視表應該大致是這樣的:

Excel spreadsheet showing restructured data: column A is department, B is employee, C is days absent, D is reason. Allowed absence days is now a reason and associated days absent is negative http://img527.imageshack.us/img527/1979/so1.png

Excel pivot table showing sums of days absent in columns C through E. Allowed absence days in column C http://img412.imageshack.us/img412/9201/so2.png

重複爲每一位員工的部門似乎並不理想,但我想,僱員可能在年內更換部門所以你可能不需要以某種方式來解釋。你也需要它來使數據透視表無論如何工作

如果你絕對100%不能有這樣的總受影響,那麼我不相信你可以實現這與一個數據透視表。您可能想要查看使用ADO查詢工作表並使用一些VBA宏來格式化和輸出結果。 This page應該給你一些想法

0

只需在所有行中留下「允許的缺席日」空白,然後在底部/頂部放置希望的數字爲「允許的缺席日」和空白其他的東西。

然後,只需在數據中放置「允許的缺勤天數」而不是數據透視中的列,並將其拖動到左側。