SQL / SSJS подсчитывают события на временной шкале - PullRequest
0 голосов
/ 08 июня 2018

У меня есть две таблицы, представляющие события отправки и открытия электронной почты:

                  TABLE1 (SENDS)
 ------------------------------------------------
| ReceiptId | JobId |  SK  |       LogDate       |
|-----------|-------|------|---------------------|
|  0000001  | 67789 | 4151 | 6/4/2018 3:21:48 AM |
|-----------|-------|------|---------------------|
|  0000002  | 67789 | 4151 | 6/4/2018 4:15:50 AM |
|-----------|-------|------|---------------------|
|  0000003  | 67789 | 4151 | 6/4/2018 9:42:04 AM |
|-----------|-------|------|---------------------|
|  0000004  | 67789 | 4151 | 6/4/2018 7:28:09 PM |
 ------------------------------------------------

            TABLE2 (OPENS)
 -------------------------------------
| JobId |  SK  |       LogDate        |
|-------|------|----------------------|
| 67789 | 4151 | 6/4/2018 7:31:42 AM  |
|-------|------|----------------------|
| 67789 | 4151 | 6/4/2018 11:32:52 AM |
|-------|------|----------------------|
| 67789 | 4151 | 6/4/2018 2:12:03 PM  |
|-------|------|----------------------|
| 67789 | 4151 | 6/4/2018 5:14:37 PM  |
 -------------------------------------

Мне нужен SQL-запрос или 'Javascript-скрипт на стороне сервера', чтобы получить количество открытий от TABLE2где (TABLE1.JobId = TABLE2.JobId & TABLE1.SK = TABLE2.SK), сгруппированные по TABLE1.ReceiptId, учитывая, что дата «открытия» всегда будет выше даты «отправки», а последнее отправленное письмо будет первым на входящей электронной почте, так чтобыть первым, который будет открыт пользователем.

Таким образом, мы должны сопоставить каждое событие «Открыть» с последней отправленной неоткрытой электронной почтой или с последней отправленной электронной почтой, если нет неоткрытого электронного письма.На этой схеме представлена ​​логика «Открыто-отправлено»:

Send-Open Logic schema

Таким образом, таблица результатов для двух приведенных выше таблиц будет иметь вид:

               RESULT TABLE
 -----------------------------------------
| ReceiptId | JobId |  SK  |  Opens Count |
|-----------|-------|------|--------------|
|  0000001  | 67789 | 4151 |      1       |
|-----------|-------|------|--------------|
|  0000002  | 67789 | 4151 |      1       |
|-----------|-------|------|--------------|
|  0000003  | 67789 | 4151 |      2       |
|-----------|-------|------|--------------|
|  0000004  | 67789 | 4151 |      0       |
 -----------------------------------------

РЕДАКТИРОВАТЬ: Marketing Cloud также позволяет использовать SSJS.И SSJS, или SQL могут быть решением для меня.

Заранее большое спасибо.

...