Actions

Tab Separated Value survey structure/ja: Difference between revisions

From LimeSurvey Manual

(Created page with "==グループ==")
No edit summary
(47 intermediate revisions by 3 users not shown)
Line 2: Line 2:
__TOC__
__TOC__


<div class="simplebox">この機能はバージョン2.0から利用可能です。</div>


=タブ区切り形式によるアンケート構成のインポート・エクスポート=
=タブ区切り形式によるアンケート構成のインポート・エクスポート=


この機能は、Excel、LibreOffice、Google Docsなどのスプレッドシートソフトウェアを使用してアンケートを作成および編集することを容易にするように設計されています。SGQAコードへの依存を完全に排除します。
この機能は、Excel、LibreOffice、Google Docsなどのスプレッドシートソフトウェアを使用してアンケートを作成および編集することを容易にするように設計されています。SGQAコードへの依存を完全に排除します。


この機能は、拡張子が.txtのASCIIまたはUTF-8でエンコードされたタブ区切り(TSV)ファイルからのインポートをサポートします。
この機能は、拡張子が.txtのASCIIまたはUTF-8でエンコードされたタブ区切り(TSV)ファイルからのインポートをサポートします。
{{Note|この機能をよりよく理解するには、次の[https://www.limesurvey.org/about-limesurvey/surveyhelp/2125-creating-limesurvey-questionnaires-in-excel 例]を確認してください。}}


=はじめに=
=はじめに=


最も簡単な方法は、ツールからタブ区切り値形式でエクスポートすることです。通常のアンケート出力ボタンを使用し、.lss形式を選択するのではなく、"LimeSurveyタブ区切り形式(* .txt)"を選択します。適切な書式(タブで区切られたユニコードファイル)でタブ区切り形式ファイルとして保存され、すべての正しい列見出しが付けられます。
 
最も簡単な方法は、アンケートからタブ区切り値形式でエクスポートすることです。通常のアンケート出力ボタンを使用し、.lss形式を選択するのではなく、"タブ区切り形式(* .txt)"を選択します。適切な書式(タブで区切られたユニコードファイル)でタブ区切り形式ファイルとして保存され、すべての正しい列見出しが付けられます。


タブ区切り形式をられた値をサポートするスプレッドシートソフトウェアなら何でも構いません(OpenOfficeやLibreOfficeなど)。LimeSurveyはスプレッドシート内の書式設定を無視しますが、役立つ場合は自由に追加してください。
タブ区切り形式をられた値をサポートするスプレッドシートソフトウェアなら何でも構いません(OpenOfficeやLibreOfficeなど)。LimeSurveyはスプレッドシート内の書式設定を無視しますが、役立つ場合は自由に追加してください。
Line 21: Line 26:


行の間の関係は行の近さによって推定されます。したがって、グループに続く質問はそのグループの一部と認識されます。質問に続くサブ質問はその質問の一部であり、質問に続く回答はその質問の一部です。したがって、質問にはID(gid、qid、sqid)は必要なく、インポート時に自動的に計算されます。実際、このフォーマットでは、gid、qid、sqid(またはSGQAコード)をまったく使用しません。
行の間の関係は行の近さによって推定されます。したがって、グループに続く質問はそのグループの一部と認識されます。質問に続くサブ質問はその質問の一部であり、質問に続く回答はその質問の一部です。したがって、質問にはID(gid、qid、sqid)は必要なく、インポート時に自動的に計算されます。実際、このフォーマットでは、gid、qid、sqid(またはSGQAコード)をまったく使用しません。


=ヒント=
=ヒント=


タブ区切り形式のインポート/エクスポートの目的は、スプレッドシートを使用してアンケートをすばやく設計できるようにすることです。シートをインポートし、"アンケートロジックの表示"機能を使用してシートの有効性を確認し、テストしてください。インポートするたびに、新しいアンケートが作られます。部分的に完成した多くのアンケートができるかもしれませんが、問題ありません。一番新しいものを対象にするか、新しいものをインポートした後に古いものを削除すればよいのです。タブ区切り形式でSGQAコードを使用することは決してないので、LimeSurveyがアンケート、グループ、質問、回答のキーに割り当てるコードについて心配する必要はありません。ですから、自由にインポート/エクスポートしてください。
タブ区切り形式のインポート/エクスポートの目的は、スプレッドシートを使用してアンケートをすばやく設計できるようにすることです。シートをインポートし、"アンケートロジックの表示"機能を使用してシートの有効性を確認し、テストしてください。インポートするたびに、新しいアンケートが作られます。部分的に完成した多くのアンケートができるかもしれませんが、問題ありません。一番新しいものを対象にするか、新しいものをインポートした後に古いものを削除すればよいのです。タブ区切り形式でSGQAコードを使用することは決してないので、LimeSurveyがアンケート、グループ、質問、回答のキーに割り当てるコードについて心配する必要はありません。ですから、自由にインポート/エクスポートしてください。


Here are some convenient things you can do with this approach to authoring instruments:
アンケートを作成するうえで便利な方法がいくつかあります。
#'''Use same Answers for many questions'''.  Just copy the 'A' rows and paste after each question that should have the same set.
#'''多くの質問に対して同じ回答を使用する''''A'の行をコピーし、同じ回答を使用する質問の後に貼り付けます。
#'''Use same sub-questions for many questions'''.  Just copy the 'SQ' rows and paste them after each question that needs it.
#'''多くの質問に対して同じサブ質問を使用する''''SQ'行をコピーして、それを必要とする質問の後に貼り付けます。
#'''"Looping" - use same group many times'''.  After the group is the way you want it, copy it as many times as needed.  Use Excel filtering to view just the 'G' rows (for groups), and use the Excel column drag feature to update the relevance equations for each group (e.g. for a census, the first relevance might be "numPeople > 1", the next should be "numPeople > 2".  The drag feature will auto-update the number).  Filter by 'Q' rows and ensure that each question has a unique value (e.g. say you name your variables g1_q1, g1_q2, g1_qN, use find/replace to convert g1 to g2 the second group; g3 for the third, etc.).
#'''"繰り返し" - 同じグループを複数回使用する'''。必要な回数だけグループをコピーしてください。Excelのフィルタリングを使用して(グループの)'G'行だけを表示し、Excel列のドラッグ機能を使用して各グループの出現条件の式を更新します(例:国勢調査では、最初の出現条件は"numPeople>1"、次は"numPeople>2"とします。ドラッグ機能により数字を1つずつ増やしていきます)。'Q'行でフィルタリングし、各質問に固有の値があることを確認します(例:変数g1_q1、g1_q2、g1_qNの名前をつけ、g1をg2に、2番目のグループをg3に、g3を3番目にg3に変換します)。
#'''Re-ordering questions/groups'''.  Simply re-order the rows of the spreadsheet file.
#'''質問/グループの並べ替え'''。スプレッドシートファイルの行を並べ替えるだけです。
#'''Testing survey modules'''.  For long surveys, you may want to break up the testing into modules.  Simply create new spreadsheet files for each module, deleting any rows that you don't need. This avoids the need to enter lots of data to test later sections of the survey.
#'''アンケートモジュールのテスト'''.  長いアンケートでは、モジュールに分割してテストすることができます。モジュールごとに新しいスプレッドシートファイルを作成し、必要のない行を削除するだけです。これにより、アンケートの後の方のセクションをテストする、多くのデータを入力する必要がなくなります。
#'''Testing mandatory questions'''.  A common complaint is the need to make many questions mandatory, but the need to turn off the mandatory feature for testing.  Simply create the master spreadsheet with mandatory set the the final desired values.  Then, to test it, just delete the "mandatory" column and save the test version of the spreadsheet.  When you import that version, none of the questions will be mandatory.  After you have finished your testing, import the master copy.
#'''必須の質問のテスト'''。多くの質問を必須にする必要があるものの、テストのために必須機能をオフにしたい場合があります。必要なものを必須の設定にしてマスタースプレッドシートを作成するだけです。次に、テストするため、"必須"列を削除し、スプレッドシートのテスト版を保存します。そのバージョンをインポートすれば、質問は必須ではなくなります。テストが終了したら、マスターの方をインポートします。
#'''Setting defaults'''.  Rather than using the GUI, you can enter any desired defaults in the default column.  This is especially helpful for cases where the GUI does not let you enter the desired value, like Expressions to set the default for list items (like populating a list from a token attribute).
#'''既定値設定'''。GUIを使用するのではなく、既定値の列に任意の既定値を入力します。これは、リスト項目の既定値を設定する[[ExpressionScript - Presentation/ja|式]]([[Survey participants/ja|アンケート参加者]]属性からリストを設定するなど)のように、GUIで目的の値を入力できない場合に特に役立ちます。
#'''Translation'''.  You can create copies of your spreadsheet - one per language.  Include all the rows for the primary language, then copy and paste them below, and use drag to change the language field to the target language.  These can be distributed to your translators, and re-integrated into a single spreadsheet file when they are done.
#'''翻訳'''。スプレッドシートのコピーを言語ごとに1つ作成します。基本言語のすべての行を含め、その下にコピー&ペーストし、ドラッグを使用して言語フィールドを目的の言語に変更します。これらを翻訳者に配布し、完了したら1つのスプレッドシートファイルに再統合します。
#'''Bulk setting of advanced question attributes'''.  You may want all of your equations to start visible (so you can see their values as you collect data), but then hide them all before going to production.  Simply filter the spreadsheet on class = 'Q' and question type = '*' (equation), and set always_hide to 1 for each of those questions.  Similarly, say after you create the survey, you decide which questions should appear in public statistics.  Rather than edit each question through the GUI, filter on class = 'Q', and set public_statistics = 1 for all of the questions that should be visible in statistics.
#'''高度な質問属性の一括設定'''。すべての式が表示されるようにし(つまり、データを収集するときにその値を見ることができる)、公開時にこれらをすべて非表示にしたい場合があります。これは、スプレッドシート上でクラス='Q'と質問タイプ='*'(式)でフィルタリングし、質問ごとにalways_hideを1に設定します。同様に、アンケートを作成した後、公開統計にどの質問を表示するかを決定します。GUIで各質問を編集するのではなく、class='Q'でフィルターをかけ、統計に表示する必要のあるすべての質問に対してpublic_statistics=1を設定します。
#'''Find and replace'''.  Say you decide you need to change some phrasing across all of your questions, you can use Excel find and replace to make those changes.  Similarly, say you decide to do a bulk-renaming of your variables, find and replace can come to the rescue.  If you need regular-expression based find and replace, you can select the desired column, copy to a text editor, do your find and replace, and paste the column back into the spreadsheet.
#'''検索して置換する'''。すべての質問の中でいくつかのフレーズを変更する必要がある場合、Excelの検索・置換を使用して変更することができます。同様に、変数の一括リネームを行う場合も、検索して置き換えれば可能です。正規表現ベースの検索・置換が必要な場合は、目的の列を選択してテキストエディタにコピーし、検索・置換し、スプレッドシートに列を戻します。
#'''Gaining approvals'''.  If you are doing research, you may have an Institutional Review board who insists upon seeing the text of the questions.  This may be a convenient way to share it.  Similarly for discussions with a client.
#'''承認を得る'''。あなたが研究をしている場合、質問のテキストをレビューする委員会があるかもしれません。この目的で簡便に共有することができます。クライアントとの議論の場合も同様に使用できます。
#'''Team consensus'''.  If you are trying to get a group to agree upon the wording or appearance of a question or group, you can rapidly prototype / edit the spreadsheet, import it, and show the team (via question or group preview) exactly what the users will see.  That way you can get approval from the team before they leave the room rather than having to document requirements, build them, and get approval at future meetings.
#'''チームの同意'''。チーム内で質問やグループの表現や外見に同意を得る場合は、スプレッドシートをプロトタイプ化/編集し、インポートし、質問やグループのプレビューを行い、これを介してユーザーに提示される内容をチームメンバーに正確に見せることができます。そうすれば、要件を文書化して構築し、会議で承認するようなことは必要がなく、チームメンバーが会議室を後にする前にその場で承認を得ることができます。
#'''Upgrading from other  survey formats'''.  If you have existing survey in XML, Word, or other format, you can create a translation process to map them to this format.  Although you could also try mapping to the .lss format, the advantage of this format is that it doesn't require you to keep track of foreign key relationships between groups, questions, sub-questions, answers, and defaults.
#'''他のアンケートフォーマットからのアップグレード'''。既存のアンケートがXML、Word、または他の形式である場合は、この形式にマップするための変換プロセスを作成することができます。.lss形式にマッピングすることもできますが、この形式の利点は、グループ、質問、サブ質問、回答、および既定値の間の外部キーの関係を追いかける必要がないことです。
 


=制限事項=
=制限事項=
#設計上、SGQAではなくqcode名を使用するアンケートでのみ機能します。この機能では、変数名(質問の識別子)がアンケート内で一意であることを前提としています。 サブ質問名は、特定の質問の範囲内で一意である限り、同じものを使うことができます。
#設計上、SGQAではなくqcode名を使用するアンケートでのみ機能します。この機能では、変数名(質問の識別子)がアンケート内で一意であることを前提としています。 サブ質問名は、特定の質問の範囲内で一意である限り、同じものを使うことができます。
#現状、条件(代わりに出現条件の式を使用することを前提としているため)・評価(カスタマイズを使用することを前提としているため)・クォータをインポートまたはエクスポートすることはできません。しかし、強いニーズがあれば、追加することがあるかもしれません。
 
#現状、タブ区切り形式のエクスポート機能は、リスト型の質問の既定値をエクスポートすることはできません。


=ファイル形式=
=ファイル形式=


==概要==
==概要==


複数の目的のため、同じ見出しセットを使用しています。最初の14列は、エンティティの種類(グループ、質問、回答など)によって異なる目的で使用されます。残りの列は、高度な質問コードに関するデータベースフィールド名のアルファベット順のリストです。以下は、各エンティティタイプの構文です。
複数の目的のため、同じ見出しセットを使用しています。最初の14列は、エンティティの種類(グループ、質問、回答など)によって異なる目的で使用されます。残りの列は、高度な質問コードに関するデータベースフィールド名のアルファベット順のリストです。以下は、各エンティティタイプの構文です。


最初の14列は次のとおりです。
最初の14列は次のとおりです。
#id
#id {{NewIn/ja|3.14.0}}
#related_id
#related_id {{NewIn/ja|3.14.0}}
#class
#class
#type/scale
#type/scale
Line 67: Line 76:
#default
#default
#same_default
#same_default
{{Hint|Text=id列とrelated_id列はクォータにのみ使用され、オプションです。クォータがない場合は、この2列を直接削除できます。}}


==アンケートのグローバルパラメーター==
==アンケートのグローバルパラメーター==


アンケートテーブルには、パラメータごとに1つの行があります。
アンケートテーブルには、パラメータごとに1つの行があります。
#class = 'S'
#class => 'S'
#name => データベースフィールド名
#name => データベースフィールド名
#text => 値
#text => 値


==アンケートの言語固有のパラメーター==
==アンケートの言語固有のパラメーター==


surveys_languagesettingsテーブルには、言語ごと・フィールドごとに1つの行があります。言語のすべての項目は、このテーブルに挿入する前に収集されます。
surveys_languagesettingsテーブルには、言語ごと・フィールドごとに1つの行があります。言語のすべての項目は、このテーブルに挿入する前に収集されます。
#class = 'SL'
#class => 'SL'
#name => データベースフィールド名
#name => データベースフィールド名
#text => 値
#text => 値
#language => 言語
#language => 言語


==グループ==
==グループ==


There is one row per group.
#class = 'G'
#name => group_name -- the unique identifier for the group
#relevance => grelevance -- the group-level relevance equation, without curly braces
#text => description -- the language-specific description of the group
#language => language -- the language for the group (e.g. 'en')


==Questions==
アンケートの言語ごと・グループごとに1行あります(例えば、アンケートに3つの言語がある場合はグループの行が3つになります)。
#class => 'G'
#name => グループ名(グループの一意の識別子)
#relevance => grelevance(中括弧なしのグループレベルの出現条件の式)
#text => 説明(言語ごとのグループの説明)
#language => グループの言語(例: 'en')
 
 
==質問==
 
 
アンケートの言語ごとに1行あります(例えば、アンケートに3つの言語がある場合は質問の行が3つになります)。質問は先行する行のグループに属しているとみなされます。
#id => 質問に対して一意の数値の識別子。1から始まり、現在の質問に対応する他の言語の質問に同じIDを使用します。
#class => 'Q'
#type/scale => タイプ(通常1文字であらわされる[[Question types/ja|質問タイプ]])(例: 複数選択は'M')
#name => タイトル(固有の質問名でqcode命名システムで利用)
#relevance => 出現条件(質問に対する[[ExpressionScript - Presentation/ja#.E5.A4.89.E6.95.B0.E3.81.B8.E3.81.AE.E3.82.A2.E3.82.AF.E3.82.BB.E3.82.B9|出現条件の式]])
#text => 質問(言語ごとの質問テキスト)
#help => ヘルプ(言語ごとのヘルプテキスト)
#language => 言語(グループの言語。例: 'en')
#validation => preg(質問の検証条件として使用する正規表現)
#mandatory => 回答必須フラグ(必須の時は'Y')
#other => その他(一部の質問タイプで"その他"を使用する場合'Y')
#default => 既定値(設定した場合は、defaultvaluesテーブルにこの値がセットされます)
#same_default => 同一の既定値(基本言語に設定した既定値を他の言語にも当てはめる場合は'Y')
 
 
==サブ質問==
 
 
アンケートの言語ごとにサブ質問が1行あります。サブ質問は先行する質問に属しているとみなされます。
#id => 質問に対して一意の数値識別子。サブ質問は、次に利用可能な値を使用する必要があり、質問とサブ質問のIDは異なるものでなければなりません(例えば、質問1にはID 1、質問1に属するサブ質問にはID 2、3、4が使用されます)。現在のサブ質問に属する他の言語には、同じサブ質問IDを使用します。
#class => 'SQ'
#type/scale => scale_id(質問により0か1。配列テキストには2つの尺度があります)
#name => タイトル(サブ質問の"名前"、たとえばexclude_all_othersに使用される名前)
#relevance => 出現条件(将来の予定機能:サブ質問レベルの出現条件)
#text => 質問(言語ごとのサブ質問テキスト)
#help => ヘルプ(将来の予定機能:サブ質問レベルのヘルプ)#language => 言語(サブ質問の言語)
#validation => preg(将来の予定機能:アドレス欄など、サブ質問レベルの正規表現検証)
#mandatory => 必須(将来の予定機能:一部のサブ質問だけ必須とするような、サブ質問レベルの必須フラグ)
#default => 既定値(設定されている場合、サブ質問の既定値となり、defaultvaluesテーブルに挿入されます)
#same_default => same_default(設定すると、基本言語に設定した既定値を他の言語にも当てはめます)
 
 
==回答==
 
 
アンケートの言語ごとに回答が1行あります(例えば、アンケートに3つの言語がある場合は回答の行が3つになります)。回答は先行する質問に属し、好みの順番に並べられているとみなされます。
#id => 所属する質問のIDと同じIDを使用する
#class => 'A'
#type/scale => scale_id(0または1 - 二元スケール用)
#name => code(一意の回答識別子)
#relevance => assessment_value(評価オプションを使用する場合、これが回答の評価値となります)
#text => answer(言語固有の回答テキスト)
#language => language(回答の言語。例: 'en')
 
 
==評価==
 
 
アンケートの言語ごとに1行あります(例えば、アンケートに3つの言語がある場合は評価の行が3つになります)。評価はファイルの最後に書かれています。
#id => 評価に対して一意の数値の識別子。1から始まり、現在の評価に対応する他の言語の評価に同じIDを使用します。
#related_id => 現在の評価が属するグループのID。
#class => 'AS'
#type/scale => 評価のスコープ: Tは全体、Gはグループ。
#name => 名前
#text => メッセージ
#min_num_value => 最小値
#max_num_value => 最大値
#language => 言語(回答の言語。例: 'en')
 
 
==クォータ==
 
 
クォータごとに1行あります。クォータはファイルの最後に書き込まれます。
#id => クォータに対して一意の数値の識別子。1から始まります。
#class => 'QTA'
#name => クォータの名前
#mandatory => 上限値
#other => クォータアクション
#default => アクティブ
#same_default => autoload URL
 
 
==クォータ言語設定==
 
 
アンケートの言語ごとにクォータが1行あります。クォータ言語設定は、先行するクォータに属すると見なされます。
#id => クォータ言語に対して一意の数値の識別子。1から始まります。アンケート言語ごとに異なるIDを持ちます。
#related_id => この設定が属するクォータのID
#class => 'QTALS'
#relevance => メッセージ
#text => URL
#help => URLの説明
#language => 言語(クォータの言語。例: 'en')
 
 
==クォータメンバー==
 


One row per question.  Questions are assumed to belong to the group that precedes them.
クォータメンバーごとに1行あり、言語には依存しません。クォータメンバーの行は、関係する質問の直後に配置する必要があります。クォータメンバーは、クォータメンバーに先行する質問に属しているとみなされます。
#class = 'Q'
#id => クォータメンバーに対して一意の数値の識別子。1から始まります。
#type/scale => type -- the (usually one letter) [[Question types|question type]] (e.g. 'M' is Multiple Choice)
#related_id => メンバーが属するクォータのクォータID。
#name => title -- the unique question name (the root of the qcode naming system)
#class => 'QTAM'
#relevance => relevance -- the [[Expression Manager#Access_to_Variables|relevance equation]]  for the question
#name => 回答コード
#text => question -- the language-specific text of the question
#help => help -- the language-specific help text
#language => language -- the language for the group (e.g. 'en')
#validation => preg -- the optional regular expression validation criteria for the question
#mandatory => mandatory -- 'Y' if mandatory
#other => other -- 'Y' if the "Other" option should be available (only for some question types)
#default => default -- if set, this value is inserted into the defaultvalues table for this question
#same_default => same_default -- 'Y' for true, in which case any defaultvalue set for primary language applies to other languages


==Sub-Questions==


One row per sub-question.  Sub-questions are assumed to belong to the question that precedes them.
==条件==
#class = 'SQ'
#type/scale => scale_id -- 0 or 1, depending upon question type (e.g. array text will have two scales)
#name => title -- the "name" of the sub-question, e.g. the one used for exclude_all_others
#relevance => relevance -- (Future) to support sub-question-level relevance
#text => question -- the language-specific text of the sub-question
#help => help -- (Future) to support sub-question-level help
#language => language -- the language for the sub-question
#validation => preg -- (Future) to support sub-question-level regular expression validation (e.g. for address parts)
#mandatory => mandatory -- (Future) to support sub-question-level mandatory (e.g. make only a few sub-questions mandatory)
#default => default -- if set, then this is the default value for the sub-question (inserted into defaultvalues table)
#same_default => same_default -- if set, then the default for the primary language is  used for all other languages


==Answers==


One row per answer.  Answers are assumed to belong to the question that precedes them, and be in the desired sort order.
条件ごとに1行あり、言語には依存しません。条件行は、関係する質問の直後に配置する必要があります。条件はそれらに先行する質問に属していると見なされます。
#class = 'A'
#id =>条件に対して一意の数値の識別子。1から始まります。
#type/scale => scale_id -- 0 or 1 (e.g. for dual-scale)
#related_id => 関連する質問の質問ID
#name => code -- the unique answer identifier
#class => 'C'
#relevance => assessment_value -- if using assessment option, this is the assessment value for the answer
#type/scale => scenario
#text => answer -- the language-specific text of the answer
#name => 回答のフィールド名
#language => language -- the language for this answer (e.g. 'en')
#relevance => 比較演算子
#text => 期待する回答

Revision as of 13:32, 22 May 2020


タブ区切り形式によるアンケート構成のインポート・エクスポート

この機能は、Excel、LibreOffice、Google Docsなどのスプレッドシートソフトウェアを使用してアンケートを作成および編集することを容易にするように設計されています。SGQAコードへの依存を完全に排除します。

この機能は、拡張子が.txtのASCIIまたはUTF-8でエンコードされたタブ区切り(TSV)ファイルからのインポートをサポートします。


この機能をよりよく理解するには、次のを確認してください。


はじめに

最も簡単な方法は、アンケートからタブ区切り値形式でエクスポートすることです。通常のアンケート出力ボタンを使用し、.lss形式を選択するのではなく、"タブ区切り形式(* .txt)"を選択します。適切な書式(タブで区切られたユニコードファイル)でタブ区切り形式ファイルとして保存され、すべての正しい列見出しが付けられます。

タブ区切り形式をられた値をサポートするスプレッドシートソフトウェアなら何でも構いません(OpenOfficeやLibreOfficeなど)。LimeSurveyはスプレッドシート内の書式設定を無視しますが、役立つ場合は自由に追加してください。

エクスポートされたファイルは、最初の3つの隠し文字としてバイトオーダーマーク(BOM)が使われているUTF-8形式であることに注意してください。ExcelがUTF-8形式であることを認識しないため、Excelで.txtをダブルクリックしても直接開くことはできません。このファイルをExcelで開くには、まずExcelを開き、ファイル::開くを選択して.txtファイルを選択し、ExcelにUTF-8エンコーディングを使用していることを伝えます。

グループ、質問、サブ質問、および回答ごとに1つの行で表示されます。グローバルアンケート変数と言語固有のアンケート変数の行もあります。基本言語が最初にリストされ、続いて追加言語がリストされます。したがって、複数の言語がある場合は、最初に基本言語のすべての内容が表示されます(たとえば、グループ、質問、サブ質問、および回答)。追加言語の翻訳がこれに続きます(翻訳されたセットの番号と順序または行は同じです)。

行の間の関係は行の近さによって推定されます。したがって、グループに続く質問はそのグループの一部と認識されます。質問に続くサブ質問はその質問の一部であり、質問に続く回答はその質問の一部です。したがって、質問にはID(gid、qid、sqid)は必要なく、インポート時に自動的に計算されます。実際、このフォーマットでは、gid、qid、sqid(またはSGQAコード)をまったく使用しません。


ヒント

タブ区切り形式のインポート/エクスポートの目的は、スプレッドシートを使用してアンケートをすばやく設計できるようにすることです。シートをインポートし、"アンケートロジックの表示"機能を使用してシートの有効性を確認し、テストしてください。インポートするたびに、新しいアンケートが作られます。部分的に完成した多くのアンケートができるかもしれませんが、問題ありません。一番新しいものを対象にするか、新しいものをインポートした後に古いものを削除すればよいのです。タブ区切り形式でSGQAコードを使用することは決してないので、LimeSurveyがアンケート、グループ、質問、回答のキーに割り当てるコードについて心配する必要はありません。ですから、自由にインポート/エクスポートしてください。

アンケートを作成するうえで便利な方法がいくつかあります。

  1. 多くの質問に対して同じ回答を使用する。'A'の行をコピーし、同じ回答を使用する質問の後に貼り付けます。
  2. 多くの質問に対して同じサブ質問を使用する。'SQ'行をコピーして、それを必要とする質問の後に貼り付けます。
  3. "繰り返し" - 同じグループを複数回使用する。必要な回数だけグループをコピーしてください。Excelのフィルタリングを使用して(グループの)'G'行だけを表示し、Excel列のドラッグ機能を使用して各グループの出現条件の式を更新します(例:国勢調査では、最初の出現条件は"numPeople>1"、次は"numPeople>2"とします。ドラッグ機能により数字を1つずつ増やしていきます)。'Q'行でフィルタリングし、各質問に固有の値があることを確認します(例:変数g1_q1、g1_q2、g1_qNの名前をつけ、g1をg2に、2番目のグループをg3に、g3を3番目にg3に変換します)。
  4. 質問/グループの並べ替え。スプレッドシートファイルの行を並べ替えるだけです。
  5. アンケートモジュールのテスト.  長いアンケートでは、モジュールに分割してテストすることができます。モジュールごとに新しいスプレッドシートファイルを作成し、必要のない行を削除するだけです。これにより、アンケートの後の方のセクションをテストする、多くのデータを入力する必要がなくなります。
  6. 必須の質問のテスト。多くの質問を必須にする必要があるものの、テストのために必須機能をオフにしたい場合があります。必要なものを必須の設定にしてマスタースプレッドシートを作成するだけです。次に、テストするため、"必須"列を削除し、スプレッドシートのテスト版を保存します。そのバージョンをインポートすれば、質問は必須ではなくなります。テストが終了したら、マスターの方をインポートします。
  7. 既定値設定。GUIを使用するのではなく、既定値の列に任意の既定値を入力します。これは、リスト項目の既定値を設定するアンケート参加者属性からリストを設定するなど)のように、GUIで目的の値を入力できない場合に特に役立ちます。
  8. 翻訳。スプレッドシートのコピーを言語ごとに1つ作成します。基本言語のすべての行を含め、その下にコピー&ペーストし、ドラッグを使用して言語フィールドを目的の言語に変更します。これらを翻訳者に配布し、完了したら1つのスプレッドシートファイルに再統合します。
  9. 高度な質問属性の一括設定。すべての式が表示されるようにし(つまり、データを収集するときにその値を見ることができる)、公開時にこれらをすべて非表示にしたい場合があります。これは、スプレッドシート上でクラス='Q'と質問タイプ='*'(式)でフィルタリングし、質問ごとにalways_hideを1に設定します。同様に、アンケートを作成した後、公開統計にどの質問を表示するかを決定します。GUIで各質問を編集するのではなく、class='Q'でフィルターをかけ、統計に表示する必要のあるすべての質問に対してpublic_statistics=1を設定します。
  10. 検索して置換する。すべての質問の中でいくつかのフレーズを変更する必要がある場合、Excelの検索・置換を使用して変更することができます。同様に、変数の一括リネームを行う場合も、検索して置き換えれば可能です。正規表現ベースの検索・置換が必要な場合は、目的の列を選択してテキストエディタにコピーし、検索・置換し、スプレッドシートに列を戻します。
  11. 承認を得る。あなたが研究をしている場合、質問のテキストをレビューする委員会があるかもしれません。この目的で簡便に共有することができます。クライアントとの議論の場合も同様に使用できます。
  12. チームの同意。チーム内で質問やグループの表現や外見に同意を得る場合は、スプレッドシートをプロトタイプ化/編集し、インポートし、質問やグループのプレビューを行い、これを介してユーザーに提示される内容をチームメンバーに正確に見せることができます。そうすれば、要件を文書化して構築し、会議で承認するようなことは必要がなく、チームメンバーが会議室を後にする前にその場で承認を得ることができます。
  13. 他のアンケートフォーマットからのアップグレード。既存のアンケートがXML、Word、または他の形式である場合は、この形式にマップするための変換プロセスを作成することができます。.lss形式にマッピングすることもできますが、この形式の利点は、グループ、質問、サブ質問、回答、および既定値の間の外部キーの関係を追いかける必要がないことです。


制限事項

  1. 設計上、SGQAではなくqcode名を使用するアンケートでのみ機能します。この機能では、変数名(質問の識別子)がアンケート内で一意であることを前提としています。 サブ質問名は、特定の質問の範囲内で一意である限り、同じものを使うことができます。


ファイル形式

概要

複数の目的のため、同じ見出しセットを使用しています。最初の14列は、エンティティの種類(グループ、質問、回答など)によって異なる目的で使用されます。残りの列は、高度な質問コードに関するデータベースフィールド名のアルファベット順のリストです。以下は、各エンティティタイプの構文です。

最初の14列は次のとおりです。

  1. id (3.14.0 から追加)
  2. related_id (3.14.0 から追加)
  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
 Hint: id列とrelated_id列はクォータにのみ使用され、オプションです。クォータがない場合は、この2列を直接削除できます。


アンケートのグローバルパラメーター

アンケートテーブルには、パラメータごとに1つの行があります。

  1. class => 'S'
  2. name => データベースフィールド名
  3. text => 値


アンケートの言語固有のパラメーター

surveys_languagesettingsテーブルには、言語ごと・フィールドごとに1つの行があります。言語のすべての項目は、このテーブルに挿入する前に収集されます。

  1. class => 'SL'
  2. name => データベースフィールド名
  3. text => 値
  4. language => 言語


グループ

アンケートの言語ごと・グループごとに1行あります(例えば、アンケートに3つの言語がある場合はグループの行が3つになります)。

  1. class => 'G'
  2. name => グループ名(グループの一意の識別子)
  3. relevance => grelevance(中括弧なしのグループレベルの出現条件の式)
  4. text => 説明(言語ごとのグループの説明)
  5. language => グループの言語(例: 'en')


質問

アンケートの言語ごとに1行あります(例えば、アンケートに3つの言語がある場合は質問の行が3つになります)。質問は先行する行のグループに属しているとみなされます。

  1. id => 質問に対して一意の数値の識別子。1から始まり、現在の質問に対応する他の言語の質問に同じIDを使用します。
  2. class => 'Q'
  3. type/scale => タイプ(通常1文字であらわされる質問タイプ)(例: 複数選択は'M')
  4. name => タイトル(固有の質問名でqcode命名システムで利用)
  5. relevance => 出現条件(質問に対する出現条件の式
  6. text => 質問(言語ごとの質問テキスト)
  7. help => ヘルプ(言語ごとのヘルプテキスト)
  8. language => 言語(グループの言語。例: 'en')
  9. validation => preg(質問の検証条件として使用する正規表現)
  10. mandatory => 回答必須フラグ(必須の時は'Y')
  11. other => その他(一部の質問タイプで"その他"を使用する場合'Y')
  12. default => 既定値(設定した場合は、defaultvaluesテーブルにこの値がセットされます)
  13. same_default => 同一の既定値(基本言語に設定した既定値を他の言語にも当てはめる場合は'Y')


サブ質問

アンケートの言語ごとにサブ質問が1行あります。サブ質問は先行する質問に属しているとみなされます。

  1. id => 質問に対して一意の数値識別子。サブ質問は、次に利用可能な値を使用する必要があり、質問とサブ質問のIDは異なるものでなければなりません(例えば、質問1にはID 1、質問1に属するサブ質問にはID 2、3、4が使用されます)。現在のサブ質問に属する他の言語には、同じサブ質問IDを使用します。
  2. class => 'SQ'
  3. type/scale => scale_id(質問により0か1。配列テキストには2つの尺度があります)
  4. name => タイトル(サブ質問の"名前"、たとえばexclude_all_othersに使用される名前)
  5. relevance => 出現条件(将来の予定機能:サブ質問レベルの出現条件)
  6. text => 質問(言語ごとのサブ質問テキスト)
  7. help => ヘルプ(将来の予定機能:サブ質問レベルのヘルプ)#language => 言語(サブ質問の言語)
  8. validation => preg(将来の予定機能:アドレス欄など、サブ質問レベルの正規表現検証)
  9. mandatory => 必須(将来の予定機能:一部のサブ質問だけ必須とするような、サブ質問レベルの必須フラグ)
  10. default => 既定値(設定されている場合、サブ質問の既定値となり、defaultvaluesテーブルに挿入されます)
  11. same_default => same_default(設定すると、基本言語に設定した既定値を他の言語にも当てはめます)


回答

アンケートの言語ごとに回答が1行あります(例えば、アンケートに3つの言語がある場合は回答の行が3つになります)。回答は先行する質問に属し、好みの順番に並べられているとみなされます。

  1. id => 所属する質問のIDと同じIDを使用する
  2. class => 'A'
  3. type/scale => scale_id(0または1 - 二元スケール用)
  4. name => code(一意の回答識別子)
  5. relevance => assessment_value(評価オプションを使用する場合、これが回答の評価値となります)
  6. text => answer(言語固有の回答テキスト)
  7. language => language(回答の言語。例: 'en')


評価

アンケートの言語ごとに1行あります(例えば、アンケートに3つの言語がある場合は評価の行が3つになります)。評価はファイルの最後に書かれています。

  1. id => 評価に対して一意の数値の識別子。1から始まり、現在の評価に対応する他の言語の評価に同じIDを使用します。
  2. related_id => 現在の評価が属するグループのID。
  3. class => 'AS'
  4. type/scale => 評価のスコープ: Tは全体、Gはグループ。
  5. name => 名前
  6. text => メッセージ
  7. min_num_value => 最小値
  8. max_num_value => 最大値
  9. language => 言語(回答の言語。例: 'en')


クォータ

クォータごとに1行あります。クォータはファイルの最後に書き込まれます。

  1. id => クォータに対して一意の数値の識別子。1から始まります。
  2. class => 'QTA'
  3. name => クォータの名前
  4. mandatory => 上限値
  5. other => クォータアクション
  6. default => アクティブ
  7. same_default => autoload URL


クォータ言語設定

アンケートの言語ごとにクォータが1行あります。クォータ言語設定は、先行するクォータに属すると見なされます。

  1. id => クォータ言語に対して一意の数値の識別子。1から始まります。アンケート言語ごとに異なるIDを持ちます。
  2. related_id => この設定が属するクォータのID
  3. class => 'QTALS'
  4. relevance => メッセージ
  5. text => URL
  6. help => URLの説明
  7. language => 言語(クォータの言語。例: 'en')


クォータメンバー

クォータメンバーごとに1行あり、言語には依存しません。クォータメンバーの行は、関係する質問の直後に配置する必要があります。クォータメンバーは、クォータメンバーに先行する質問に属しているとみなされます。

  1. id => クォータメンバーに対して一意の数値の識別子。1から始まります。
  2. related_id => メンバーが属するクォータのクォータID。
  3. class => 'QTAM'
  4. name => 回答コード


条件

条件ごとに1行あり、言語には依存しません。条件行は、関係する質問の直後に配置する必要があります。条件はそれらに先行する質問に属していると見なされます。

  1. id =>条件に対して一意の数値の識別子。1から始まります。
  2. related_id => 関連する質問の質問ID
  3. class => 'C'
  4. type/scale => scenario
  5. name => 回答のフィールド名
  6. relevance => 比較演算子
  7. text => 期待する回答