2009-04-27 5 views
0

В нашей базе данных:Вопрос о сводной таблице Excel - Как получить промежуточные итоги для поля области строки?

Отдел В таблице представлены все отделы компании.

Сотрудник В таблице содержатся все сотрудники, а также их идентификатор отдела и поля AllowedAbsenceDays, в котором указывается, сколько дней работник может отсутствовать в текущем году.

Отсутствие таблицы содержит все отклонения, которые происходят в компании. Она имеет идентификатор сотрудника и дата отсутствия, а также причину отсутствия (отпуск, отпуск по болезни, личные дни, и потенциально более в будущем ...)

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

Я должен создать который перечисляет всех сотрудников и показывает, сколько дней им разрешено отсутствовать вместе с тем, сколько дней они отсутствовали (и в чем причина отсутствия).

Я сгруппировали данные работником и по причине отсутствия:

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

Это то, что я могу получить до сих пор, поставив департамент, сотрудников и животных Отсутствие Дней в стержне область строки, Reason в области столбцов и Сумме дней отсутствующей в области данных:

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

проблема заключается в том, что я не в состоянии получить субтотальные разрешенное отсутствие дней на отделение (что является твердым требованием). Окончательный отчет должен выглядеть примерно так (у меня есть фотошоп).

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

Есть ли способ, чтобы получить эти подытог? Может быть, мне нужно подготовить данные для сводной таблицы по-другому? Обратите внимание, что колонка Grand Total должна включать только фактические дни отсутствия (а не Допущенные дни отсутствия).

Пример книга доступна для загрузки here

Благодаря всем, кто еще читает :)

P.S. Реальный случай отличается (в проблемной области). Это несколько надуманный пример, но основная проблема такая же.

ответ

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

Просто оставьте «допустимые дни отсутствия» пустыми во всех рядах, а затем внизу/сверху введите строки с желаемыми номерами для «допустимых дней отсутствия» и пробелов для другие вещи.

Затем просто введите свои «допустимые дни отсутствия» в данных вместо столбцов в точке поворота и перетащите его влево.