[oodisc] Сводная таблица в OpenCalc

Владислав Орлов software на pro-za.com.ua
Чт Апр 14 12:35:46 MSD 2005


В сообщении от Среда, 13-Апр-2005 18:24 Vladislav Tsapko написал(a):
> Тут я пробовал по разному, даже перетаскивал однин единственный столбец,
>   результат тот же.
Вот-вот, об этом-то я и спрашивал: куда именно перетаскивался этот самый один 
столбец?
В классическом варианте мы должны чего-то там перетащить в "СТРОКА" 
какое-нибудь поле (текстовое - "Покупатель", "Филиал", "СчетДеб" - или дату) 
чтобы создать категории группировки данных. Иногда и "Сумму" можно 
перетащить, если их - сумм - не очень много, а хочется пересчитать количество 
единиц в каждой "весовой категории". Если перетащено несколько критериев, они 
датут вложенные категории в том порядке, как перечислены сверху вниз. 
Например, в итоговой сводной таблице первая колонка "Филиал", а вторая - 
"Покупатель". Тогда "Покупатели" будут сгруппированы по отдельным филиалам.
Кроме того, чего-то там перетаскивается в "Колонка" - второй разрез данных. К 
примеру, если в "СТРОКА" затолкаем "СчетДеб", а в "Колонка" - "СчетКред", то 
получим классическую шахматку "каждый-с-каждым". И - наконец-то самое 
главное! - чего-то там перетаскиваем в "ДАННЫЕ". Сплошь и рядом это какое-то 
числовое значение, которое нужно просуммировать, поэтому по-умолчанию для 
этого поля и стоит операция "СУММА". Но если щелкнуть по кнопке "Параметры", 
можно увидеть весь перечень доступных операций - и "Количество", и "Минимум", 
и "Максимум", и "Среднее" и чего там только нет...
Это был классический вариант сводной таблицы. В частных случаях допускается не 
указывать разворот по столбцам (ничего не указываем в "Колонки") или по 
строкам (соответственно - пустота в "СТРОКА"). Тогда получаем что-то эдакое в 
два столбца, что можно было бы получить и через "Даные"->"Промежуточные 
итоги". Ну, или в две строки - во втором случае.
В совсем уж частном случае, можно не указывать ни "Строка", ни "Колонки" - 
получим одно число - общую сумму, например - с заголовком. (Гора родила мышь 
- КПД низкий).
Демократичный ООо разрешает даже указать, скажем, только "СТРОКА", ничего не 
перетащив в "Колонка" и "Данные". В этом случае получим отсортированный в 
порядке возрастания список значений без повторяющихся элементов. В терминах 
SQL это обычно называется "SELEC DISTINCT... ORDER BY...ASC" - именно так 
запишем в тексте запроса (если облом писать, в дизайнере запроса есть кнопка 
"Однозначные значения"-"Лейка-раз-два-три"и поле "Сортировка") и получим без 
всяких сводных таблиц. А в Calc'е реализуется через фильтр - стандартный или 
расширенный - с указанием "Без повторений" в "Деталях".
"Уважение прав и свобод пользователя-камикадзе" со стороны ООо 
распространяется так далеко, что он разрешает тот же финт проделать и с 
"Колонка" - хозяин-барин, хочет получить строку отсортированных уникальных 
значений, так пусть получит. И вот здесь, если результат операции превышает 
ширину листа (256 колонок), ООо оказывается на высоте! Любой системный 
администратор на его месте топал бы ногами, плевался и орал "Что ж ты 
делаешь, такой-растакой?!!", а ООо скромно и терпеливо повторяет "Ошибка 
создания сводной таблицы - ОК".
> Ошибок там нет, раз уж данные легко скопировались перетаскиванием,
Не факт! При перетаскивании данные не проверяются очень уж подробно... 
"Поехавшая" дата "20011203" (третье декабря 2001 года) даже превратившись в 
"22001120" (20 ноября 2200 года) датой быть не перестает...
> броски по питанию полностью исключены: несколько ступеней резервирования
> по питанию.
Искренне завидую!..
> Вопрос снимается,
Нет уж, коллега, позвольте! Вы эту кашу заварили - Вам ее и заканчивать 
словами "Все получилось! Ошибка была из-за того-то и того-то..."
А то ведь у бедняги ООо репутация может пострадать... "Да, денег не крал... Но 
осадок неприятный остался..."

-- 
Всего доброго!
Владислав Орлов aka JohnSUN


Подробная информация о списке рассылки Oo-discuss