Нужна помощь в создании вложенного оператора Contains в вычисляемом поле - PullRequest
0 голосов
/ 08 мая 2019

Я работаю в Таблице, и у меня есть измерение под названием Landing Page, которое содержит все URL-адреса моих целевых страниц. Я хочу создать вычисляемое поле, которое принимает измерение Landing Page и ищет конкретные слова в строке URL для целевых страниц, а затем объединяет / фильтрует их по определенным ключевым словам. Я предполагаю, что я сделал бы это с оператором IF CONTAINS, но я не уверен, как включить мои операторы OR в функцию.

Это то, что я ищу:

-URL, которые содержат / работодателей / должны быть помечены как Home

-URL, которые содержат / our-products /, / что-мы-делаем /, / зарегистрироваться /, / что такое-работодатель-брендинг /, / информированные кандидаты /, или / партнеры-сообщества / должны быть помечены как продукт

-URL, которые содержат / themes / или / resources / должны быть помечены как Ресурсы

-URL, которые содержат / blog /, должны быть помечены как Blog

-URL, содержащие / истории успеха /, должны быть помечены как Истории успеха

-URL, которые / demos / или / contact-sales / должны быть помечены как Handraisers

IF CONTAINS([Landing Page], "/employers/") then "Home"
ELSEIF CONTAINS([Landing Page], "/our-products/") 
OR CONTAINS([Landing Page], "/what-we-do/") 
OR CONTAINS([Landing Page], "/sign-up/")
OR CONTAINS([Landing Page], "/what-is-employer-branding/") 
OR CONTAINS([Landing Page], "/informed-candidates/") 
OR CONTAINS([Landing Page], "/community-partners/") then "Product"
ELSEIF CONTAINS([Landing Page], "/topics/") 
OR CONTAINS([Landing Page], "/resources/") then "Resources"
ELSEIF CONTAINS([Landing Page], "/blog/") then "Blog"
ELSEIF CONTAINS([Landing Page], "/post-job/") then "Self Service"
ELSEIF CONTAINS([Landing Page], "/success-stories/") then "Success-Stories"
ELSEIF CONTAINS([Landing Page], "/demos/") 
OR CONTAINS([Landing Page], "/contact-sales/") then "Handraisers"
ELSE "Null" END

В настоящее время я веду блог, домашнюю страницу, ресурсы, самообслуживание и нулевое значение для заполнения в виде строк или столбцов в Таблице, но отсутствуют слова «Продукт», «Истории успеха» и «Сборщики средств». Кто-нибудь знает почему?

1 Ответ

1 голос
/ 08 мая 2019

Я переформатировал ваш расчет, и я не вижу в этом ничего плохого.

IF CONTAINS([Landing Page], "/employers/") 
    then "Home"
ELSEIF 
    (
     CONTAINS([Landing Page], "/our-products/") 
     OR CONTAINS([Landing Page], "/what-we-do/") 
     OR CONTAINS([Landing Page], "/sign-up/")
     OR CONTAINS([Landing Page], "/what-is-employer-branding/") 
     OR CONTAINS([Landing Page], "/informed-candidates/") 
     OR CONTAINS([Landing Page], "/community-partners/") 
     )
     then "Product"

ELSEIF 
   (
    CONTAINS([Landing Page], "/topics/") 
    OR CONTAINS([Landing Page], "/resources/") 
   )
   then "Resources"
ELSEIF CONTAINS([Landing Page], "/blog/") 
   then "Blog"
ELSEIF CONTAINS([Landing Page], "/post-job/") 
   then "Self Service"
ELSEIF CONTAINS([Landing Page], "/success-stories/") 
   then "Success-Stories"
ELSEIF 
    (
     CONTAINS([Landing Page], "/demos/") 
     OR CONTAINS([Landing Page], "/contact-sales/") 
    )
    then "Handraisers"
ELSE "Null" END

Возможно, что происходит, если ваш URL содержит несколько фраз, таких как /employers/sign-up?

Iпредложил бы вытащить эту часть URL-адреса и поместить ее в собственное поле.Например, используйте вычисление regexp_extract следующим образом: REGEXP_EXTRACT('http://google.com/employers/', 'http:\/\/google\.com(.*)').Результат будет /employers/.Это, вероятно, поможет вам понять, почему вы не получаете ожидаемых результатов.

Если вы также можете предоставить некоторые образцы данных (если это не ответит на вопрос), я могу справиться с этим.

...