Actions

Tab Separated Value survey structure/pt-br: Difference between revisions

From LimeSurvey Manual

(Created page with "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 gru...")
(Created page with "==Subquestões==")
Line 130: Line 130:




==Subquestions==
==Subquestões==





Revision as of 16:35, 10 May 2019


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.


Verifique o seguinte exemplo para entender melhor essa funcionalidade.


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.

Observe que o arquivo exportado está em formato UTF-8 com a Marca de Ordem de Byte (BOM) como os três primeiros caracteres (ocultos). Se você clicar duas vezes no arquivo .txt e tentar abri-lo diretamente com o Excel, ele não será aberto corretamente, porque o Excel não detecta que ele está formatado em UTF-8. Para abrir esses arquivos, primeiro abra o Excel, selecione Arquivo: Abrir, selecione o arquivo .txt e informe ao programa que ele está usando a codificação UTF-8.

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 este formato para instrumentos de autoria:

  1. Use as mesmas respostas para muitas perguntas. Apenas copie as linhas 'A' (para respostas) e cole após cada pergunta que deve ter o mesmo conjunto.
  2. Use as mesmas subquestões para muitas perguntas. Basta copiar as linhas 'SQ' (para subquestões) e colá-las após cada pergunta que precisar.
  3. "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" (para 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"). O próximo deve ser "numPeople> 2". O recurso de arrastar atualizará automaticamente o número). Filtre por linhas 'Q' (para questões) e assegure-se de que cada pergunta tenha um valor único (por exemplo, nomeie suas variáveis g1_q1, g1_q2, g1_qN, use localizar/substituir para converter g1 em g2 o segundo grupo; g3 para o terceiro, etc.)
  4. Reordenar perguntas/grupos. Simplesmente reordene as linhas do arquivo de planilha.
  5. Testando módulos do questionário. Para questionários longos, você pode querer dividir o teste em módulos. Basta criar novos arquivos de planilhas para cada módulo, excluindo as linhas que você não precisa. Isso evita a necessidade de inserir muitos dados para testar seções posteriores do questionário.
  6. Testando questões obrigatórias. Uma queixa comum não é a necessidade de tornar muitas perguntas obrigatórias, mas a necessidade de desativar o recurso obrigatório para testes. Basta criar a planilha principal com o conjunto obrigatório para os valores finais desejados. Em seguida, para testá-lo, basta excluir a coluna "obrigatória" e salvar a versão de teste da planilha. Quando você importa essa versão, nenhuma das perguntas será obrigatória. Depois de concluir o teste, importe a cópia principal.
  7. Configurando padrões. Em vez de usar a GUI, você pode inserir os padrões desejados na coluna padrão. Isso é especialmente útil para casos em que a GUI não permite inserir o valor desejado, como expressões, para definir o padrão para itens da lista (como preencher uma lista de um atributo participante do questionário).
  8. Tradução. Você pode criar cópias de 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. Estes podem ser distribuídos aos seus tradutores e reintegrados em um único arquivo de planilha quando eles forem concluídos.
  9. Configuração em massa de atributos de perguntas avançadas. Você pode querer que todas as suas equações se tornem visíveis (para que você possa ver os valores delas ao coletar dados), mas depois ocultá-las antes de ir para a produção. Simplesmente filtre a planilha em class = 'Q' e tipo de pergunta = '*' (equação) e defina always_hide como 1 para cada uma dessas perguntas. Da mesma forma, depois de criar o questionário, você decide quais perguntas devem aparecer nas estatísticas públicas. Em vez de editar cada questão através da GUI, filtre em class = 'Q' e defina public_statistics = 1 para todas as questões que devem estar visíveis nas estatísticas.
  10. Localizar e substituir. Digamos que você decida alterar algumas frases em todas as suas perguntas. Você pode usar o Excel para encontrar e substituir para fazer essas alterações. Da mesma forma, digamos que você decida fazer uma renomeação em massa de suas variáveis, localizar e substituir pode vir ao resgate. Se você precisar localizar e substituir com base na expressão regular, poderá selecionar a coluna desejada, copiar para um editor de texto, localizar e substituir e colar a coluna de volta na planilha.
  11. Ganhando aprovações. Se você está fazendo um questionário, você pode ter um Conselho de Revisão Institucional que insiste em ver o texto das perguntas. Esta pode ser uma maneira conveniente de compartilhá-lo. Da mesma forma para discussões com um cliente.
  12. Consenso da equipe. Se você estiver tentando fazer com que um grupo concorde com a redação ou a aparência de uma pergunta ou grupo, você poderá rapidamente criar um protótipo/editar a planilha, importá-la e mostrar à equipe exatamente por meio da pergunta ou da visualização do grupo . Dessa forma, você pode obter aprovação da equipe antes de sair da sala, em vez de precisar documentar os requisitos, montá-los e obter aprovação em reuniões futuras.
  13. Atualizando de outros formatos de questionário. Se seu questionário estiver em formato XML, Word ou outro formato, você poderá criar um processo de tradução para mapeá-los para esse formato. Embora você também possa tentar mapear para o formato .lss, a vantagem desse formato é que ele não exige que você acompanhe os relacionamentos de chaves estrangeiras entre grupos, perguntas, subquestões, respostas e padrões.


Limitações

  1. 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:

  1. id
  2. related_id
  3. class
  4. type/scale
  5. name
  6. relevance
  7. text
  8. help
  9. language
  10. validation
  11. mandatory
  12. other
  13. default
  14. same_default


Parâmetros Globais de Questionário

Há uma linha por parâmetro na tabela de questionários.

  1. classe => 'S'
  2. nome => database field name
  3. 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.

  1. classe => 'SL'
  2. nome => database field name
  3. texto => value
  4. 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).

  1. 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
  2. classe => 'G'
  3. nome => group_name -- o identificador único para o grupo
  4. relevância => grelevance -- a equação de relevância no nível do grupo, sem chaves
  5. texto => description -- a descrição específica do idioma do grupo
  6. 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.

  1. 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
  2. Classe => 'Q'
  3. Tipo/escala => type - o (geralmente uma letra) tipo de pergunta (por exemplo, 'M' é múltipla escolha)
  4. Nome => title - o nome da questão única (a raiz do sistema de nomenclatura qcode)
  5. relevância => relevance - a relevância para a questão
  6. texto => question - o texto-idioma específico da pergunta
  7. ajuda => help - o texto de ajuda específico do idioma
  8. idioma => language - o idioma do grupo (por exemplo, 'en')
  9. validação => preg - os critérios opcionais de validação de expressões regulares para a questão
  10. obrigatório => mandatory - 'Y' se obrigatório
  11. outros => other - 'Y' se a opção "Outros" estiver disponível (apenas para alguns tipos de perguntas)
  12. padrão => default - se definido, esse valor é inserido na tabela de valores por omissão para esta questão
  13. 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

One subquestion row per survey language. Subquestions are assumed to belong to the question that precedes them.

  1. id => same unique numeric identifier which is used for the questions. Subquestions should use next available value, question and subquestion IDs should be different (e.g. use ID 1 for question and IDs 2, 3 and 4 for subquestions belonging to question 1, next question ID should be 5 and so on). Use the same subquestion ID for additional languages belonging to current subquestions.
  2. class => 'SQ'
  3. type/scale => scale_id -- 0 or 1, depending upon question type (e.g. array text will have two scales)
  4. name => title -- the "name" of the subquestion, e.g. the one used for exclude_all_others
  5. relevance => relevance -- (Future) to support subquestion-level relevance
  6. text => question -- the language-specific text of the subquestion
  7. help => help -- (Future) to support subquestion-level help
  8. language => language -- the language for the subquestion
  9. validation => preg -- (Future) to support subquestion-level regular expression validation (e.g. for address parts)
  10. mandatory => mandatory -- (Future) to support subquestion-level mandatory (e.g. make only a few subquestions mandatory)
  11. default => default -- if set, then this is the default value for the subquestion (inserted into defaultvalues table)
  12. same_default => same_default -- if set, then the default for the primary language is  used for all other languages


Answers

One answer row per survey language (e.g., there would be 3 answer rows if survey has 3 languages). Answers are assumed to belong to the question that precedes them, and be in the desired sort order.

  1. id => use the same ID as the ID of the question it belongs to
  2. class => 'A'
  3. type/scale => scale_id -- 0 or 1 (e.g. for dual-scale)
  4. name => code -- the unique answer identifier
  5. relevance => assessment_value -- if using assessment option, this is the assessment value for the answer
  6. text => answer -- the language-specific text of the answer
  7. language => language -- the language for this answer (e.g. 'en')


Assessments

One assessment row per survey language (e.g., there would be 3 assessment rows if survey has 3 languages). Assessments are written at the end of file.

  1. id => unique numeric identifier for the assessment, starting with number 1, use the same ID for additional languages belonging to current assessment
  2. related_id => id of group to which current assessment belongs to
  3. class => 'AS'
  4. type/scale => assessment scope: T-Total, G-group
  5. name => name
  6. text => message
  7. min_num_value => Minimum
  8. max_num_value => Maximum
  9. language => language -- the language for this answer (e.g. 'en')


Quotas

One row per quota. Quotas are written at the end of file.

  1. id => unique numeric identifier for the quota, starting with number 1
  2. class => 'QTA'
  3. name => quota name
  4. mandatory => limit
  5. other => quota action
  6. default => active
  7. same_default => autoload URL


Quota language settings

One quota row per survey language. Quota language settings are assumed to belong to the quota that precedes them.

  1. id => unique numeric identifier for the quota language settings, starting with number 1. Each row for different survey languages should have different IDs
  2. related_id => quota id of quota to which this setting belongs to
  3. class => 'QTALS'
  4. relevance => message
  5. text => URL
  6. help => URL description
  7. language => language -- the language for this quota (e.g. 'en')


Quota members

One row per quota member, no language dependent. Quota member row should be placed immediately after question it relates to. Quota members are assumed to belong to the question that precedes them.

  1. id => unique numeric identifier for the quota members, starting with number 1
  2. related_id => quota id of quota to which this member belongs to
  3. class => 'QTAM'
  4. name => answer code


Conditions

One row per condition, no language dependent. Condition row should be placed immediately after question it relates to. Conditions are assumed to belong to the question that precedes them.

  1. id => unique numeric identifier for the condition, starting with number 1.
  2. related_id => question id of related question, if applicable
  3. class => 'C'
  4. type/scale => scenario
  5. name => answer field name
  6. relevance => comparison operator
  7. text => expected answer