Estrutura de questionário Valores Separados por Tabulações
From LimeSurvey Manual
Importação de Valores Separados por Tabulação e Exportação de Estrutura de Questionário
Esse recurso foi projetado para facilitar o uso de um software de planilhas como o LibreOffice, o Excel ou o Google Docs para criar e editar questionários. Elimina completamente a dependência dos códigos do SGQA.
Esse recurso oferece suporte à importação de arquivos TSV (Tab Separated Value) codificados em ASCII ou UTF-8 que possuem uma extensão .txt.
Começando
A maneira mais fácil é tomar um questionário existente e exportá-lo no formato Valores Separados por Tabulação. Use o botão utilizado normalmente para exportação de questionário e, em vez de selecionar o formato .Iss, selecione Formato "Valores Separados por Tabulação (*.txt)". Ele será salvo como um arquivo de Valores Separados por Tabulação no formato adequado (arquivo unicode delimitado por tabulações), com todos os cabeçalhos de colunas corretos.
Qualquer software de planilhas que suporte valores separados por tabulações será bom (por exemplo, OpenOffice ou LibreOffice). O LimeSurvey ignora qualquer formatação na planilha, mas fique à vontade para adicionar algumas se isso te ajudar.
Haverá uma linha para cada grupo, pergunta, subquestão e resposta. Há também linhas para variáveis globais do questionário e para variáveis do questionário específicas do idioma. O idioma principal será listado primeiro, seguido por quaisquer idiomas secundários. Portanto, se houver vários idiomas, todo o conteúdo do idioma base aparecerá primeiro (por exemplo, todos os grupos, perguntas, subquestões e respostas). Isto será seguido por uma cópia traduzida para cada idioma secundário (com exatamente o mesmo número e ordem ou linhas para o conjunto traduzido).
Relacionamentos são inferidos pela proximidade. Então, as perguntas que seguem um grupo fazem parte desse grupo; subquestões após uma pergunta fazem parte dessa questão e as respostas após uma pergunta fazem parte dessa questão. Assim, você não precisa saber os IDs (gid, qid, sqid) para qualquer pergunta. Aqueles serão computados automaticamente na importação. Na verdade, esse formato não usa gid, qid ou sqid (nem códigos SGQA).
Dicas
O objetivo da importação/exportação em formato de Valores Separados por Tabulações é permitir que você crie rapidamente seu questionário usando uma planilha. Esperamos que você importe a planilha com frequência, verifique sua validade usando o recurso "Mostrar lógica do questionário" e teste-o. Cada vez que você importá-la, você terá um novo questionário. Então, você pode acabar com muitos questionários parcialmente desenvolvidos, mas tudo bem. Adquira o hábito de acompanhar qual é o mais recente ou exclua o antigo depois de importar os novos. Como você nunca usa códigos do SGQA no formato de Valores Separados por Tabulações, nunca precisa se preocupar com os códigos que o LimeSurvey atribui às chaves de questionário, grupo, pergunta e resposta principais. Portanto, sinta-se à vontade para importar e exportar quantas vezes quiser.
Aqui estão algumas coisas convenientes que você pode fazer com esta abordagem para a criação de instrumentos:
- Use as mesmas respostas para muitas perguntas. Basta copiar as linhas 'A' e colá-las após cada pergunta que deve ter o mesmo conjunto.
- Use as mesmas subquestões para muitas perguntas. Basta copiar as linhas 'SQ' e colá-las após cada pergunta que precisar delas.
- "Looping" - use o mesmo grupo várias vezes. Depois que o grupo estiver do jeito que você deseja, copie-o quantas vezes forem necessárias. Use a filtragem do Excel para exibir apenas as linhas 'G' (de grupos) e use o recurso de arrastar colunas do Excel para atualizar as equações de relevância de cada grupo (por exemplo, para um censo, a primeira relevância pode ser "numPeople > 1" e a próxima deve ser "numPeople > 2". O recurso de arrastar atualizará o número automaticamente). Filtre pelas linhas 'Q' e assegure-se de que cada pergunta tenha um valor único (por exemplo, se você nomear suas variáveis g1_q1, g1_q2, g1_qN, use localizar/substituir para converter g1 em g2 no segundo grupo; g3 no terceiro, etc.).
- Reordenar perguntas/grupos. Basta reordenar as linhas do arquivo de planilha.
- Testar módulos do questionário. Para questionários longos, você pode querer dividir o teste em módulos. Basta criar novos arquivos de planilha para cada módulo, excluindo as linhas de que não precisa. Isso evita a necessidade de inserir muitos dados para testar seções posteriores do questionário.
- Testar perguntas obrigatórias. Uma queixa comum não é a necessidade de tornar muitas perguntas obrigatórias, mas a necessidade de desativar o recurso de obrigatoriedade para testes. Basta criar a planilha principal com o valor de obrigatória definido como o final desejado. Em seguida, para testá-la, basta excluir a coluna "mandatory" e salvar a versão de teste da planilha. Quando você importar essa versão, nenhuma das perguntas será obrigatória. Depois de concluir o teste, importe a cópia principal.
- Definir valores padrão. Em vez de usar a interface gráfica, você pode inserir os valores padrão desejados na coluna default. Isso é especialmente útil nos casos em que a interface gráfica não permite inserir o valor desejado, como expressões para definir o padrão de itens de lista (como preencher uma lista a partir de um atributo de participante do questionário).
- Tradução. Você pode criar cópias da sua planilha - uma por idioma. Inclua todas as linhas do idioma principal, copie e cole-as abaixo e use o recurso de arrastar para alterar o campo de idioma para o idioma de destino. Elas podem ser distribuídas aos seus tradutores e reintegradas em um único arquivo de planilha quando eles terminarem.
- Definição em massa de atributos avançados de perguntas. Você pode querer que todas as suas equações comecem visíveis (para ver seus valores enquanto coleta dados), mas depois ocultá-las antes de ir para produção. Basta filtrar a planilha por class = 'Q' e tipo de pergunta = '*' (equação) e definir always_hide como 1 para cada uma dessas perguntas. Da mesma forma, suponha que, depois de criar o questionário, você decida quais perguntas devem aparecer nas estatísticas públicas. Em vez de editar cada pergunta pela interface gráfica, filtre por class = 'Q' e defina public_statistics = 1 para todas as perguntas que devem estar visíveis nas estatísticas.
- Localizar e substituir. Digamos que você decida alterar alguma redação em todas as suas perguntas: você pode usar o recurso de localizar e substituir do Excel para fazer essas alterações. Da mesma forma, se decidir renomear variáveis em massa, localizar e substituir pode ajudar. Se precisar de localizar e substituir baseado em expressões regulares, você pode selecionar a coluna desejada, copiá-la para um editor de texto, fazer a substituição e colar a coluna de volta na planilha.
- Obter aprovações. Se você está realizando uma pesquisa, pode haver um comitê de revisão institucional que insista em ver o texto das perguntas. Esta pode ser uma maneira conveniente de compartilhá-lo. O mesmo vale para discussões com um cliente.
- Consenso da equipe. Se você está tentando fazer um grupo concordar sobre a redação ou a aparência de uma pergunta ou grupo, pode criar rapidamente um protótipo/editar a planilha, importá-la e mostrar à equipe (por meio da pré-visualização da pergunta ou do grupo) exatamente o que os usuários verão. Dessa forma, você obtém a aprovação da equipe antes de ela sair da sala, em vez de documentar requisitos, construí-los e obter aprovação em reuniões futuras.
- Migrar de outros formatos de questionário. Se o seu questionário estiver em XML, Word ou outro formato, você pode criar um processo de conversão para mapeá-lo para este formato. Embora também seja possível tentar mapear para o formato .lss, a vantagem deste formato é que ele não exige que você controle os relacionamentos de chave estrangeira entre grupos, perguntas, subquestões, respostas e valores padrão.
Limitações
- Por design, esse recurso só funciona corretamente para questionários que usam nomeação de qcode (em vez de SGQA). Esse recurso pressupõe que os nomes de variáveis (identificadores de pergunta) sejam exclusivos em toda a pesquisa. Os nomes das subquestões podem ser repetidos, desde que sejam exclusivos dentro do escopo de uma questão específica.
Formato de Arquivo
Geral
Usamos o mesmo conjunto de cabeçalhos de coluna para várias finalidades. As primeiras 14 colunas servem diferentes propósitos, dependendo do tipo de entidade (por exemplo, grupo, pergunta, resposta). As colunas restantes são uma lista alfabética dos nomes dos campos do banco de dados para os códigos de perguntas avançadas. Abaixo está a sintaxe para cada tipo de entidade
As primeiras 14 colunas são:
- id (New in 3.14.0 )
- related_id (New in 3.14.0 )
- class
- type/scale
- name
- relevance
- text
- help
- language
- validation
- mandatory
- other
- default
- same_default
Parâmetros Globais de Questionário
Há uma linha por parâmetro na tabela de questionários.
- classe => 'S'
- nome => database field name
- texto => value
Idioma do Questionário-Parâmetros Específicos
Há uma linha por campo por idioma na tabela surveys_languagesettings. Todas as entradas para um determinado idioma são coletadas antes de serem inseridas nessa tabela.
- classe => 'SL'
- nome => database field name
- texto => value
- idioma => language
Grupos
Uma linha de grupo por idioma de questionário (por exemplo, haveria 3 linhas de grupo se a pesquisa tiver 3 idiomas).
- id => identificador numérico exclusivo para o grupo, começando com o número 1, use o mesmo ID para idiomas adicionais pertencentes ao mesmo grupo
- classe => 'G'
- nome => group_name -- o identificador único para o grupo
- relevância => grelevance -- a equação de relevância no nível do grupo, sem chaves
- texto => description -- a descrição específica do idioma do grupo
- idoma => language -- o idioma do grupo (por exemplo, 'en')
Questões
Uma linha de pergunta por idioma do questionário (por exemplo, haverá 3 linhas de questão se o questionário tiver 3 idiomas). Presume-se que as questões pertençam ao grupo que as precede.
- Id => identificador numérico exclusivo para a questão, começando com o número 1, use o mesmo ID para idiomas adicionais pertencentes à mesma questão
- Classe => 'Q'
- Tipo/escala => type - o (geralmente uma letra) tipo de pergunta (por exemplo, 'M' é múltipla escolha)
- Nome => title - o nome da questão única (a raiz do sistema de nomenclatura qcode)
- relevância => relevance - a relevância para a questão
- texto => question - o texto-idioma específico da pergunta
- ajuda => help - o texto de ajuda específico do idioma
- idioma => language - o idioma do grupo (por exemplo, 'en')
- validação => preg - os critérios opcionais de validação de expressões regulares para a questão
- obrigatório => mandatory - 'Y' se obrigatório
- outros => other - 'Y' se a opção "Outros" estiver disponível (apenas para alguns tipos de perguntas)
- padrão => default - se definido, esse valor é inserido na tabela de valores por omissão para esta questão
- mesmo_padrão => same_default - 'Y' para verdadeiro, caso em que qualquer valor de default definido para o idioma principal se aplica a outros idiomas
Subquestões
Uma subquestão por linha por idioma do questionário. Supõe-se que as subquestões pertençam à questão que as precede.
- id => mesmo identificador numérico exclusivo que é usado para as questões. As subquestões devem usar o próximo valor disponível, IDs de questões e subquestões devem ser diferentes (por exemplo, usar ID 1 para a questão e ID 2, 3 e 4 para as subquestões pertencentes à questão 1. A próxima questão deve ser 5, e assim por diante). Use o mesmo ID de subquestão para idiomas adicionais pertencentes às mesmas subquestões.
- classe => 'SQ'
- tipo/escala => scale_id -- 0 ou 1, dependendo do tipo de pergunta (por exemplo, o texto da matriz terá duas escalas)
- nome => title -- o "nome da subquestão, por exemplo, o usado para excluir_todos_os_outros
- relevância => relevance -- (em breve) para suportar a relevância no nível da subquestão
- texto => question -- o texto da subquestão específico para o idioma
- ajuda => help -- (em breve) para apoiar ajuda no nível da subquestão
- idioma => language -- o idioma para a subquestão
- validação => preg -- (em breve) para suportar validação de expressão regular em nível de subquestão (por exemplo, para partes de endereço)
- obrigatório => mandatory -- (em breve) para suportar obrigatoriedade no nível de subquestão (por exemplo, fazer apenas algumas subquestões obrigatórias)
- padrão => default -- se configurado, então este é o valor padrão para a subquestão (inserido na tabela defaultvalues)
- mesmo_padrão => same_default -- se configurado, então o padrão para o idioma primário é usado para todos os outros idiomas
Respostas
Uma resposta por linha por idioma do questionário (por exemplo, haveria 3 linhas de resposta se o questionário tiver 3 idiomas). Supõe-se que as respostas pertençam à pergunta que as precede e estejam na ordem de classificação desejada.
- id => use o mesmo ID que o da questão à qual pertence
- class => 'A'
- tipo/escala => scale_id -- 0 ou 1 (por exemplo, para escala dupla)
- nome => code -- o identificador exclusivo de resposta
- relevância => assessment_value -- se estiver usando a opção de avaliação, este é o valor de avaliação para a resposta
- texto => answer -- o texto específico do idioma da resposta
- idioma => language -- o idioma para esta resposta (por exemplo, 'en')
Avaliações
Uma linha de avaliação por idioma do questionário (por exemplo, haveria 3 linhas de avaliação se o questionário tiver 3 idiomas). As avaliações são escritas no final do arquivo.
- id => identificador numérico exclusivo para a avaliação, começando com o número 1, use o mesmo ID para idiomas adicionais pertencentes à mesma avaliação
- related_id => identificador do grupo para o qual a avaliação pertença
- classe => 'AS'
- tipo/escala => assessment scope: T-Total, G-group
- nome => nome
- texto => mensagem
- min_num_value => Valor mínimo
- max_num_value => Valor máximo
- idioma => language -- o idioma para esta resposta (por exemplo, 'en')
Cotas
Uma linha por cota. Cotas são escritas no final do arquivo.
- id => identificador numérico exclusivo para a cota, começando com o número 1
- class => 'QTA'
- nome => nome da cota
- obrigatório => limite
- outros => ação de cota
- padrão => ativo
- mesmo_padrão => URL de carregamento automático
Configurações de idioma da cota
Uma linha de cota por idioma do questionário. Presume-se que as configurações de idioma de cota pertencem à cota que o precede.
- id => identificador numérico exclusivo para as configurações de idioma da cota, começando com o número 1. Cada linha para um idioma diferente deve ter um ID diferente
- related_id => ID da cota para a qual essas configurações pertencem
- class => 'QTALS'
- relevância => mensagem
- texto => URL
- ajuda => descrição do URL
- idioma => language -- o idioma para esta cota (por exemplo, 'en')
Membros da cota
Uma linha por membro de cota, sem dependência de idioma. A linha do membro da cota deve ser colocada imediatamente após a pergunta a que se refere. Presume-se que os membros da cota pertençam à questão que os precede.
- id => identificador numérico exclusivo para os membros da cota, começando com o número 1
- related_id => identificador da cota para a qual os membros pertençam
- class => 'QTAM'
- nome => código da resposta
Condições
Uma linha por condição, sem dependência de idioma. A linha de condição deve ser colocada imediatamente após a questão a que se refere. Presume-se que as condições pertençam à pergunta que as precede.
- id => identificador numérico exclusivo para a condição, começando com o número 1
- related_id => identificador da questão relacionada, se aplicável
- classe => 'C'
- tipo/escala => cenário
- nome => nome do campo de resposta
- relevância => operador de comparação
- texto => resposta esperada