Есть ли способ смоделировать ответы в потоке коммуникации? - PullRequest
0 голосов
/ 29 мая 2019

У меня есть таблица со следующими столбцами:

communication_id | communication_date | company_id | customer_id | salesperson_id | medium | is_incoming | is_outgoing | ** communication_text 1012

, где communication_id - это зерно таблицы, а medium могут быть значениями, такими как phone, sms и т. Д. is_incoming и is_outgoing являются столбцами индикатора для направления связи в перспектива продавца. Если продавец отправит сообщение, у нас будет 0 для is_incoming и 1 для is_outgoing.

Итак, учитывая customer_id, заказанный communication_date, у меня есть канал связи между этим клиентом и его продавцом. Если я вижу, что у продавца было 2 входящих сообщения, а затем было 1 исходящее сообщение с этим клиентом, то наше правило / вывод заключается в том, чтобы пометить это исходящее сообщение как ответ, и так далее, и так далее. По этой логике только is_outgoing сообщения могут быть ответами. Итак, я думаю, что мне нужно сделать, это построить столбец is_salesperson_reply, который указывает, было ли сообщение ответом. Я думаю, что было бы также полезно, если бы на поверхности было communication_id сообщения, на которое они отвечают, как salesperson_replied_to_communication_id, и отметка времени этого как salesperson_replied_to_at.

То, что я пытаюсь написать, это запрос на выборку, который выводит сводку по общению с продавцом; Я уже могу создать таблицу, в которой у меня есть каждый продавец и общее количество сообщений, общее количество отправленных и общее количество полученных. Теперь я хотел бы смоделировать количество ответов, которые они сделали, и, возможно, среднее количество времени, которое требуется им, чтобы ответить, когда они это сделают.

У меня есть ощущение, что мне может понадобиться использовать функцию array_agg или какие-нибудь причудливые case операторы, но я не уверен, как это сделать. Любая помощь приветствуется!

...