Как я могу сгруппировать данные путем сопоставления идентичных ячеек в одном и том же столбце с последующим подсчетом экземпляров связанного столбца? - PullRequest
0 голосов
/ 26 марта 2019

вывод данных

Я довольно новичок в Webi, и у меня возникла проблема с созданием переменной. Я пытаюсь проверить, существует ли более одного адреса электронной почты для каждого номера учетной записи существующего объекта и содержит ли одно из имен контактов «Годовой отчет». Поэтому, когда я отмечаю каждый номер учетной записи прежней сущности для отсутствия электронной почты, будут извлечены только те, у кого нет имени контакта, содержащего «Годовой отчет». В приведенном выше примере только желтые группы должны называться no email. Прямо сейчас все они втянуты в электронную почту. Я попытался использовать if и match, так как это то, с чем я больше всего знаком. У кого-нибудь есть предложения?

1 Ответ

0 голосов
/ 26 марта 2019

Есть несколько способов сделать это. Я собираюсь привести пример с использованием двух переменных, но вы можете легко объединить их в одну.

Has No Email Var=If(Match(Upper([Contact EmailAddress]); "NOEMAIL*"); 1; 0)
Annual Report Contact Name Var=If(Match(Upper([Contact Name]); "ANNUAL REPORT*"); 1; 0)

Тогда вы примените фильтр отчетов с двумя компонентами ...

Has No Email Var = 1 
AND
Annual Report Contact Name Var = 0

Позвольте мне объяснить несколько вещей ...

  • Назначение функции Upper заключается в том, что функция Match чувствительна к регистру. Если вы знаете, что ваш адрес электронной почты всегда в нижнем регистре, вы можете удалить эту функцию Upper и настроить ее на «noemail *».
  • Важно, что у меня есть только звездочка ("*") в конце искомой строки. Это будет только найти совпадение, где соответствующее значение столбца начинается с этой строки. Если вы хотите, чтобы оно было истинным, когда бы ни находилась строка в любом месте искомого столбца, у вас будут звездочки с обоих концов.
  • Вы также можете добавить ограничивающие критерии в свой фильтр запросов. Но здесь все может запутаться. В фильтре запросов вы можете выбрать оператор Matches . Однако подстановочный знак отличается ("%", а не "*"), и вы не ставите двойные кавычки вокруг текста поиска. Значит, у тебя была бы такая вещь ...

    Контактный адрес электронной почтыАдрес Соответствует шаблону noemail%

    И

    Имя контакта Отличается от шаблона Годовой отчет%

    Я уверен, что вы заметили, что я не преобразовывал текст поиска в верхний регистр. В панели запросов Web Intelligence чувствителен к регистру с чувствительностью и, вероятно, будет соответствовать регистру чувствительности базы данных исходных данных. Все наши базы данных нечувствительны к регистру, поэтому, если ваша база чувствительна к регистру, вам, возможно, придется немного поиграть с этим. Или просто воспользуйтесь подходом создания переменных и фильтров отчетов, как я изначально изложил.

  • Если вы хотите использовать подстановочный знак для одного символа, а не для нескольких символов (что будет делать «*» и «%»), вам нужно использовать «?» в вашем определении переменной или "_" в вашем фильтре запросов.

Надеюсь, это поможет,

Noel

...