|
|
|
Oracle BI количество последних покупок клиентов в месяц
|
|||
|---|---|---|---|
|
#18+
Нужно по каждому клиенту найти его последнюю покупку, а затем посчитать в каждом месяце количество этих последних покупок. Т.е на языке SQL это может выглядит как-то так: Код: plsql 1. 2. 3. 4. 5. 6. 7. Хотелось бы, имея логическую таблицу в репозитории с покупками клиентов, сформировать выборку используя только анализ. Подскажите, пожалуйста, как это сделать (ну или любой другой вариант)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 15:26 |
|
||
|
Oracle BI количество последних покупок клиентов в месяц
|
|||
|---|---|---|---|
|
#18+
Evgeny2, Столбец с месяцем определяете в анализе как: max(monthname("date_" ) by "client_id") Столбец с количеством как count(distinct "client_id" by max(monthname("date_" ) by "client_id")) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 17:41 |
|
||
|
Oracle BI количество последних покупок клиентов в месяц
|
|||
|---|---|---|---|
|
#18+
Evgeny2, либо второй вариант. Столбец с месяцем так же: max(monthname("date_" ) by "client_id") второй столбец просто client_id ставите под определением формулы галочку "Обрабатывать как столбец атрибутов" В представлениях добавляете таблицу среза: слева будет месяц, в показателях client_id, на client_id в показателях устанавливаете правило агрегирования "количество различных". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 17:46 |
|
||
|
Oracle BI количество последних покупок клиентов в месяц
|
|||
|---|---|---|---|
|
#18+
Да, для того, чтобы учитывать год, видимо придется поменять очередность и тогда столбец месяца определяется как: monthname(max("date_" by "client_id"))||' '||year(max("date_" by "client_id")) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2017, 17:50 |
|
||
|
Oracle BI количество последних покупок клиентов в месяц
|
|||
|---|---|---|---|
|
#18+
Спасибо terna. Что-то новенькое увидел.... max (field1 by field2) - сейчас посмотрю, что это за фича. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2017, 09:26 |
|
||
|
Oracle BI количество последних покупок клиентов в месяц
|
|||
|---|---|---|---|
|
#18+
Evgeny2, С месяцами получилось. Ура!!! Но вот нужен еще один анализ, теперь уже по магазинам. Тут уже Код: plsql 1. не прокатывает, так как последний магазин в котором была осуществлена последняя покупка клиентом определяется по дате - Код: plsql 1. !!! Пытался сделать Код: plsql 1. - физический SQL не строился до конца. Судя по логам физический SQL сгенирился для первой колонки, и до второй колонки не дошел - это где должен считаться Код: plsql 1. Ребята, помогите страдальцу!? Задача такая: Для клиентов найти последние магазины где они осуществляли покупки и для этих найденных магазинов посчитать клиентов с их последними покупками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 19:08 |
|
||
|
Oracle BI количество последних покупок клиентов в месяц
|
|||
|---|---|---|---|
|
#18+
Evgeny2, вопрос вообще не тривиальный. Стандартными средствами не представляю как. Я не очень умею пользоваться эвальюэйтами. Думаю, конструкцию by с эвальюэйтом использовать бесполезно. Можно попробовать evaluate_analitic('last_value (%1) over (partition by %2 order by %3)',...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2017, 10:18 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39463328&tid=1858225]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
162ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 489ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...