Страницы: 1
RSS
Выведение признака по числу повторений в списке
 
Друзья, коллеги, добрый день.
Ситуация: есть файл, демонстрирующий оборот вагонов на комбинате, он содержит:
1) Статус - вагон прибыл/зачислен/подан под грузовую операцию/списан
2) Дата обновления статуса
3) Номер вагона
4) Признак того, груженый вагон или порожний

На этапе 3 вагон подается под грузовую операцию, и может быть либо погружен (одинарная ГО), либо разгружен (одинарная ГО), либо разгружен и снова погружен (сдвоенная ГО), на этапе 4 - списывается с комбината. Вагон может прибыть на комбинат несколько раз подряд в течение отрезка времени.

Вопрос:
1) Как определить, под какой тип грузовой операции приехал вагон?
2) Как определить, в какой раз вагон приехал на комбинат?

P.S. в оригинальном файле 130000 строк, нужно эти вещи вписать в каждой строке, чтобы потом загнать в систему

Помогите, пожалуйста!
Изменено: tsdlexx - 12.07.2024 17:45:32
 
Добрый день.
Ничего не понял по типам операций,  "разгружен" нет там такого, есть ГРУЖЕНЫЙ/ПОГРУЖЕН/ПОРОЖНИЙ и как нам это понимать непонятно - это до или это после?
Заполнили бы что должно быть хоть по одному вагону.
Ну а посчитать сколько раз встречался номер -это счётесли() вверх, но нужно отсортировать по возрастанию дат, они ведь в таком порядке приезжают ))
 
Да, с порядковым номером вроде разобрался
А по поводу грузовой операции я упростил немного, чтоб было понятнее (новый файл)
Смотрите:
1) Вагон приезжает на комбинат (1. ПРИБЫТИЕ) в статусе ГРУЖЕНЫЙ или ПОРОЖНИЙ.
2) На комбинате вагон проходит через одну из трех грузовых операций (мы не знаем через какую), его статус при списании изменяется:
  а) Либо из ГРУЖЕНЫЙ в ПОРОЖНИЙ (такая операция называется ОДИНАРНАЯ)
  б) Либо из ПОРОЖНИЙ в ГРУЖЕНЫЙ (такая операция называется ОДИНАРНАЯ)
  в) Либо статус не меняется, прибыл ГРУЖЕНЫЙ и уехал ГРУЖЕНЫЙ (такая операция называется СДВОЕННАЯ)
3) Вагон уезжает с комбината (2. СПИСАНО) в статусе ГРУЖЕНЫЙ или ПОРОЖНИЙ
 
Не, тогда уж нужен первый файл, Вы ведь не будете из источника выкидывать все записи с
2. ЗАЧИСЛЕНИЕ
3. ПОДАНО    
Или анализировать только
1. ПРИБЫТИЕ  
2. СПИСАНО  
впрочем тоже можно если так.
Но как это формулами делать... не берусь.
Если возможно использовать UDF - можно подумать...

P.S. числа почему меняются:
то
1. ПРИБЫТИЕ  
2. ЗАЧИСЛЕНИЕ
3. ПОДАНО    
4. СПИСАНО  
то
1. ПРИБЫТИЕ  
2. СПИСАНО  

Нужно выбрать для каких данных писать решение, или эти числа вообще не существуют, но это тут тогда только осложняет всем жизнь.
Изменено: Hugo - 12.07.2024 18:50:54
 
Вообще думаю это нужно делать не формулами, а:
варианты:
1. SQL по источнику прямо в базе, добавляя поле с этим признаком
2. PQ если уже есть только этот файл
3. макросом
4. одной массивной UDF, что по сути тот же макрос

Делать на 130000 строк формулами - даже наверное на динамических массивах не дело...
 
Написал пока макрос для этого файла.
Сперва отсортировать по датам по возрастанию!
В файле уже отсортировано.
Жать кнопку.
Интересно как отработает на 130000 строк.
В коде нужно поправить диапазоны, для рабочего можно сделать что будет определять диапазон автоматически, и даже сперва его сортировать.
Сперва отсортировать по датам по возрастанию!
В принципе если усложнить код то можно сортировать в нём. Но неохота усложнять. да и скорость сильно упадёт.
 
По первому более полному файлу тоже есть версия макроса, и уже с подсчётом прибытий, но там есть неясные моменты:
1. что писать вагону который прибыл ГРУЖЕНЫЙ, а списан ПОГРУЖЕН?
2. что писать вагону который прибыл ПОРОЖНИЙ, а списан ПОГРУЖЕН?
Страницы: 1
Читают тему
Наверх