Как в Libre Office можно консолидировать данные из разных фа...

Автор ForumOOo (бот), 4 ноября 2015, 16:49

0 Пользователи и 1 гость просматривают эту тему.

ForumOOo (бот)

Компонент: Calc
Версия продукта: 5.x
Сборка: LibreOffice
ОС: Win 7, Win 8.1

Как в Libre Office можно консолидировать данные из разных файлов аналогичной структуры?
Например есть два (на самом деле больше) отчета с множеством показателей, которые нужно просуммировать в Итоговом файле, в MS Excel для этого
есть опция "Консолидировать", аналогом этой функции в Libre, предположительно, служит опция "Объединить".
Но проблема в том, что Libre не позволяет указать источником данных диапазон из другого файла. Из другого листа того же файла - пожалуйста, но
не из другого файла.
Может быть, это где-то нужно настроить? Ведь с уже созданными в MS Excel консолидированными файлами (отчетами) Libre работает прекрасно,
обновляет ссылки на источники, все корректно просчитывает, лишь создать аналогичный итоговый файл не дает.

Тестовый файл: http://forumooo.ru/attachments/upload/2015-11-04-15-34-04-itogo.jpg (266.68 КБ)

--
Подпись: marisa85
Эл. почта: deviantmarisa85@ya.ru

rami

Цитата: ForumOOo (бот) от  4 ноября 2015, 14:49Может быть, это где-то нужно настроить? Ведь с уже созданными в MS Excel консолидированными файлами (отчетами) Libre работает прекрасно,
обновляет ссылки на источники, все корректно просчитывает, лишь создать аналогичный итоговый файл не дает.
Было бы интересно посмотреть на консолидированный файл созданный в MS Excel. Я не нашёл прямой возможности объединить данные из других файлов, но можно сначала импортировать данные из других файлов в текущий документ со связью (можно на скрытый лист), а затем объединить.

economist

Как обычно в OpenOffice и LibreOffice - способов "втащить" данные из нескольких файлов несколько:

1) Меню - Лист (кто бы мог подумать!??) - Вставить Лист - Из файла (связь)

2) Лист - Вставить Лист Из файла (связь)

3) Лист - Ссылка на внешние данные - выбрать ODS/XLS

4) Использовать Источник данных ODBC (сначала создать его, потом создать из него ODB. потом F4 и перетащить на разные или один лист, вверху оставить строку для формул консолидации)

5) Часто делал так - макрос на закрытие документа - экспортирует диапазон в TXT-файл с разделителем Табуляция, причем TXT-файл один и Дописывается макросом. В ODS делаем Лист - Вставить Лист Из файла (связь) - ищем TXT и вуаля.

6) Делал и так: создаем БД ЩВИ, прилинкованную к разным/одному TXT типа вот так:

SET TABLE "ОСВ1" SOURCE "ОСВ1.txt;ignore_first=true;fs=\t;encoding=OEM"
SET TABLE "ОСВ2" SOURCE "ОСВ2.txt;ignore_first=true;fs=\t;encoding=OEM"
итп

И получить ОДНУ автообновляемую при открытии таблицу путем создания Представления/View примерно так

SELECT * FROM ОСВ1
UNION
SELECT * FROM ОСВ2
 


Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

economist

Если данных много - то и тащить их в Calc не нужно, консолидируем прямо в BASE SQL-запросами. Если создать индексы - скорость SQL-консолидации будет в 5-10 раз выше скорости формул или сводных таблиц в Calc.

SQLite БД в BASE будет еще раза в 2 быстрее, при редком обновлении и одновременном доступе на чтение 3-5 клиентов она будет быстрее любых других СУБД.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...