Я разрабатываю куб с Analysis Services 2000 для веб-приложения, где пользователи могут регистрироваться и отменять регистрацию на сайте. Итак, таблица «user» имеет следующие три поля:
- activo (1 или 0)
- fechaAlta
- fechaBaja
Когда пользователь активирует свою учетную запись, приложение сохраняет «fechaAlta» и помещает 1 в поле «activo».
Когда пользователь отписывается от своей учетной записи, приложение обновляет поле «activo» до 0 и сохраняет «fechaBaja».
Мне нужна информация о том, сколько пользователей активно одновременно, через измерение времени. Что-то вроде:
Год Месяц День Активные пользователи
2009 1 января 10 (10 активаций в этот день)
2009 2 января (3 активации в этот день и 1 незарегистрированный )
2009 10 января 17 (5 активация в этот день)
Даже если я сделаю запрос в феврале 2009 года, мне нужно знать, что на 1 января было 10 активных пользователей (должен учитываться пользователь, который отписался от 2-го числа).
Я разработал куб, в котором таблица фактов является пользовательской таблицей, и создал два измерения для обоих полей даты (fechaAlta и fechaBaja). Также я создал это вычисляемое поле:
активно по месяцам:
Подкуб вычисления: {[Меры]. [Альты]}, [Феча Альта]. [Мес]. ЧЛЕНЫ
Формула расчета: сумма ({Потомки ([Fecha Alta]. Текущий член, [Fecha Alta]. [Día])}, [Показатели]. [Activo])
активен в день:
Подкуб вычисления: {[Меры]. [Inscritos]}, [Феча Альта]. ЧЛЕНЫ
Формула расчета: сумма ({Periodstodate ([Fecha Alta]. [(Todos)])}, [Показатели]. [Activo])
Я не знаю, как сделать скидку незарегистрированным пользователям только со дня, указанного на fechaBaja.
Спасибо.