Ir para o conteúdo principal
Loading...
Skip to article
  • Qualtrics Platform
    Qualtrics Platform
  • Customer Journey Optimizer
    Customer Journey Optimizer
  • XM Discover
    XM Discover
  • Qualtrics Social Connect
    Qualtrics Social Connect

Criando expressões


Was this helpful?


This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The feedback you submit here is used only to help improve this page.

That’s great! Thank you for your feedback!

Thank you for your feedback!


Sobre a criação de expressões

As expressões são usadas no XM Discover para filtrar seus dados e transformar campos de dados. Por exemplo, você pode usar expressões para modificar a formatação do campo de data, avaliar dados para registros vazios e executar cálculos matemáticos.

As expressões podem conter 4 componentes:

  • Constantes: você pode usar números constantes, strings de texto e datas para executar operações matemáticas e de comparação.
  • Campos: você pode usar campos numéricos, de texto e de data disponíveis por meio de um conector de dados específico para executar operações matemáticas e de comparação nesses campos.
  • Funções: você pode utilizar funções para executar transformações em seus campos e constantes.
  • Operadores: você pode usar operadores para executar operações matemáticas e comparar seus campos e constantes.

Constantes

As constantes são números, cadeias de texto e datas que você pode utilizar para executar operações matemáticas e comparações. Por exemplo, você pode usar uma data constante, como a data em que lançou sua pesquisa CX anual, para calcular a idade da resposta de um respondente à pesquisa.

Notas sobre a utilização de constantes:

  • As cadeias de texto são tratadas como dependentes de maiúsculas/minúsculas. Use as funções SUPERIOR ou INFERIOR como solução alternativa para diferenciar maiúsculas de minúsculas.
  • As strings de texto e as datas devem ser colocadas entre aspas.
  • Os números não precisam de aspas (um número entre aspas é tratado como texto).

Campos

Os campos são os campos de dados disponíveis no seu conector de dados de entrada. Isso inclui campos numéricos, de cadeia de texto e de data, que você pode utilizar para executar operações matemáticas e comparações. Por exemplo, se o seu conjunto de dados contiver um campo para o aniversário de um cliente, você pode calcular a antiguidade do cliente.

Para adicionar um campo, arraste-o da seção Campos para a caixa Expressão.arrastando campos para a caixa de expressões

Os tipos de campo são identificados com os seguintes ícones:

  • o ícone de relógio para campos de data
  • o ícone do número # para campos numéricos
  • o ícone abc para campos de texto e textuais

Funções

Você pode utilizar funções numéricas, de texto e de data listadas nesta seção.

Para adicionar uma função, arraste-a da seção Funções para a caixa Expressão.
arrastando funções para a caixa de expressões

Os tipos de função são identificados com os seguintes ícones:

  • o ícone de relógio para funções de data
  • o ícone do número # para funções numéricas
  • o ícone abc para funções de texto

ABS

Retorna o valor absoluto de um número.

Sintaxe: ABS(number)

Exemplo: ABS(-22) resolve para 22.

COALESÇA

Retorna o primeiro valor não nulo em uma lista.

Qdica: uma string vazia é considerada nula. Se todos os valores forem nulos, a função também retornará nulo.

Sintaxe: COALESCE(valor1, valor2, valor3)

Exemplo: COALESCE(“”, “”, “Jane”, “”, “Paul”) resolve para Jane.

CÉLULO

Retorna o valor arredondado para cima de um número.

Sintaxe: CEILING(number)

Exemplo: CEILING(21.2) resolve para 22.

CONCAT

Junta várias strings de texto em uma.

Sintaxe: CONCAT(“string 1”, “string 2”, “string 3”)

Exemplo: CONCAT(“Olá”, “, “, “João”) resolve para Olá, João.

CONTÉM

Retorna verdadeiro se uma string de texto (“dentro de texto”) contiver outra string de texto (“find text”). Caso contrário, retorna false.

Sintaxe: CONTAINS(“inside text”, “find text”)

Exemplo: CONTAINS(“one, two, three”, “two”) resolve como verdadeiro.

CONVERT_TO_TIMEZONE

Converte a data e a hora de um fuso horário em outro.

Sintaxe: CONVERT_TO_TIMEZONE(“data e hora”, “fuso horário para converter de”, “fuso horário para converter em”)

Notas sobre formatação de data:

  • Forneça os fusos horários usando seus nomes de banco de dados tz.
  • Forneça a data e a hora na ISO 8601 ou como aaaa-mm-dd hh:mm:ss.
  • Se a data e a hora forem fornecidas com informações de fuso horário, ela é ignorada em favor do parâmetro “fuso horário de onde converter”.
  • A data convertida utiliza o formato ISO 8601. Use a função TODATE se precisar modificá-la.
Exemplo: CONVERT_TO_TIMEZONE(2020-03-19 15:15:00, “Europa/Londres”, “Europa/Berlim”) resolve em 2020-03-19T16:15:00Z.

DATETONUMBER

Converte um campo de data em uma marca de horário do Unix.

Qdica: O timestamp do Unix é o número de milissegundos decorridos desde 1º de janeiro de 1970.

Sintaxe: DATETONUMBER(“date”)

Qdica: uma função inversa chamada NUMBERTODATE está disponível.
Exemplo: DATETONUMBER(“2020-10-20T09:12:00.670Z”) resolve para 1603185120670.

DATETOTEXT

Converte um campo de data em uma string de data no formato solicitado.

Sintaxe: DATETOTEXT(“date”, “date format”)

Exemplo: DATETOTEXT(NOW(), “MMMM DD YYYY, h:mm:ss”) resolve como 29 de abril de 2020, 3:21:05.

DAYOFWEEK

Retorna o dia da semana correspondente a uma data.

Sintaxe: DAYOFWEEK(“date”)

Exemplo: DAYOFWEEK(“2019-12-19T20:16:05.602Z”) resolve para quinta-feira.

DYNAMICLOOKUP

Substitui os valores do campo usando uma tabela de pesquisa carregada dinamicamente. Os valores de pesquisa são retirados do campo especificado no primeiro argumento (“nome do campo”).

Sintaxe: DYNAMICLOOKUP(“field name”, “value”)

Qdica: Transformações na função DYNAMICLOOKUP não são permitidas.
Exemplo: DYNAMICLOOKUP(“QID15”, “10”) resolve como Excelente.

ELEMENTOFARRAIA

Extraia o enésimo valor de uma matriz e mapeie valores de matriz para atributos no XM Discover.

Sintaxe: ELEMENTOFARRAY([“array element 1”, “array element 2”, “array element 3”], number)

Notas:

  • Se a entrada não for uma matriz, a função emite um erro.
  • Se o número for maior que o tamanho de uma matriz, a função retornará nulo. Os números em ordem crescente começam em 0.
Qdica: Esta função é particularmente útil para tarefas do XM Discover Link Connector.
Exemplo: ELEMENTOFARRAY([“a”, “b”, “c”], 1) resolve b.

CAMPO

Quebra os nomes de campo que contêm espaços ou pontos.

Sintaxe: FIELD(“field name”)

Exemplo: FIELD(“Text Processed”) retorna o valor do campo chamado “Text Processed”.

ENCONTRAR

Localiza uma string de texto (“find text”) dentro de outra string de texto (“inside text”) e retorna o número da posição inicial de “find text” do primeiro caractere de “inside text” (a partir de 1).

Permite especificar a ordem do caractere em “dentro de texto” em que iniciar a pesquisa (a partir de 1). Se você omitir order_number, ele será assumido como 1.

Retorna -1 se “localizar texto” não for encontrado em “dentro do texto”.

Sintaxe: FIND(“find text”, “inside text”, order_number)

Qdica: A função diferencia maiúsculas de minúsculas. Se você quiser executar uma pesquisa independente de maiúsculas/minúsculas, utilize a função PESQUISA.
Exemplo: FIND(“fácil”, “fácil vir, fácil ir”, 3) resolve para 12.

FINDFIRST

Localiza a primeira ocorrência de uma string de texto (“find text”) dentro de outra string de texto (“inside text”) e retorna o número da posição inicial de “find text” do primeiro caractere de “inside text” (a partir de 1).

Qdica: a função diferencia maiúsculas de minúsculas; retorna -1 se “localizar texto” não for encontrado em “dentro do texto”.

Sintaxe: FINDFIRST(“inside text”, “find text”)

Exemplo: FINDFIRST(“easy come, easy go”, “easy”) resolve para 1.

FINDLAST

Localiza a última ocorrência de uma string de texto (“find text”) dentro de outra string de texto (“inside text”) e retorna o número da posição inicial de “find text” do primeiro caractere de “inside text” (a partir de 1).

Qdica: a função diferencia maiúsculas de minúsculas; retorna -1 se “localizar texto” não for encontrado em “dentro do texto”.

Sintaxe: FINDLAST(“inside text”, “find text”)

Exemplo: FINDLAST(“easy come, easy go”, “easy”) resolve para 12.

PISO

Retorna o valor arredondado para baixo de um número.

Sintaxe: FLOOR(number)

Exemplo: FLOOR(21.9) resolve para 21.

GENERATE_ID

Gera um ID único. Esta função não necessita de parâmetros adicionais.

Sintaxe: GENERATE_ID()

Exemplo: GENERATE_ID() resolve para 5ecfdd3fdd4ca4f23c5f2602.

GETDAYSBETWEEN

Retorna o número de dias entre duas datas.

Sintaxe: GETDAYSBETWEEN(“data de início”, “data de término”)

Exemplo: GETDAYSBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”) resolve como 5.

GETHOURSBETWEEN

Retorna o número de horas entre duas datas.

Sintaxe: GETHOURSBETWEEN(“data de início”, “data de término”)

Exemplo: GETHOURSBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”) resolve como 120.

GETMINUTESBETWEEN

Retorna o número de minutos entre duas datas.

Sintaxe: GETMINUTESBETWEEN(“data de início”, “data de término”)

Exemplo: GETMINUTESBETWEEN(“2019-12-19T20:16:05.602Z”, “2019-12-24T20:16:05.602Z”) resolve como 7200.

Se

Retorna um valor se a instrução for verdadeira e outro valor se a instrução for falsa.

Sintaxe: IF(instrução, “value if true”, “value if false”)

Exemplo: IF(3 > 2, “maior”, “não maior”) resolve para maior.

ISBLANK

Retorna TRUE quando um campo está vazio e FALSE quando um campo não está vazio.

Sintaxe: ISBLANK(“field name”)

Qdica: Como ISBLANK é uma função booleana, você não pode aplicá-la diretamente a um atributo. Use-o como parte de uma expressão que retorna o resultado no formato adequado (data, número ou texto).
Exemplo: detecte um campo vazio e retorne o resultado como uma string de texto. IF(ISBLANK(“”), “vazio”, “preenchido”) resolve como vazio.
Exemplo: detecte um campo não vazio e retorne o resultado como um número. IF(ISBLANK(“John”), 0, 1) resolve para 1.

JOINARRAY

Joins an array of items into a single string with a specified delimiter.

Synax: JOINARRAY(array, delimiter, escape, skipNull, removeDuplicates)

In the above syntax:

  • array: array of strings or numbers to join.
  • delimiter: delimiter character to use when joining the array.
  • escape: if true, preserve quoted elements.
  • skipNull: if true, skip elements that are null.
  • removeDuplicated: If true, remove duplicate elements.
Example: JOINARRAY([“a”, “b”, “c”], “-“) resolves to “a-b-c”.

LEN

Retorna o número de letras em uma string de texto.

Sintaxe: LEN(“text”)

Exemplo: LEN(“Conte-me se puder”) resolve para 19.

Syntax: LEN([“text1”, text2])

Example: LEN([“text1”, text2]) resolves to 2.

INFERIOR

Converte o texto em letras minúsculas.

Sintaxe: LOWER(“text”)

Exemplo: LOWER(“HELLO”) resolve para olá.

MD5HASH

Aplica hash MD5 aos dados de entrada para gerar IDs exclusivos com base nesses dados.

Sintaxe: MD5HASH(“text”)

Exemplo: MD5HASH(“Olá”) resolve para 543d4abcdc64a9a377c959e4b6e35574.

IDM

Retorna um número específico de caracteres de uma string de texto, começando na posição especificada.

A posição (order_number) começa a partir de 1.

Sintaxe: MID(“text”, order_number, Characters_number)

Exemplo: Retorna 8 caracteres a partir do 1º caractere. MID(“a prática faz perfeito”, 1, 8) resolve a prática.
Exemplo: Retorna 8 caracteres a partir do 16º caractere. MID(“a prática faz perfeito”, 16, 8) resolve para perfeito.

MOD

Retorna o resto quando um número é dividido por um divisor.

Qdica: O resultado tem o mesmo sinal de um número.

Sintaxe: MOD(número, divisor)

Exemplo: MOD(7, 4) resolve para 3.

AGORA

Retorna a data e hora atuais. Esta função não necessita de parâmetros adicionais.

Sintaxe: NOW()

Exemplo: NOW() resolve para 2020-01-29T13:35:09.956Z.

NUMBERTODATE

Converte um timestamp do Unix em um campo de data. O timestamp do Unix é o número de milissegundos decorridos desde 1 de janeiro de 1970.

Sintaxe: NUMBERTODATE(number)

Qdica: Uma função inversa chamada DATETONUMBER está disponível.
Exemplo: NUMBERTODATE(1603185120670) resolve para 2020-10-20T09:12:00.670Z.

NUMBERTOTEXT

Converte um número em texto.

Sintaxe: NUMBERTOTEXT(number)

Exemplo: NUMBERTOTEXT(21) resolve para 21.

POW

Retorna o resultado de x à potência de y.

Sintaxe: POW(x, y)

Exemplo: POW(2, 4) resolve para 16.

PROPERCASO

Coloca em maiúscula a primeira letra de uma cadeia de texto.

Sintaxe: PROPERCASE(“text”)

Exemplo: PROPERCASE(“a prática faz perfeito”) resolve para a prática faz perfeito.

RANDOM

Retorna um número real aleatório entre 0 e 1. Esta função não necessita de parâmetros adicionais.

Sintaxe: RANDOM()

Exemplo: RANDOM() resolve para 0.7669519868005736.

RANDOMBETWEEN

Retorna um número inteiro aleatório entre dois números.

Qdica: esta função pode retornar os números mínimo e máximo.

Sintaxe: RANDOMBETWEEN(número mínimo, número máximo)

Exemplo: RANDOMBETWEEN(1, 10) resolve para 2.

REMOVEHTMLTAGS

Remove tags HTML de uma string de texto.

Sintaxe: REMOVEHTMLTAGS(“text”)

Exemplo: REMOVEHTMLTAGS(“<html> hello</html> “) resolve olá.

SUBSTITUIR

Substitui parte de uma cadeia de texto (“texto antigo”) por uma cadeia de texto diferente (“novo texto”) um número definido de vezes (number_of_replacements) com base no número de ocorrência de “texto antigo” em “text” (ocorrrence_number).

Sintaxe: REPLACE(“text”, “old text”, “new text”, ocorrrence_number, case_sensível, number_of_replacements)

Exemplo: SUBSTITUIR(“pense dentro da caixa”, “dentro”, “fora”, 1, falso, 1) resolve pensar fora da caixa.

REPLACEBYINDEX

Substitui parte de uma cadeia de texto (“texto antigo”) por uma cadeia de texto diferente (“novo texto”), com base no número de caracteres que você indica.

A posição (order_number) começa a partir de 1.

Sintaxe: REPLACE(“old text”, order_number, Characters_number, “new text”)

Exemplo: REPLACEBYINDEX(“pense dentro da caixa”, 7, 6, “fora”) resolve pensar fora da caixa.

REPLACEBYREGEXP

Substitui valores de texto usando expressões regulares.

Qdica: uma expressão regular é uma sequência de caracteres que definem um padrão de pesquisa. Para uma breve introdução, consulte Expressões Regulares .NET da Microsoft.
Atenção: os recursos de codificação personalizada são fornecidos no estado em que se encontram e requerem conhecimento de programação para implementação. O suporte da Qualtrics não oferece assistência nem consultoria em codificação customizada. Em vez disso, você pode perguntar para nossa comunidade de usuários dedicados. Se você quiser saber mais sobre nossos serviços de codificação personalizada, entre em contato com o seu Executivo de Contas da Qualtrics.

Sintaxe: REPLACEBYREGEXP(“text”, “expressão regular para correspondência de padrões”, “expressão regular para valor de substituição”)

Qdica: Caracteres especiais como barras invertidas (\), aspas duplas (“) e aspas simples (‘) devem ser de escape (ou seja, ter uma barra invertida adicionada antes delas). Por exemplo, se você quiser utilizar o modelo que corresponda a qualquer caractere de espaço em branco (\s), precisará esvaziá-lo com uma barra invertida adicional (\\s).
Exemplo: REPLACEBYREGEXP(“Clarabank UK”, “(.)\\s(.)”, “$1;$2”) resolve para Clarabank;UK.

ARREDONDADO

Retorna o valor de um número arredondado para o inteiro imediatamente inferior.

Sintaxe: ROUND(number)

Exemplo: ROUND(22.5) resolve para 23.

PESQUISAR

Localiza uma string de texto (“find text”) dentro de outra string de texto (“inside text”) e retorna o número da posição inicial de “find text” do primeiro caractere de “inside text” (a partir de 1).

Permite especificar a ordem do caractere em “dentro de texto” em que iniciar a pesquisa (a partir de 1). Se você omitir order_number, ele será assumido como 1.

Retorna -1 se “localizar texto” não for encontrado em “dentro do texto”.

Sintaxe: SEARCH(“find text”, “inside text”, order_number)

Qdica: A função não diferencia maiúsculas de minúsculas. Se você quiser executar uma pesquisa dependente de maiúsculas/minúsculas, utilize a função FIND.
Exemplo: SEARCH(“FASY”, “easy come, easy go”, 3) resolve para 12.

SPLIT

Splits a given string into an array of substrings based on a specified delimiter. This function can be used as a parameter for JOINARRAY or ELEMENTOFARRAY functions since the output value must be a string.

Syntax: SPLIT(“string_to_split”, “_”)

Example: SPLIT(“firstname_lastname”, “_”) resolves to [“firstname”, “lastname”]

SUBSTITUIR

Substitui “texto antigo” por “novo texto” em uma string de texto.

Permite especificar qual ocorrência de “texto antigo” você deseja substituir. Se você indicar ocorrrence_number, só é substituída a instância de “texto antigo”. Caso contrário, cada ocorrência de “texto antigo” no texto é alterada para “novo texto”.

Sintaxe: SUBSTITUTE(“text”, “old text”, “new text”, ocorrrence_number)

Exemplo: substitua a primeira ocorrência de “1” por “2”. SUBSTITUTE(“Trimestre 1, 2019”, “1”, “2”, 1) resolve para Trimestre 2, 2019.
Exemplo: substitua a segunda ocorrência de “1” por “2”. SUBSTITUTE(“Trimestre 1, 2019”, “1”, “2”, 2) resolve para Trimestre 1, 2029.
Exemplo: substitua cada ocorrência de “1” por “2”: SUBSTITUTE(“Trimestre 1, 2019”, “1”, “2”) resolve como Trimestre 2, 2029.

SUBSTR

Retorna uma parte de uma cadeia de texto a partir do primeiro caractere da cadeia e até o número indicado de caracteres (começando a partir de 1).

Sintaxe: SUBSTR(“text”, order_number)

Exemplo: SUBSTR(“a prática faz perfeito”, 9) resolve a prática.

TITLECASE

Coloca em maiúscula a primeira letra de cada palavra em uma string de texto.

Sintaxe: TITLECASE(“text”)

Exemplo: TITLECASE(“a prática faz perfeito”) resolve para a prática faz perfeito.

TEXTTODATE

Converte uma string de data em um campo de data no seguinte formato: AAAA-MM-DDThh:mm:ssZ.

Sintaxe: TEXTTODATE(“date”, “date format”)

Qdica: o formato da data deve refletir o formato usado na string. Ambos os parâmetros são obrigatórios.
Exemplo: TEXTTODATE(“2019-12-19”, “YYYY-MM-DD”) resolve como 2019-12-19T00:00:00.000Z.

TEXTTONUMBER

Converte o texto em número.

Sintaxe: TEXTTONUMBER(text)

Exemplo: TEXTTONUMBER(21) to 21.

TRADUZIR

Converte dados de entrada.

Sintaxe: TRANSLATE (“código de idioma de origem”, “código de idioma de destino”, “texto”).

Notas:

  • Esta função só está disponível para contas com credenciais de API do Google Translate
  • Para obter uma lista completa dos códigos de idioma suportados, consulte a documentação do Google Cloud Translation.
Exemplo: TRANSLATE (“en”, “es”, “Hello world”) resolve para Hola mundo.

TRIMLEFT

Remove espaços do lado esquerdo de uma string de texto.

Sintaxe: TRIMLEFT(“text”)

Exemplo: TRIMLEFT(”          hello”) resolve para olá.

TRIMRIGHT

Remove espaços do lado direito de uma string de texto.

Sintaxe: TRIMRIGHT(“text”)

Exemplo: TRIMRIGHT(“hello             “) resolve para olá.

SUPERIOR

Converte o texto em maiúsculas.

Sintaxe: UPPER(“text”)

Exemplo: UPPER(“olá”) resolve para HELLO.

Operadores

Você pode utilizar operadores aritméticos e de comparação listados nas tabelas a seguir.

Operadores aritméticos

Operador Descrição
+ Adicionar
Subtrair ou negar
* Multiplicar
/ Dividir

Por exemplo, a expressão a seguir retornará a média dos dois valores numéricos.

(RATING1 + RATING2) / 2

Operadores de comparação

Operador Descrição
== Igual a
≫  Maior que
≪  Menor que
≫= Maior ou igual a
≪= Menor ou igual a
!= Diferente de

Por exemplo, a expressão a seguir retornará “classificação incorreta” quando RATING for menor ou igual a 3 e “boa classificação” quando RATING for maior que 3.

IF(RATING <= 3, “má avaliação”, “boa avaliação”)

Operadores lógicos

Use operadores lógicos para indicar várias condições ao usar a função IF ou filtros de job.

Qdica: certifique-se de usar operadores lógicos em minúsculas.
Operador Descrição
e A condição é verdadeira se todas as condições separadas por “e” forem verdadeiras.
em A condição é verdadeira se existir uma correspondência com qualquer um dos valores listados.

Sintaxe: in[“value 1”, “value 2”, “value 3”]

Qdica: use isso em vez de vários operadores “ou”.
ou A condição é verdadeira se qualquer uma das condições separadas por “ou” for verdadeira.

Por exemplo, a expressão a seguir retornará “Mediterrâneo” se o campo COUNTRY contiver qualquer um dos valores especificados. Caso contrário, ele retornará “Non-Metiterranean”.

IF(LOWER(COUNTRY) in [“france”, “portugal”, “italy”, “spain”, “greece”, “malta”, “cyprus”], “Mediterranean”, “Non-Mediterranean”)

Dicas de sintaxe

Siga estas dicas para evitar expressões inválidas:

  • Ao combinar várias funções em uma expressão, certifique-se de que o número de parênteses de abertura e fechamento corresponde.
    Exemplo: IF(GETDAYSBETWEEN(feedback_date, response_date) > 3, “atraso”, “não atrasado”).
  • Para cada função usada na expressão, todos os argumentos necessários precisam estar presentes. Por exemplo, a função TODATE requer que os argumentos de formato de data e data funcionem corretamente.
  • Certifique-se de usar o tipo de dados correto suportado por uma função ou uma operação aritmética ou de comparação. Por exemplo, a função ABS precisa de um número para funcionar corretamente e não funcionará em um campo de texto ou data.
  • Se houver pontos (“.”) em sua expressão, envolva-os com a função FIELD e aspas simples ou duplas. Por exemplo, se você tiver um campo chamado “agentParticipants.0.agentLoginName”, aqui está como você o envolve em uma potencial transformação:
    IF(CONTAINS(LOWER(FIELD(“agentParticipants.0.agentLoginName”)), “bot”),”YES”, “NO”).

Muitas das páginas neste site foram traduzidas do inglês original usando tradução automática. Embora na Qualtrics tenhamos feito nossa diligência prévia para obter as melhores traduções automáticas possíveis, a tradução automática nunca é perfeita. O texto original em inglês é considerado a versão oficial, e quaisquer discrepâncias entre o inglês original e as traduções automáticas não são juridicamente vinculativas.