Агрегация двух полей

Автор Andrey2015, декабря 03, 2015, 06:26:24 pm

« предыдущая - следующая »

Andrey2015

Всем привет.
Столкнулся с одной проблемой, может у кого то есть уже опыт в решении подобного вопроса.

Есть две таблицы связаны по полю user_id

Users:
user_id       //id пользователя
date            //дата реги

Phone_calls:
user_id       //id пользователя
date_call    //дата звонка

Нужно вывести  в таблице 2 колонки:
1. count users   -  [Users .date = '2014-03-15']  // кол-во зарегистрированных пользователей
2. count users call  -   [Phone_calls .date = '2014-03-15' AND (Users.date  BETWEEN  '2014-03-01' AND '2014-03-15')] // пользователи которые зарегистрировались  в период с 2014-03-01 по 2014-03-15 и  звонили 2014-03-15


Условие противоречивое,  каждое поле по отдельности правильно можно посчитать, но как сделать чтобы два поля сразу правильно выводило.

Может кто то знает как можно, правильно  посчитать,  в COUNT() какие условия нужно дописать или таблицы по другому связать?

bibis

Добрый день, а откуда берется 2014-03-01 ?
Не очень просто понятно само условие задачи. Для каждой даты посчитать количество звонивших среди зарегистрировавшихся в этом месяце?

aha

Можно сначала загрузить мастер -календарь, левым соединением к нему погрузить две указанные таблицы. После загрузки,  если необходимы  данные на интервале времени за каждый день, то в измерении диаграммы можно указать поле Дата из мастер-календаря, а выражениях использовать  функцию  Count () с использование анализа множеств для отбором данных . Если же данные нужны только на конкретный день, то можно в принципе просто разместить рядом  два текстовых поля с вычисление значений опять же на основе анализа множеств. Об анализе множеств см. штатное руководство пользователя  (стр. 915 для рускоязычной версии).