Таблица Уровень детализации требуется исправить - PullRequest
0 голосов
/ 21 сентября 2019

image

Выше приведена ссылка на изображение фактического макета таблицы, а также структура таблицы с фильтром до и после

У меня есть две таблицы - пользователи и категории

Таблица пользователей : таблица пользователей содержит столбцы с именем пользователя, именем, заголовком, каналом, командой, подгруппой.из которого я отфильтровал три заголовка, используя фильтр таблицы.~ 700 пользователей

Таблица категорий : эта таблица содержит столбцы идентификаторов пользователей, категорий, имен подкатегорий и дат.Эта таблица, по сути, показывает, какие пользователи использовали какую подкатегорию больше всего.~ 15000 записей

Таблица пользователей
LEFT JOIN
Таблица категорий

Я использовал левое соединение по идентификатору пользователя.Я отфильтровал три заголовка с использованием фильтра Таблицы, теперь у меня всего 350 пользователей вместе с категориями использования для каждого идентификатора пользователя.

Мне нужно что-то вроде выходной таблицы, однако я также хочу добавить Уровень детализации для всех столбцов.Например, я хочу, чтобы числа менялись динамически при выборе одного из 6 каналов.

Чтобы получить общее число пользователей (350), я создал вычисляемое поле с формулой:

{ FIXED [Title Set]: COUNTD([UserID])}.

Кроме того, чтобы получить фиксированное общее значение по каналу, я создал вычисляемое поле:

IF [Channel_parameter] = 'All Channels' THEN [Total Active Users (by Channel, title)]
ELSEIF [Channel_parameter] = '1' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '1' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '2' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '2 THEN [UserID] END)}
ELSEIF [Channel_parameter] = '3' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '3' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '4' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '4' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '5' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '5' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '6' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '6' THEN [UserID] END)}
ELSEIF [Channel_parameter] = '7' THEN {FIXED  [Channel], [TITLE_SET]: COUNTD(IF [Channel] = '7' THEN [UserID] END)}
END

Однако, когда я выбираю определенный канал в параметре, это дает мне правильный результат, но когда я выбираю 'Все каналы 'он выдает неправильный результат, который в 7 раз превышает фактический номер 350.Я пробовал несколько вариантов использования с функциями Fixed и Include, но не смог сделать это правильно.Кто-нибудь может мне помочь?

...