Добрый день.
Есть вагонный парк, вагоны которого колесят по разным маршрутам, перевозя те или иные грузы. Из журнала можно вытащить номер вагона, дату прибытия на станцию погрузки, дату убытия со станции выгрузки. Этими датами в одной строке ограничиваются груженный (рабочий) пробег вагона.
Требуется расчет полезного времени вагона по месяцам, когда он был в работе. При этом некоторые рейсы могут начаться в одном месяце, а закончиться в следующем. Надо, чтобы "грузовые" дни попадали в соответствующий период. Простой пример для понимания сути - во вложении.
Делал два рабочих варианта:
1. в виде матрицы, в первом столбце были календарные дни по порядку, а в первой строке - номера вагонов. На пересечении формулы, которые тянут с листа с журналом данные и ставят единичку, если в этот день тот или иной вагон был в рейсе. Но вычисления при нескольких сотнях вагонов и в годовом периоде происходят прямо несколько минут.
2. попробовал заполнять эту же матрицу макросом, в котором во вложенных циклах прогоняются данные с журнала. Но на примере с небольшим временным диапазоном и даже с парой номеров вагонов стало ясно, что это не вариант - еще дольше, причем гораздо.
Есть ощущение, что в Power Pivot мерами, функциями DAX будет гораздо быстрее. Но мозг себе сломал как это сделать, когда в данных есть две даты в одной записи и еще они могут в разные отчетные периоды попадать. Какие-то вещи, связанные с деньгами, количеством я еще могу сделать, но, когда с датами и временными диапазонами - не получается.
Нужна помощь для решения методами Power Pivot для расчета "рабочих" дней вагонов, временные функции DAX, две ключевые даты в строке данных
21.09.2020 09:44:30
Yerlan, в дополнение к решению от Андрей VG, если вагонов очень много и строчек получится много миллионов, то для оптимизации перед в загрузкой модель данные можно сгруппировать. Например, если в отчете данные требуются в разрезе месяцев, то для каждого вагона/ месяца сгруппировать данные с подсчетом количества дней. Тогда моделька будет просто летать.
P.S. и вам надо с вашими формулами определиться, в июле вы корректно посчитали, а в августе/сентябре как-то не очень - дни теряете.
Изменено:
Вот горшок пустой, он предмет простой...
|
|
|
|
21.09.2020 10:01:55
Да, спасибо большое. Очень полезно.
Пытаюсь освоить DAX, а методы, которые кроются на уровне Power Query, блин... Надо серьезно поизучать. |
|
|
|
21.09.2020 10:05:08
Yerlan, DAX нужно применять к правильно организованным данным. У вас данные для DAX организованы не правильно. Значит их нужно преобразовать и потом уже производить анализ. Инструментом преобразования для Power Pivot служит Power Query. Так что в любом случае рекомендую начать с него. Тут у хозяина сайта и
Изменено:
Вот горшок пустой, он предмет простой...
|
|
|
|
21.09.2020 10:45:10
|
|
|
|
21.09.2020 10:56:12
Андрей VG, дык я ж не спорю. Но у меня есть разные файлики с разной детализацией, ибо 100 метровую дуру по которой рассчитываю всякое интересное в почту не протолкнешь и в эксель-онлайн она если и откроется (что не факт), то поворачивается с трудом. А сгруппированный файлик - ляпота.
Вот горшок пустой, он предмет простой...
|
||||
|
|
|||