x

Capítulos principais

  1. LimeSurvey Cloud vs LimeSurvey CE
  2. Guia de início rápido - LimeSurvey 3.0+
  3. Instalação - LimeSurvey CE
  4. Como criar um bom inquérito (guia)
  5. Iniciando
  6. Administrando o LimeSurvey
  7. Questionários - introdução
  8. Configurações do questionário
  9. Menu da pesquisa
  10. Estrutura da pesquisa
  11. Perguntas - introdução
  12. Grupos de perguntas - introdução
  13. Questionários - gerenciamento
  14. Opções da barra de ferramentas do questionário
  15. Questionário multilíngue
  16. ExpressionScript Engine - Guia de início rápido
  17. Recursos avançados e não categorizados
  18. FAQ geral
  19. Solução de problemas
  20. Soluções alternativas
  21. Licença
  22. Registro de mudanças da versão
  23. Plugins
 Actions

Verificar lógica do inquérito - Avançado

From LimeSurvey Manual

Esta página pode ter sido traduzida automaticamente e conter erros. Ver o original em inglês · Melhorar esta tradução
This page is a translated version of the page Check survey logic - Advanced and the translation is 100% complete.


Geral

Uma opção importante que ajuda a criar e manter facilmente inquéritos complexos é Verificar lógica do inquérito.

Durante o desenvolvimento e os testes do inquérito, e antes de ativá-lo, é muito importante validar a lógica do inquérito. Isso é especialmente verdadeiro quando você usa equações complexas de relevância, personalização e validação - é preciso ter certeza de que nada vai falhar quando o inquérito for executado.

Este recurso permite validar rapidamente a precisão do seu inquérito, grupo(s) e pergunta(s). Ele pode ser acessado pelas opções de menu da barra superior, localizadas nas configurações relacionadas ao inquérito. Está disponível no menu Ferramentas:



Como você pode observar acima, é possível executar esta opção uma vez para cada idioma usado em um inquérito.

Descrição

A opção Verificar lógica do inquérito mostra tudo o que você especificou para cada pergunta e grupo (por exemplo, nome, texto, ajuda, condições/relevância, regras de validação, valores padrão, perguntas secundárias, respostas) em um formato de tabela conveniente. Ela destaca os erros e permite clicar nos IDs das perguntas e dos grupos (ou nas variáveis usadas nas equações) para abrir novas abas do navegador e editar essas perguntas ou grupos. Isso facilita corrigir rapidamente quaisquer erros e atualizar a página de verificação da lógica para confirmar a precisão do inquérito antes de ativá-lo.

A exibição também foi projetada para ser legível por pesquisadores e patrocinadores do estudo, para que possam validar a precisão do desenho e da lógica do inquérito. A verificação da lógica do inquérito atualiza o cache de todas as expressões usadas em um inquérito ativo.

Ela inclui as seguintes colunas:

  • # - mostra as contagens de sequência de Grupos e Perguntas, começando em 0.
  • Nome [ID] - mostra o código da pergunta para o grupo/pergunta/pergunta secundária. Esses códigos podem ser usados como variáveis em expressões. ID é o ID da pergunta (QID) ou o ID do grupo (GID). Este campo também mostra o tipo de pergunta (por exemplo, Múltipla escolha [M]).


Para saber mais sobre quais variáveis podem ser usadas em expressões, leia a seguinte subseção da wiki.


  • Relevância [Validação] (Valor padrão) - mostra o seguinte:
    • Relevância - a equação de relevância da pergunta ou do grupo, com sintaxe destacada. Se for sempre verdadeira (para ser exibida em qualquer cenário), o valor será 1.
    • Validação - o ExpressionScript gera automaticamente a equação de validação com base nos atributos de pergunta selecionados (por exemplo, número mín./máx. de respostas, valores de soma mín./máx./igual a, valores individuais mín./máx. ou validação por expressão regular). Esta seção mostra a equação de validação gerada para que você possa detectar eventuais erros (como variáveis não definidas).
      • A validação no nível da pergunta mostra a equação necessária para verificar os atributos de pergunta descritos acima
      • A validação no nível da pergunta secundária mostra a equação necessária para implementar array_filter, array_filter_exclude e exclusive_option
    • Valor padrão - se a pergunta tiver um valor padrão, ele é mostrado aqui, com sintaxe destacada (pois o valor padrão pode ser uma expressão).
  • Texto [Ajuda] (Dica) - mostra o seguinte:
    • Texto - o texto do grupo, da pergunta, da pergunta secundária ou da resposta. Ele tem a sintaxe destacada para mostrar qualquer personalização incorporada, permitindo verificar se você declarou todas as variáveis que pretende usar na personalização.
    • Ajuda - mostra o texto de ajuda da pergunta, também com sintaxe destacada.
    • Dica - mostra a dica de validação gerada internamente, com base nos atributos da pergunta. Essa mesma dica é usada em todos os estilos de inquérito, além do inquérito imprimível e das telas de entrada de dados.
    • Atributos da questão - mostra uma tabela com todos os atributos relevantes desta pergunta. Os atributos que podem ser equações têm a sintaxe destacada para que você possa validar sua precisão.

As linhas são codificadas por cores da seguinte forma:

  • Grupos - são exibidos com fundo cinza claro
  • Perguntas - são exibidas com fundo verde claro
  • Sub-questões - são exibidas com fundo amarelo pálido
  • Respostas - são exibidas com fundo branco simples

As respostas têm um atributo adicional na coluna Relevância:

  • Valor - é o valor interno padrão usado pelos cálculos. Se você estiver usando avaliações, será o valor da avaliação. Caso contrário, será igual ao nome da resposta.


A descrição do inquérito, as mensagens de boas-vindas e de encerramento, a URL final, o aviso de política de dados do inquérito e o rótulo são listados na verificação da lógica do inquérito (acima da tabela) se os campos correspondentes não estiverem vazios!

Uso

No topo da página há uma mensagem de resumo. Se tudo estiver certo, ela dirá "Nenhum erro de sintaxe detectado neste inquérito" ou "Este grupo" ou "Esta pergunta", "por si só, não contém erros de sintaxe". Se for o contrário, dirá "X perguntas têm erros de sintaxe que precisam ser corrigidos".

Cada pergunta que tem erros de sintaxe recebe o fundo da coluna mais à esquerda (ou seja, #) em vermelho. Além disso, um aviso informando o número mínimo de erros da pergunta será exibido na coluna Nome [ID]. Os erros a seguir são comuns:

  • Variável não definida - se você não definiu todas as suas variáveis, ou digitou errado array_filter (ou usou conjuntos diferentes de opções de resposta para array_filter), algumas das suas perguntas de validação mostrarão erros. As variáveis não definidas são mostradas em texto vermelho, dentro de uma caixa com contorno vermelho.
  • Sintaxe incorreta - ao começar a usar equações de relevância, você pode usar parênteses demais ou de menos. Esses problemas de sintaxe são destacados e envolvidos por uma caixa vermelha. Se você passar o mouse sobre qualquer texto dentro dessa caixa vermelha, uma dica de ferramenta descreverá o erro.

Cores na sintaxe do ExpressionScript

As condições e equações têm a sintaxe destacada para facilitar a compreensão do que você está vendo:

  1. Verde / Azul claro: uma variável que faz referência a uma pergunta anterior no inquérito
  2. Azul: uma função
  3. Cinza: uma expressão de texto
  4. Marrom: uma expressão de TOKEN (dados do participante)
  5. Preto: operador

Pontos a verificar:

  1. Roxo: uma variável que faz referência a uma pergunta posterior no inquérito. Geralmente isso é um erro e precisa ser verificado.
  2. Vermelho ou moldura vermelha: uma variável inexistente, uma referência a uma pergunta anterior ou um erro de sintaxe - geralmente precisa ser verificado.


Variáveis não definidas

Se variáveis não definidas forem usadas, o nome da variável correspondente será exibido em vermelho e cercado por uma linha vermelha. Se você passar o mouse sobre o nome da variável, aparecerá "variável não definida":



  Atenção : Observe que o LimeSurvey não permite que administradores de inquéritos criem perguntas que usem o mesmo código de pergunta. No entanto, podem ocorrer códigos de pergunta semelhantes em um inquérito se você importar um grupo de perguntas ou uma pergunta que use o mesmo código de pergunta de uma das perguntas já definidas. A pergunta ainda pode ser importada porque os IDs das perguntas são diferentes. Porém, se você deseja exportar os resultados do inquérito para explorá-los melhor (resultados do inquérito) no R ou no SPSS, tenha cuidado, pois o código da pergunta é visto como uma variável!



}}

Sintaxe incorreta

A maioria dos erros relacionados a expressões se deve a sintaxe incorreta. Isso acontece porque os administradores do inquérito geralmente esquecem de adicionar uma chave, não usam os parênteses corretamente ou utilizam as expressões de forma errada:



Aqui estão vários bons exemplos de uso do destaque de sintaxe.


JavaScript personalizado incorreto

Os erros de JavaScript também serão destacados na verificação da lógica do inquérito:


Agilizando a edição e a validação

Todo o texto com destaque de sintaxe possui dicas de ferramenta (tooltips) incorporadas, que também são clicáveis:

  1. Dicas de ferramenta
    • Funções - ao passar o mouse, você vê a finalidade e a definição da sintaxe da função;
    • Nomes de variáveis - ao passar o mouse, você vê a posição (grupo, sequência da pergunta), o texto da pergunta e as respostas permitidas para a pergunta.
  2. Ações
    • Nomes de variáveis - ao clicar no nome da variável, abre-se uma nova janela que permite editar a pergunta. Isso facilita a navegação e a verificação da lógica - basta continuar clicando nos nomes das variáveis dos critérios de relevância ou validação da pergunta para ver de onde vêm e como são usadas.


Exemplos

Os exemplos a seguir foram extraídos dos inquéritos de exemplo do ExpressionScript. Nessa página, você encontra capturas de tela de inquéritos em execução, explicações e downloads.


Índice de Massa Corporal

Aqui estão as capturas de tela deste exemplo.

Esta é a visualização de reordenação das perguntas do cálculo do Índice de Massa Corporal. Você pode ver as equações de relevância de peso, altura e IMC na coluna Pergunta:



Para uma melhor visão geral do inquérito, consulte a página de verificação da lógica do inquérito:



Este exemplo de inquérito também é um bom exemplo de instruções if() aninhadas para gerar o "weightstatus".


Lógica em cascata

Aqui estão as capturas de tela deste exemplo.

Ele mostra a lógica de validação das perguntas secundárias gerada automaticamente quando você usa array_filter e array_filter_exclude. Este exemplo também mostra como substituir o valor personalizado de "Outros" (a resposta de Q02_other é Q01_other).



A Q05 neste exemplo mostra o uso simultâneo de array_filter e array_filter_exclude em Q01 e Q02, respectivamente. Este exemplo demonstra os recursos de array_filter em cascata. Observe que um dos principais motivos para exibir os critérios de validação no nível da pergunta e da pergunta secundária é ajudar a garantir que você não cometeu erros de digitação ao especificar os nomes de variáveis de array_filter ou array_filter_exclude (ou caso use nomes de variáveis diferentes para a sua lista de perguntas secundárias filtradas). Se houver esses erros de digitação, todos os nomes de variáveis inválidos aparecerão em vermelho, indicando que não estão definidos, o que permite corrigir o problema rapidamente.



Relevância dinâmica

Este exemplo demonstra a lógica de relevância dinâmica em cascata para controlar a visibilidade das perguntas. Você pode baixar este exemplo aqui.

Observe também que as perguntas são exibidas somente se determinados critérios de validação forem atendidos. Por exemplo, se uma pessoa declara que tem 2 filhos, certas perguntas precisam ser preenchidas pelo participante (kid1 e kid2).


Relevância no nível do grupo

Este exemplo mostra como a relevância no nível do grupo aparece na verificação da lógica. Aqui estão as capturas de tela do exemplo descrito abaixo.

Como você pode ver, a equação de relevância do grupo (cohabs > 1 && p1_rel != "") aparece na linha cinza Person 2 do G-2.

Você também pode notar que todas as perguntas são obrigatórias. No entanto, se o grupo é irrelevante, todas as suas perguntas também são. Como resultado, essas perguntas só são realmente obrigatórias se o grupo for relevante.

Você também pode notar que certas perguntas são exibidas somente se a resposta à pergunta anterior não estiver vazia. Veja abaixo que, se p2_sex não for preenchida, p2_name não será exibida, mesmo sendo uma pergunta obrigatória. A pergunta obrigatória p2_age também não será exibida se p2_name não for preenchida. Essas perguntas podem ser consideradas "condicionalmente obrigatórias".

Além disso, observe que as mensagens de dica também são criadas automaticamente para você. Elas são organizadas por intervalo de valores (mín./máx.), intervalo da soma dos valores (mín./máx./igual a), número de respostas (mín./máx.) etc. (depende do tipo de pergunta utilizado e dos atributos ativos). Às vezes você quer validar um intervalo de respostas, mas não quer exibir ao participante dicas de validação que possam parecer desnecessárias. Nesses casos, você pode usar a opção de pergunta hide_tip (como neste caso, para evitar informar ao participante que a idade deve estar entre 0 e 115, a menos que ele tente inserir um valor inválido - veja p2_age).


Vírgula como separador decimal

Embora o LimeSurvey ofereça suporte total ao uso da vírgula como separador decimal durante a execução, você ainda deve usar o ponto como separador decimal na fase de criação (por exemplo, ao especificar valores mín./máx. nos atributos avançados da pergunta). O exemplo funcional pode ser encontrado aqui.

Lembre-se também de que a lógica de validação é criada automaticamente para você a partir dos atributos de pergunta ativados. As equações podem parecer assustadoras, mas você não precisa se preocupar com elas.