|
|
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Коллеги, как научитьбся выводить в сводную таблицу в Экселе не цифровые значения аггрегированных функций, а текстовые значения? IDName1YearName22Борлинг0Свидерский2Борлинг2Тюпаев1Дорофеев2Веретильная1Дорофеев2Григорьев1Дорофеев1Ларкомб1Дорофеев3Пчелинцева По стрчокам идут Name1, по столбцам Года, а в пересечении Фамилии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2008, 10:15:28 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2008, 15:48:48 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
ZalagaevКоллеги, как научитьбся выводить в сводную таблицу в Экселе не цифровые значения аггрегированных функций, а текстовые значения? IDName1YearName22Борлинг0Свидерский2Борлинг2Тюпаев1Дорофеев2Веретильная1Дорофеев2Григорьев1Дорофеев1Ларкомб1Дорофеев3Пчелинцева По стрчокам идут Name1, по столбцам Года, а в пересечении Фамилии. Не думаю, что это возможно в такой постановке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2008, 16:09:03 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Zalagaevкак научитьбся выводить в сводную таблицу в Экселе не цифровые значения аггрегированных функций, а текстовые значения?Сначала объясни чего тебе надо. Исходную таблицу ты показал - молодец, теперь покажи как должна выглядеть итоговая сводная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2008, 19:18:34 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
White Owl...теперь покажи как должна выглядеть итоговая сводная. По-моему, он ее вполне ясно описал на словах: 0123БорлингСвидерскийТюпаевДорофеевВеретильнаяГригорьевЛаркомбПчелинцева ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2008, 21:48:00 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Ну я не знаю.... Мне кажется что единственная сводная которая может иметь смысл на этих данных будет такого типа: Count of Name2 Year Name1 Name2 0 1 2 3 Grand TotalБорлинг Свидерский 1 1 Тюпаев 1 1Борлинг Total 1 1 2Дорофеев Веретильная 1 1 Григорьев 1 1 Ларкомб 1 1 Пчелинцева 1 1Дорофеев Total 1 2 1 4Grand Total 1 1 3 1 6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2008, 22:24:03 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL) White Owl...теперь покажи как должна выглядеть итоговая сводная. По-моему, он ее вполне ясно описал на словах: 0123БорлингСвидерскийТюпаевДорофеевВеретильнаяГригорьевЛаркомбПчелинцева вот это именно то, что мне нужно!!!!! В аксе такое я делаю легко перекрестным запросом, причем даже ячейки объединяются очень удобно, а при переносе данных в Эксель автоматически .. получаются только цифры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 10:51:40 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Zalagaev[quot KL (XL)][quot White Owl]В аксе такое я делаю легко перекрестным запросом, причем даже ячейки объединяются очень удобно, а при переносе данных в Эксель автоматически .. получаются только цифры... Так мож как-то через QueryTable сделать, если сильно нада?... Если данные из этого же файла, можно макросом прописывать его путь в параметрах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 11:12:40 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
В аксе у меня перекрестный запрос. Когда я использую Внешние данные в Экселе, то этот запрос возвршается не в виде таблицы перекрестного запроса с уже подставленными значениями, а как обычный, еще не сведенный запрос. Вот поэтому я и спрашивал, как в Экселе сделать нормальную Сводную таблицу с текстовыми значениями на перекрещении столбика и ряда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 12:24:06 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
ZalagaevВ аксе у меня перекрестный запрос. Когда я использую Внешние данные в Экселе, то этот запрос возвршается не в виде таблицы перекрестного запроса с уже подставленными значениями, а как обычный, еще не сведенный запрос. Вот поэтому я и спрашивал, как в Экселе сделать нормальную Сводную таблицу с текстовыми значениями на перекрещении столбика и ряда. 1) формулами 2) макросами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 13:02:28 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
ZalagaevКогда я использую Внешние данные в Экселе, то этот запрос возвршается не в виде таблицы перекрестного запроса с уже подставленными значениями, а как обычный, еще не сведенный запрос. А у меня получилось. "Данные/Импорт данных/Импортировать внешние данные..." - создаю QueryTable. Потом правой кнопкой - "Изменить запрос". Выбираю тип SQL и ввожу: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 17:39:00 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Ах, да... Row, Сolumn и Value - это поля таблицы на Лист1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 17:40:41 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
kyberВсе работает так, как Вы хотите... Не совсем ;-) Григорьев убирается как ненужный свидетель, за неимением своей уникальной комбинации Name1 и Year (Дорофеев-2 уже занят Веретильной). Но мне понравилось. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2008, 18:49:48 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
А, ну да... действительно убирается - из-за функции First(). Автор пишет, что он такое делал в Access перекрестным запросом. Вот мне интересно - как? У меня он упорно хочет статистическую функцию для поля-значения. Другое дело, если в Access воспользоваться сводной таблицей... Но все равно вид получается чуток не такой, как было приведено... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2008, 11:36:47 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Ой, сам догадался... Код: plaintext Все работает!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2008, 11:52:02 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
kyber ZalagaevКогда я использую Внешние данные в Экселе, то этот запрос возвршается не в виде таблицы перекрестного запроса с уже подставленными значениями, а как обычный, еще не сведенный запрос. А у меня получилось. "Данные/Импорт данных/Импортировать внешние данные..." - создаю QueryTable. Потом правой кнопкой - "Изменить запрос". Выбираю тип SQL и ввожу: Код: plaintext да. спасибо. я что-то не заметил, где в Экселе можно было поменять запрос до нужного вида. еще раз - спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2008, 16:07:45 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
kyberОй, сам догадался... Код: plaintext Все работает!!! Красиво! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2008, 16:13:46 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Коллеги, что-то мне теперь это не очень нравится. Слышком много пустых ды, как их можно упорядочить? В данном примере на Донлинка тратится 3 строчки, а на Ёорофеева целых 4, вместо 1 строчки на Донлинка и 2-х строчек на Ёорофеева. Zalagaev KL (XL) White Owl...теперь покажи как должна выглядеть итоговая сводная. 0123ДонлинкКвидерскийХрюпаевЁорофеевИвановГригорьевКозлоффПивнева ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 16:19:34 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Мдя, много вы хотите :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вроде все работает как надо, особенно если в базу не вводить дубликаты строк. P.S. Выложу завтра примерчик в формате Excel 2003 - дома стоит 2007 и пытается запихнуть QueryTable внутрь ListObject... Думаю, возможны проблемы с совместимостью обновляющего макроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 00:32:18 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
2 kyber , Я вижу у тебя классно получаются SQL запросы :-) Может поможешь, если не сложно? Дано: CC Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Total Days Acc. 5115 Acc. 513512FFR3 0 0 0 0 31 30 31 31 30 31 30 31 245 49.756 002MARC 0 0 0 0 31 30 31 31 30 31 30 31 245 33.924 6.730 Надо получить: Acc CC Month CostAcc. 5115 02MARC Jan 0Acc. 5115 02MARC Feb 0Acc. 5115 02MARC Mar 0Acc. 5115 02MARC Apr 0Acc. 5115 02MARC May 4.292Acc. 5115 02MARC Jun 4.154Acc. 5115 02MARC Jul 4.292Acc. 5115 02MARC Aug 4.292Acc. 5115 02MARC Sep 4.154Acc. 5115 02MARC Oct 4.292Acc. 5115 02MARC Nov 4.154Acc. 5115 02MARC Dec 4.292Acc. 5115 12FFR3 Jan 0Acc. 5115 12FFR3 Feb 0Acc. 5115 12FFR3 Mar 0Acc. 5115 12FFR3 Apr 0Acc. 5115 12FFR3 May 6.296Acc. 5115 12FFR3 Jun 6.093Acc. 5115 12FFR3 Jul 6.296Acc. 5115 12FFR3 Aug 6.296Acc. 5115 12FFR3 Sep 6.093Acc. 5115 12FFR3 Oct 6.296Acc. 5115 12FFR3 Nov 6.093Acc. 5115 12FFR3 Dec 6.296Acc. 5135 02MARC Jan 0Acc. 5135 02MARC Feb 0Acc. 5135 02MARC Mar 0Acc. 5135 02MARC Apr 0Acc. 5135 02MARC May 852Acc. 5135 02MARC Jun 824Acc. 5135 02MARC Jul 852Acc. 5135 02MARC Aug 852Acc. 5135 02MARC Sep 824Acc. 5135 02MARC Oct 852Acc. 5135 02MARC Nov 824Acc. 5135 02MARC Dec 852Acc. 5135 12FFR3 Jan 0Acc. 5135 12FFR3 Feb 0Acc. 5135 12FFR3 Mar 0Acc. 5135 12FFR3 Apr 0Acc. 5135 12FFR3 May 0Acc. 5135 12FFR3 Jun 0Acc. 5135 12FFR3 Jul 0Acc. 5135 12FFR3 Aug 0Acc. 5135 12FFR3 Sep 0Acc. 5135 12FFR3 Oct 0Acc. 5135 12FFR3 Nov 0Acc. 5135 12FFR3 Dec 0 Сам пока допетрил только до такого (запрос используется в ADO): Последовательно создаю запрос для каждого Acc. в таком виде (все ссылки представлены ввиде констант для наглядности): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. полученные рекордсеты (см. ниже) поочередно сливаю на временный лист 5115_Jan 5115_Feb 5115_Mar 5115_Apr 5115_May 5115_Jun 5115_Jul 5115_Aug 5115_Sep 5115_Oct 5115_Nov 5115_Dec02MARC 0 0 0 0 4.292 4.154 4.292 4.292 4.154 4.292 4.154 4.29212FFR3 0 0 0 0 6.296 6.093 6.296 6.296 6.093 6.296 6.093 6.296 и потом транспонирую с пом. цикла в нужный формат. Наверняка все проще гораздо :-) Заранее спасибо! ЗЫ: отдельно для White Owl . Это конечно прекрасный повод поглумиться над моим невежеством в SQL, но за дельные советы буду крайне признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 02:45:50 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
c нетерпением жду продолжения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 10:22:14 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL)2 kyber , Я вижу у тебя классно получаются SQL запросы :-) Я просто польщен - от тебя такое услышать :) KL (XL)Может поможешь, если не сложно? Очень интересно, попробую... P.S. "Cost", "CC" (Cost-center???), количество дней... Постановка задачи, случаем, называется не Activity Based Costing? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 11:43:02 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
kyberP.S. "Cost", "CC" (Cost-center???), количество дней... Постановка задачи, случаем, называется не Activity Based Costing? Наверное :-) Это не мое, а для приятеля. Я ему написал на скорую руку макрос который превращает его Excel с бюджетом по з/п, бонусу и соц. льготам в текстовый файл экспортируемый потом в SAP или что-то в этом роде. CC - это действительно Cost-center, Acc. - это Cost-account. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 11:57:54 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
kyberP.S. Выложу завтра примерчик в формате Excel 2003 - дома стоит 2007 и пытается запихнуть QueryTable внутрь ListObject... Думаю, возможны проблемы с совместимостью обновляющего макроса. Как и обещал, выкладываю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 13:40:03 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL)Наверняка все проще гораздо :-) Вот такой вариант в Access может чем-то помочь? (см. запрос Output) А вообще, исходные данные в очень неудобном виде... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 19:07:54 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL) ЗЫ: отдельно для White Owl . Это конечно прекрасный повод поглумиться над моим невежеством в SQL, но за дельные советы буду крайне признателен.Ну что-ж, я совсем злодей что-ли? Иногда я тоже бываю добрым :) KL (XL) Дано: CC Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Total Days Acc. 5115 Acc. 513512FFR3 0 0 0 0 31 30 31 31 30 31 30 31 245 49.756 002MARC 0 0 0 0 31 30 31 31 30 31 30 31 245 33.924 6.730 Надо получить: Acc CC Month CostAcc. 5115 02MARC Jan 0Acc. 5115 02MARC Feb 0Acc. 5115 02MARC Mar 0Acc. 5115 02MARC Apr 0Acc. 5115 02MARC May 4.292Acc. 5115 02MARC Jun 4.154Acc. 5115 02MARC Jul 4.292Acc. 5115 02MARC Aug 4.292Acc. 5115 02MARC Sep 4.154Acc. 5115 02MARC Oct 4.292Acc. 5115 02MARC Nov 4.154Acc. 5115 02MARC Dec 4.292Acc. 5115 12FFR3 Jan 0Acc. 5115 12FFR3 Feb 0Acc. 5115 12FFR3 Mar 0Acc. 5115 12FFR3 Apr 0Acc. 5115 12FFR3 May 6.296Acc. 5115 12FFR3 Jun 6.093Acc. 5115 12FFR3 Jul 6.296Acc. 5115 12FFR3 Aug 6.296Acc. 5115 12FFR3 Sep 6.093Acc. 5115 12FFR3 Oct 6.296Acc. 5115 12FFR3 Nov 6.093Acc. 5115 12FFR3 Dec 6.296Acc. 5135 02MARC Jan 0Acc. 5135 02MARC Feb 0Acc. 5135 02MARC Mar 0Acc. 5135 02MARC Apr 0Acc. 5135 02MARC May 852Acc. 5135 02MARC Jun 824Acc. 5135 02MARC Jul 852Acc. 5135 02MARC Aug 852Acc. 5135 02MARC Sep 824Acc. 5135 02MARC Oct 852Acc. 5135 02MARC Nov 824Acc. 5135 02MARC Dec 852Acc. 5135 12FFR3 Jan 0Acc. 5135 12FFR3 Feb 0Acc. 5135 12FFR3 Mar 0Acc. 5135 12FFR3 Apr 0Acc. 5135 12FFR3 May 0Acc. 5135 12FFR3 Jun 0Acc. 5135 12FFR3 Jul 0Acc. 5135 12FFR3 Aug 0Acc. 5135 12FFR3 Sep 0Acc. 5135 12FFR3 Oct 0Acc. 5135 12FFR3 Nov 0Acc. 5135 12FFR3 Dec 0 ..... Наверняка все проще гораздо :-)Ну с точки зрения формального sql это не такая уж простая задача. У sql сложности с транспонированием таблиц. Но конечно если очень нужно, то можно из первой таблицы получить вторую вот примерно так (исходная таблица имеет имя #t, ну и некоторые колоноки я переименовал): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 20:00:13 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
2 Kyber & White Owl, Огромное спасибо обоим! Я в шоке - она ж фунциклирует. Пока остановился на решении Kyber из-за его относительной малогабаритности. В приложении рабочий пример. KL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2008, 22:04:48 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL)...она ж фунциклирует... Немного поторопился :-( Пример, который я привел вначале, оказался с брачком. В столбце "СС" не уникальные значения как можно заключить из первоначального примера. Реальная таблица больше похожа на это: CC Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Total Days Acc 5115 Acc 513512FFR3 0 0 0 0 31 30 31 31 30 31 30 31 245 49.756 002MARC 0 0 0 0 31 30 31 31 30 31 30 31 245 33.924 6.73012FFR3 0 0 0 0 31 30 31 31 30 31 30 31 245 32.016 002MARC 0 0 0 0 31 30 31 31 30 31 30 31 245 19.345 012FFR3 0 0 0 0 31 30 31 31 30 4 0 0 157 56.895 24.35602MARC 0 0 0 0 0 0 15 31 30 31 30 31 168 16.456 0 Сейчас код такой (файл с примером выше0: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Вопрос: что и как надо сделать, чтобы в результирующем рекордсете данные группировались по "СС"? Т.е.: Acc CC Month CostAcc1 CC1 Jan # Feb # Mar # Apr # May # Jun # Jul # Aug # Sep # Oct # Nov # DEc # CC2 Jan # Feb # Mar # Apr # May # Jun # Jul # Aug # Sep # Oct # Nov # DEc #Acc 2 CC1 Jan # Feb # Mar # Apr # May # Jun # Jul # Aug # Sep # Oct # Nov # DEc # CC2 Jan # Feb # Mar # Apr # May # Jun # Jul # Aug # Sep # Oct # Nov # DEc # Попытки подставить в разных местах запроса " GROUP BY Data.CC " приводят к разного рода ошибкам. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 13:30:32 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Вот сваял такое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Боюсь даже на реальном файле пробовать (1000 записей, 30 CC, 12 Acc) - думаю будет считать вечность :-) Еще бы строки с нулевым значением "Cost" удалить, но "WHERE Cost <> 0" никак не всовывается :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 17:57:05 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL) KL (XL)...она ж фунциклирует... Немного поторопился :-( Пример, который я привел вначале, оказался с брачком. В столбце "СС" не уникальные значения как можно заключить из первоначального примера. Реальная таблица больше похожа на это: CC Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Total Days Acc 5115 Acc 513512FFR3 0 0 0 0 31 30 31 31 30 31 30 31 245 49.756 002MARC 0 0 0 0 31 30 31 31 30 31 30 31 245 33.924 6.73012FFR3 0 0 0 0 31 30 31 31 30 31 30 31 245 32.016 002MARC 0 0 0 0 31 30 31 31 30 31 30 31 245 19.345 012FFR3 0 0 0 0 31 30 31 31 30 4 0 0 157 56.895 24.35602MARC 0 0 0 0 0 0 15 31 30 31 30 31 168 16.456 0А в чем тогда уникальность строк? Вот например если мы возьмем CC=02MARC, по колонке Jun. Какой итоговый Cost у нас должен быть? А вообще, я бы посоветовал забыть про sql на таких данных и сделать простыми циклами. Будет быстрее и проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 18:33:04 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL)Боюсь даже на реальном файле пробовать (1000 записей, 30 CC, 12 Acc) - думаю будет считать вечность :-) Не, ничего 12-16 сек вполне сносно, хотя практически то же время, что мои циклы транспонирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 19:07:01 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Таки точно ABC :) Ну, насколько я понимаю, тебе нужно обработать каждую строку, а потом сложить стоимость у повторяющихся cost-centers. Если да - то это превосходно сделает инструкция "GROUP BY". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 20:11:06 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
White OwlА в чем тогда уникальность строк? Уникальность строк в том, что каждая принадлежит уникальному сотруднику. Просто я Employee ID не включил в таблицу как впрочем и другие столбцы. White OwlВот например если мы возьмем CC=02MARC, по колонке Jun. Какой итоговый Cost у нас должен быть? Для CC=02MARC, по колонке Jun итоговый Cost должен быть: для Acc 5115: 6.522,73 для Acc 5135: 82,41 White OwlА вообще, я бы посоветовал забыть про sql на таких данных и сделать простыми циклами. Будет быстрее и проще. Это-то я и пытаюсь понять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 20:46:16 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL)для Acc 5115: 6.522,73 Ага... Значит точка - это разделитель разрядов.... А я думаю, почему это у меня другие, как говорил мой шеф, нумеры... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 20:54:56 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
kyberТаки точно ABC :) Ну, насколько я понимаю, тебе нужно обработать каждую строку, а потом сложить стоимость у повторяющихся cost-centers. Если да - то это превосходно сделает инструкция "GROUP BY". Спасибо, kyber! Если я не ошибаюсь, то твой пример - это как раз то, что я написал выше, только я вывел еще поле "Months.Id" для правильной сортировке по месяцам: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 20:55:03 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
kyber KL (XL)для Acc 5115: 6.522,73 Ага... Значит точка - это разделитель разрядов.... А я думаю, почему это у меня другие, как говорил мой шеф, нумеры... :) Это на самом деле не принципиально на данной стадии - все равно числа те же. Вся ирония ситуации в том, что я использую запятую для разрядов, а для русского форума перевожу ее в точку :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 20:59:40 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
White OwlВот например если мы возьмем CC=02MARC, по колонке Jun. Какой итоговый Cost у нас должен быть? В финале должна получиться такая таблица (Cost округлен до целых): Acc CC Month Cost5115 02MARC Jan 05115 02MARC Feb 05115 02MARC Mar 05115 02MARC Apr 05115 02MARC May 6.7405115 02MARC Jun 6.5235115 02MARC Jul 8.2095115 02MARC Aug 9.7775115 02MARC Sep 9.4615115 02MARC Oct 9.7775115 02MARC Nov 9.4615115 02MARC Dec 9.7775115 12FFR3 Jan 05115 12FFR3 Feb 05115 12FFR3 Mar 05115 12FFR3 Apr 05115 12FFR3 May 21.5815115 12FFR3 Jun 20.8855115 12FFR3 Jul 21.5815115 12FFR3 Aug 21.5815115 12FFR3 Sep 20.8855115 12FFR3 Oct 11.7965115 12FFR3 Nov 10.0135115 12FFR3 Dec 10.3475135 02MARC Jan 05135 02MARC Feb 05135 02MARC Mar 05135 02MARC Apr 05135 02MARC May 855135 02MARC Jun 825135 02MARC Jul 855135 02MARC Aug 855135 02MARC Sep 825135 02MARC Oct 855135 02MARC Nov 825135 02MARC Dec 855135 12FFR3 Jan 05135 12FFR3 Feb 05135 12FFR3 Mar 05135 12FFR3 Apr 05135 12FFR3 May 4.8095135 12FFR3 Jun 4.6545135 12FFR3 Jul 4.8095135 12FFR3 Aug 4.8095135 12FFR3 Sep 4.6545135 12FFR3 Oct 6215135 12FFR3 Nov 05135 12FFR3 Dec 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2008, 21:08:47 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL) White OwlВот например если мы возьмем CC=02MARC, по колонке Jun. Какой итоговый Cost у нас должен быть? В финале должна получиться такая таблица (Cost округлен до целых): Acc CC Month Cost5115 02MARC Jan 05115 02MARC Feb 05115 02MARC Mar 05115 02MARC Apr 05115 02MARC May 6.7405115 02MARC Jun 6.5235115 02MARC Jul 8.2095115 02MARC Aug 9.7775115 02MARC Sep 9.4615115 02MARC Oct 9.7775115 02MARC Nov 9.4615115 02MARC Dec 9.7775115 12FFR3 Jan 05115 12FFR3 Feb 05115 12FFR3 Mar 05115 12FFR3 Apr 05115 12FFR3 May 21.5815115 12FFR3 Jun 20.8855115 12FFR3 Jul 21.5815115 12FFR3 Aug 21.5815115 12FFR3 Sep 20.8855115 12FFR3 Oct 11.7965115 12FFR3 Nov 10.0135115 12FFR3 Dec 10.3475135 02MARC Jan 05135 02MARC Feb 05135 02MARC Mar 05135 02MARC Apr 05135 02MARC May 855135 02MARC Jun 825135 02MARC Jul 855135 02MARC Aug 855135 02MARC Sep 825135 02MARC Oct 855135 02MARC Nov 825135 02MARC Dec 855135 12FFR3 Jan 05135 12FFR3 Feb 05135 12FFR3 Mar 05135 12FFR3 Apr 05135 12FFR3 May 4.8095135 12FFR3 Jun 4.6545135 12FFR3 Jul 4.8095135 12FFR3 Aug 4.8095135 12FFR3 Sep 4.6545135 12FFR3 Oct 6215135 12FFR3 Nov 05135 12FFR3 Dec 0 Ну тогда все довольно просто. Добавь в свой макрос стейтмент типа такого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Запрос формируется в два приема, потому что VBA не хочет принимать столько много разрывов строки. Конечно ее можно сфорировать и циклом, было бы желание... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2008, 01:01:25 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
А меня заинтересовала сама задачка... Как раз сейчас я начинаю заниматься Activity Based Costing - мне кажется, как раз это и считается в твоем примере. KL (XL) , если у тебя есть еще какие-то файлы по этой задаче (меня интересует только внутренняя логика), ты можешь бросить мне на kyber@ua.fm? Думаю, с конфиденциальностью проблем быть не должно - я живу в Днепропетровске, не знаю, о какой компании идет речь, и полный набор данных мне не нужен. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2008, 11:48:39 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
kyberА меня заинтересовала сама задачка... Как раз сейчас я начинаю заниматься Activity Based Costing - мне кажется, как раз это и считается в твоем примере. KL (XL) , если у тебя есть еще какие-то файлы по этой задаче (меня интересует только внутренняя логика), ты можешь бросить мне на kyber@ua.fm? Думаю, с конфиденциальностью проблем быть не должно - я живу в Днепропетровске, не знаю, о какой компании идет речь, и полный набор данных мне не нужен. Спасибо. Вообще файл не мой и к тому же гад на испанском (переводить замучаешься). Если хочешь, на след. неделю могу попробовать прислать более подробный пример-схему. Но уже сейчас ясно, что White Owl был прав - транспонирование гораздо быстрее делать через цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2008, 02:05:29 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL (XL)Но уже сейчас ясно, что White Owl был прав - транспонирование гораздо быстрее делать через цикл.Дык! :) Сталкиваясь с SQL люди почему-то думают что это такие волшебные команды которые сами сразу делают все выборки без вских там переборов данных. На самом то деле, внутри каждого SELECT'а прячется куча циклов, причем эти циклы частенько не оправданны. Поэтому, чаще всего, обращение к листу Экселя через ADO будет намного медленнее чем самостоятельная обработка данных через VBA и функции Экселя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2008, 19:46:53 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL, посмотри мой вариант :-) Попробуй запустить его на реальном файле и скажи время выполнения ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2008, 17:03:53 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Что-то я засомневался в хорошей скорости работы того варианта для большой таблицы. Посему предлагаю оптимизированный вариант. Мой прогноз для таблицы в 1000 строк - пару десятых долей секунды :-) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 03:40:19 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Что-то я засомневался в хорошей скорости работы того варианта для большой таблицы. Посему предлагаю оптимизированный вариант. Мой прогноз для таблицы в 1000 строк - пару десятых долей секунды :-) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2008, 03:42:50 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
Нашёл один баг и одну ошибку в алгоритме. После работы над одибками решил проверить на условных данных - 1000 строк, 30СС и 12 Асс :-) Как я и предполагал, время выполнения - пару десятых секунды :-) Мой комп справляется чуть менее, чем за 0,5 с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 17:33:17 |
|
||
|
Сводная таблица в Экселе - Строки вместо чисел
|
|||
|---|---|---|---|
|
#18+
KL, только не молчи! Скажи свой отзыв ! Ведь для тебя старался ! :-) Пошло, не пошло, понравилось, не понравилось ну и, самое главное, время выполнения на твоих данных ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 17:52:50 |
|
||
|
|

start [/forum/topic.php?all=1&fid=61&tid=2180033]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
199ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 185ms |
| total: | 469ms |

| 0 / 0 |
