[Решено] Расчитать данные из таблицы по неделям для графика.

Автор Alexcostariha, 6 октября 2021, 11:30

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

Alexcostariha

Версия: 6.2.8.2
Д1:6.2.8~rc2-0ubuntu0.16.04.1
Ubuntu 16.04.6 LTS
Добрый день!
У меня есть таблица с данными. В ней имеются колонки с данными: дата и число. Мне нужно просуммировать данные понедельно за год из этих колонок. Таким образом, чтобы учитывалась каждая неделя года и суммы  чисел по каждой неделе. Далее мне нужно будет построить по этим данным график. Неделя- это с понедельника по воскресенье.

sokol92

#1
Сводная таблица в Вашем распоряжении.
Для группировки дат в сводной таблице выделите любую дату, далее Меню / Данные / Группа и структура / Группировать. Выбирайте группировать по дням, число дней 7. Стартовая дата в Вашем случае - понедельник 01.01.2018.
Владимир.

rami

Alexcostariha, вы хорошо сформулировали задачу, но есть ещё вопрос "Какая неделя первая в году?". Почитайте в Справке про WEEKNUM, что вам подойдёт.

Я добавил в ваши данные ещё два года. Выбор года в ячейке M1.

kompilainenn

Цитата: rami от  6 октября 2021, 15:04Какая неделя первая в году?
А какая разница в данном контексте, какая первая неделя? Если 1 января - это воскресенье и там есть данные, то это и будет первая неделя в расчете, а вовсе не неделя со 2 по 8 января. Разве нет?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут


Alexcostariha

sokol92
Вы задали направление, которое было для мня неясным-"Сводные таблицы". Пришлось посмотреть короткое видео по ним.
В результате у меня даже что-то получилось. Что в этом случае хорошо-видны даты недель. Смотрите вложенный файл.

rami
Вы показали наиболее завершённое решение-и даже с графиком! Немного меня смущают провалы в данных равные нулю-вроде бы их не должно быть.
Очень здорово, что  сделали разметку по номерам недель - я пытался уже строить графики и заметил, что так удобней потому, что простые номера лучше видны по оси абсцисс, по сравнению с разметкой по датам. Там ещё нужно сетку уметь настраивать - у вас она максимально подробная.
Немного смущает затруднения с привязкой дат к номерам недель. Видимо можно добавить календарик. 
Что касается начала недели - спасибо sokol92 и в Weekend пишут то же самое, наверное лучше делать привязку первой недели года к официальным стандартам, например как в производственном календаре. Часть данных при этом теряется, но это можно пережить. В конце концов 01.01.2018 -понедельник-это случайно вышло; и далее можно строить до наших дней.
В общем  - научите!
Да ещё такой вопрос-тоже возникает при построении графика-как бы эти данные ещё и спрятать, чтоб не занимали место. Но не очень далеко. Но это уже так - может и не нужно. Я методом тыка выяснил, что графики можно сохранять в виде изображения и далее на распечатку.

rami

Цитата: Alexcostariha от  6 октября 2021, 17:32Немного меня смущают провалы в данных равные нулю-вроде бы их не должно быть.
У вас с 26/04/18 по 27/06/18 — это 9 недель, нет никаких данных, поэтому показывает нули. Кстати на вашем снимке в ответе 5 тоже видно, что отсутствуют эти же недели без данных.

Alexcostariha

Да, я потом заметил именно по изображению. Это же надо, чтобы сравнить данные, в уме скажем 19 недель умножить на 7 и поделить на 30-страшное напряжение :-)))).
Возможно я плохо снял фильтры.
Очень рассчитываю на урок волшебства. Просто взять файл и им пользоваться не понимая что и откуда грустновато.

sokol92

#8
Цитата: Alexcostariha от  6 октября 2021, 20:58рассчитываю на урок волшебства
Так Вы уже самостоятельно начали движение - это лучший путь познания. В примере из #5 создайте график: выделите любую ячейку сводной таблицы Меню / Вставка / Диаграмма. Не стесняйтесь экспериментировать с параметрами. График можно поместить в любое место документа.
То же с примером от @rami (кстати, на форуме есть много содержательных примеров от корифеев). Выделите необходимые данные (диапазон L2:M55) и вставляйте диаграмму.
Владимир.

Alexcostariha

 Добрый день! Прогнал на реальных данных-вроде ничего, работает. Отлично.
Только пришлось ручками строки добавлять, с перепугу.
Потом посмотрел - можно количество строк для данных менять через Лист → Именованные диапазоны и выражения → Управление ! Или Ctrl+F3  :roll:

1) Добавление других годов - 2020 и 2021 : Данные→Проверка.
Оказывается там можно набирать текст.  ^-^ См. вложение.
Чисто случайно заметил. Очень неплохо-даже не знал!
2) У меня такая проблема: столбец K связан со столбцом I. Причём возникает такая ситуация, что ЕСЛИ K>I, то надо учитывать значение из I, а во всех остальных случаях-не нужно.
Я знаю про функцию ЕСЛИ, но не понимаю, куда её прописать. Потому, что в формуле из столбца M вообще нет ссылки на столбец K.
Я на всякий случай положу файл, где  указана парочка значений для столбца I.
Вручную пробовал учитывать-очень неудобно-пропускаю такие ячейки.

sokol92

Самое простое (и естественное) - добавить еще один столбец, содержащий формулу с функцией ЕСЛИ, и назначить имя "объем" на этот столбец.
Владимир.

Alexcostariha


sokol92

Владимир.

Alexcostariha

#13
Спасибо большое rami, sokol92!!
Проблема решена.

С формулой СУММПРОИЗВ из столбца по имени "Объём" разобрался по Справке Libreoffice:
это формула массива SUMPRODUCT(по-русски Справка не понимает).  
Она суммирует числа из именованного диапазона в колонке K - Объём, с фильтрами по году(функция ГОД) и номеру недели(функция НОМНЕД) ;
ГОД берёт данные из M1;
НОМНЕД(WEEKNUM) берёт даные  из именованного диапазона в колонке A - Дата согласно  номеру недели из  колонки L ;
начало недели понедельник(цифра 2); можно менять произвольно, как пишут в справке.
Массив SUMPRODUCT может работать как простая функция и служит для умножения столбцов, но когда имеется всего один столбец, суммирует данные из этого столбца
(интересно он умножает суммируемые цифры на один или просто суммирует?).
Красота! :)

Я создал шпаргалку по итогам обсуждения, см. вложенный файл. Фото и файлы можно взять из обсуждения или создать свои.


sokol92
Цитироватьна форуме есть много содержательных примеров от корифеев

Я даже знаю где.
Это первая статья, которую я просмотрел при поиске решения проблемы.
Там McAaron очень вкусно рассказывает про Gnuplot.
Чтобы узнать где найти Gnuplot я последовал совету Великого Мастера  kompilainenn:
"...в гугле, а про гугл можно узнать в интернете. В адресной строке вашего браузера (которым Вы смотрите Интернет) вбейте gnuplot и нажмите Энтер"  ;D

Таким образом у меня вначале сформировался образ решения проблемы:
1)  перевести свой файл в формат "*.csv";
2) строковым редактором типа AWK  извлечь нужные данные в простой файл # тут пришлось бы долго разбираться в основах работы с AWK
3) с помощью программы GNUPLOT построить график # овладеть искусством работы Gnuplot.
Ещё раз спасибо! :beer:



economist

#14
Пара слов по графикам вообще от практика, нарисовавшего их мульен.

Сейчас половина всех визуализаций в мире (десктопы, Google Colab, AWS итд) - делается на языке Python в его тетрадках в среде Jupyter/Lab с графическими библиотеками matplotlib, seaborn (эти две полностью копируют стили ggplot2, gnuplot), а также  plotly, bokeh, altair и др. Эти технологи все бесплатны, свободны, доступны и в LO. У них нет ограничений, CSV файл с 10 млн строк загрузится и превратится в JPG/PNG/SVG или интерактивный масштабируемый график... с 4-мя рядами за 10 секунд. А причесать данные можно в Pandas, мои кейсы есть на Форуме.

Оставшаяся половина - это дорогие платные PowerBI, Tableau, Qlik. Но выглядят они так же, там тоже давно "вкрались нищебродские" Python+Pandas, а скорость работы сопоставима с бесплатным.

*.ipynb- тетрадка это не только интерактивный код, это сразу форма отчета, документация, повторимое исследование. Оно внутри конторы или в мире доступно по https-ссылке, шифрование/токены - все из коробки, под любой ОС.

И еще. Искусство рисования графиков - медленно но верно уступает пальму первенства искусству дэшбординга, поскольку статичные одиночные графики - "мертвы". Делать борд в Calc или Excel - можно, но сложно, без макросов не обойтись. Бесплатно PowerBI не работает с базами более 1 GB в RAM (это ларек), Google Data Studio не приватна (как и первая). Тут опять приходит на выручку экосистема Python c его Plotly Dash, Atoti и др. решениями: бесплатно навсегда, приватно, быстро и универсально - наработки пригодятся и в платных решениях с тарифными планами на десятки тыс уе.

Утилита GNUPLOT только рисует графики, это верхушка айсберга. К ней нужны десятки утилит и ухищрений, чтобы донести результат до получателя в лучшем виде. И это не будет интерактивно, а большинству (эффективных менеджеров) - нужно именно это. Так что дэши, пандас - это будущее визуализаций.                                          
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...