|
|
|
Выбор записей из двух таблиц при не полном соответствии анализируемых полей
|
|||
|---|---|---|---|
|
#18+
Для того, чтобы позвонить за рубеж более дешево часто используется двух ходовой набор номера. Т.е. клиент звонит через свою телефонную компанию А, на сервисный (внутригородской) номер другой компании B. После соединения с сервисным (внутригородским) номером телефонной компании B – клиент набирает собственно нужный номер своего конечного абонента за рубежом. Суммарная стоимость зарубежного звонка в этом случае, дешевле стоимость звонка за рубеж только через компанию А. В результате у клиента за один и тот же звонок в счетах компании А и B появляются две записи. Оба эти счета клиент получает в ввиде файлов-Excel и ему необходимо автоматичсески сопоставить эти две записи из двух счетов компаний А и B. Сопоставление скорее всего будет делаться в Access. Причина необходимости сравнения: Время от времени производится неправильное начисление денег за один и тот же разговор. Например: 1. Разговор фактически закончился, а телефонная компания A все еще продолжает учитывать время разговора. 2. Телефонная компания A в пределах одного и того же соединения через компанию B начинает учитывать разговор самостоятельно еще и по зарубежному тарифу, продолжая учет и по дешевому внутрегорордскому тарифу. Время разговора и собственно оплата будет в общем случае состоять из двух частей: -соединение с вашего телефона через основную компанию А на сервисный номер дешевой компании В и время пока клиент будет в компании B соединяться и разговаривать со своим абонентом – это полное время, -и соединение от дешевой компании B с вашим абонентом за рубежом – это собственно дешевой время. Каждая из этих телефонных компаний A и B фиксирует эти соединения и предоставляет клиенту данные о разговоре (дата и время начала, длительность, тариф, общая сумма за разговор) в виде счета или отчета о звонках. В счете компании А в качестве набранного номера указывается сервисный номер компании B, а в счете компании B указывается номер собственно конечного абонента. Необходимо автоматически сопоставлять какой строке в отчете компании A – соотвествует строка в отчете компании B. Проблема заключается в том, что совпадает только дата разговора, а начала разговора нет. Например, в счете компании А зафиксировано начало соединения в 17:31:30 с номером компании B c длительностью соединения соединения 00:10:12 – время тарифицируется по секундно. В счете компании В начало соединение с конечным абонентом зафиксировано уже в 17:32:10. Длительность соединения в принципе должна быть 00:09:32. Однако клиенту засчитывается только 9 минут, т.к. время в компании B тарифицируеся только полными минутами разговора. В пределах одного часа клиент может позвонить абоненту несколько раз, поэтому выделить для сравнения соединений дату и только час в двух разных счетах не всегда будет подходить. Как найти соответствие записей-соединений в счетах двух разных телефоных компаний A и B собственно за один и тот же разговор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 12:24:19 |
|
||
|
Выбор записей из двух таблиц при не полном соответствии анализируемых полей
|
|||
|---|---|---|---|
|
#18+
Приведенное описание говорит о том, что это невозможно. Если человек в течение часа провел 2 разговора, то будет 2 записи тут и 2 записи там. Имхо, если их соотнести между собой произвольно, то беды не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2004, 12:49:18 |
|
||
|
Выбор записей из двух таблиц при не полном соответствии анализируемых полей
|
|||
|---|---|---|---|
|
#18+
1. Оказалось, что время окончания разговора в печатном отчете и получаемом в мвиде файла представлено не совсем одинаково: В печатной версии – время с точностью до 1 секунды 17:49:29, а в файле – с точностью до минуты 17:49. Ну эта ошибка легко поправима. 2. Почему же нельзя, а если применить функцию типа ВПР (вертикальный поиск) используемую в Excel. По указанному критерию поиска ищется запись, у которой совпадает значение. Если значение не совпадает точно – то выдается само значение, Если не совпадает - то ближайшее меньшее. Остается научиться позиционировать найденную строку, ее выделение, считывание и вставка в нужное место итоговой таблицы Проверил: – работает как для числовых значений так и для времени. Таким образом можно найти строку с временем разговора в диапазоне из двух записей и брать либо ближайшее меньшее либо следующее большее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 09:04:50 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32654666&tid=1672382]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 314ms |

| 0 / 0 |
