Попытка выполнить эту логику в Микростратегии

#sql #microstrategy

Вопрос:

 count(DISTINCT CASE WHEN enrollment_status = 'ACTIVE' AND enroll_end_date is null and enroll_start_date <= TRUNC(DATE_TRUNC('month', CURRENT_DATE)-1) 
THEN customer_id END) AS ACTIVE_MEMEMERS,
 

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Запрос такой же, как :

 select count(distinct customer_id) from table where enrollment_status = 'ACTIVE' AND enroll_end_date is null and enroll_start_date <= TRUNC(DATE_TRUNC('month', CURRENT_DATE)-1)
 

Вы можете попробовать следующий подход :

  1. Создайте 3 фильтра на основе предложения WHERE запроса.
  2. Создайте 1 счетчик метрик(CUSTOMER_ID).
  3. Добавьте фильтры внутри метрики.