Найти количество активных пользователей за последние 29 дней в Таблице - PullRequest
1 голос
/ 27 апреля 2020

Требуется помощь в расчете общего количества активных пользователей с 16 марта 2020 года по 16 февраля 2020 года.

enter image description here

Я пытался использовать вычисляемые поля, но не получать правильные результаты. Пожалуйста, сообщите.

Спасибо, Нирмал

1 Ответ

1 голос
/ 28 апреля 2020

Чтобы найти количество уникальных значений, которые появляются в поле, скажем, [user_code], вы можете использовать функцию COUNT DISTINCT, COUNTD (), как в COUNTD([user_code])

Чтобы ограничить данные определенным Временной диапазон, в одну сторону, помещает поле даты на полку фильтра и выбирает настройки, которые включают только те строки данных, которые вам нужны - скажем, диапазон от 2/16 до 3/16, как вы указали.

В качестве альтернативы, Вы можете поместить sh условие фильтрации в вычисление с помощью вызова функции IF, как в COUNTD(IF <data is relevant> THEN [user_code] END) Таким образом, эффективно комбинируя эти два метода. Это работает, потому что если нет условия ELSE и условие IF равно False, то оператор IF оценивается как ноль. Поскольку COUNTD () молча игнорирует пустые значения, как и другие функции агрегирования, выражение действует так, как если бы нерелевантные строки данных были отфильтрованы.

Так, например,

COUNTD(IF [dates] >= #2/16/2020# AND [dates] <= #3/16/2020# THEN [user_code] END)

скажет вам число уникальных кодов пользователей в период с 2/16 по 3/16. Функция DateDiff (), вероятно, будет полезна в более сложных тестах.

Наконец, что если вы хотите большей гибкости? Вы можете легко использовать параметры или параметры фильтра, чтобы позволить пользователю интерактивно выбирать диапазон дат.

Если вы хотите, чтобы этот расчет повторялся для каждого возможного дня, показывая уникальных пользователей за предшествующий 30-дневный период, как своего рода скользящий расчет, тогда вам нужно будет узнать о некоторых более сложных функциях. Либо несколько вычислений, как указано выше, для разных диапазонов времени, с использованием вычислений таблиц, либо подготовка некоторых данных и / или заполнение данных с помощью Tableau Prep Builder, Python, либо какой-либо другой метод - в основном потому, что в этом сценарии каждая строка данных вносит вклад в несколько скользящих подсчетов, а не один счет при разделении данных по некоторому измерению.

...