LimeSurvey Manual
Menu
Navigation
Main page
Recent changes
Random page
Help
Search
Special pages
Printable version
Recent changes
Help
English
Log in
Actions
Translate
Language statistics
Message group statistics
Export
Special
Export translations
Settings
Group
Activating a survey
Adding answers or subquestions
Administering LimeSurvey
Alternatives to the LimeSurvey import function
Assessments
Backup entire database
Batch deletion
Category:Advanced Question Settings
Category:General Question Options
Category:Question Settings
Central Participant Database
Changing an active survey
Check data integrity
Check question logic
Check survey logic - Advanced
Closing a survey
ComfortUpdate
Copy question
Custom translation
Data encryption
Data entry
Data policy settings
DateFunctions
Default answers
Delete question
Delete survey
Display/Export survey
Edit question
Email bounce tracking system
Email templates
Export question
Export responses
Exporting results
Expression Manager
Expression Manager sample surveys
ExpressionScript - Presentation
ExpressionScript Engine - Quick start guide
ExpressionScript examples
ExpressionScript How-tos
ExpressionScript sample surveys
Extension compatibility
Failed email notifications
First login - your user preferences
General FAQ
General settings
Getting started
Global settings
Google API howto
Home page settings
How to design a good survey (guide)
Import responses
Importing a survey
Installation - LimeSurvey CE
Installation FAQ
Installation of the LimeSurvey XAMPP package
Installation security hints
Installation using a command line interface (CLI)
Installation Version 1.92 or older
Iterate survey
Label sets
LDAP settings
License
LimeSurvey Manual
LimeSurvey PRO vs LimeSurvey CE
LimeSurvey Users
LimeSurvey Video-Tutorial
LimeSurvey-compatible hosting companies
List question groups
List questions
Localization
Major version upgrade
Make your plugin compatible with LS4
Manage user groups
Manage users
Menu configuration
Menu entries configuration
Multilingual survey
New Template System in LS3.x
Not categorized and advanced features
Notifications & data
Optional settings
Overview
Panel integration
Participant settings
Plugin manager
Plugin menu
Plugins - advanced
Presentation
Preview function
Problems & solutions
Publication & access
QS:Allowed filetypes
QS:Alphasort
QS:Answer width
QS:Array filter
QS:Array filter exclude
QS:Array filter style
QS:Assessment value
QS:Autocheck exclusive option
QS:Category separator
QS:Chart type
QS:Choice column width
QS:Choice header
QS:Code filter
QS:Commented checkbox
QS:CSS Class
QS:Date max
QS:Date min
QS:Date time format
QS:Display chart
QS:Display columns
QS:Display map
QS:Display rows
QS:Display type
QS:Dropdown dates
QS:Dropdown dates year max
QS:Dropdown dates year min
QS:Dropdown prefix
QS:Dropdown prepostfix
QS:Dropdown separators
QS:Dropdown size
QS:Dualscale headerA
QS:Dualscale headerB
QS:Em validation q
QS:Em validation q tip
QS:Em validation sq
QS:Em validation sq tip
QS:Encryption
QS:Equals num value
QS:Equation
QS:Exclusive option
QS:Get order previous q
QS:Hidden
QS:Hide tip
QS:Input box size
QS:Input boxes
QS:Input max characters
QS:Label column width
QS:Location city
QS:Location country
QS:Location defaultcoordinates
QS:Location mapheight
QS:Location mapservice
QS:Location mapwidth
QS:Location mapzoom
QS:Location nodefaultfromip
QS:Location postal
QS:Location state
QS:Mandatory
QS:Max answers
QS:Max filesize
QS:Max num value
QS:Max num value n
QS:Max num value sgqa
QS:Max subquestions
QS:Maximum chars
QS:Maximum number of files
QS:Min answers
QS:Min num value
QS:Min num value n
QS:Minimum number of files
QS:Minute step interval
QS:Month display style
QS:Multiflexible checkbox
QS:Multiflexible max
QS:Multiflexible min
QS:Multiflexible step
QS:Num value int only
QS:Numbers only
QS:Other
QS:Other comment mandatory
QS:Other numbers only
QS:Other Position
QS:Other replace text
QS:Page break
QS:Prefix
QS:Preg validation
QS:Printable survey relevance help
QS:Public statistics
QS:Question theme
QS:Random group
QS:Random order
QS:Rank header
QS:Relevance
QS:Remove text or uncheck checkbox
QS:Repeat headers
QS:Reverse
QS:Samechoiceheight
QS:Samelistheight
QS:Scale export
QS:Show comment
QS:Show grand total
QS:Show title
QS:Show totals
QS:Showpopups
QS:Slider accuracy
QS:Slider default
QS:Slider handle shape
QS:Slider handle Unicode shape
QS:Slider initial value
QS:Slider layout
QS:Slider max
QS:Slider middlestart
QS:Slider min
QS:Slider orientation
QS:Slider rating
QS:Slider reset
QS:Slider reverse
QS:Slider separator
QS:Slider showminmax
QS:Subquestion width
QS:Suffix
QS:Text input width
QS:Theme editor - advanced options
QS:Time limit
QS:Time limit action
QS:Time limit countdown message
QS:Time limit disable next
QS:Time limit disable prev
QS:Time limit message
QS:Time limit message delay
QS:Time limit message style
QS:Time limit timer style
QS:Time limit warning
QS:Time limit warning display time
QS:Time limit warning message
QS:Time limit warning style
QS:Use dropdown
QS:Value range allows missing
Question groups - introduction
Question toolbar options
Question type - 5 point choice
Question type - Array
Question type - Array (10 point choice)
Question type - Array (5 point choice)
Question type - Array (Increase-Same-Decrease)
Question type - Array (Numbers)
Question type - Array (Texts)
Question type - Array (Yes-No-Uncertain)
Question type - Array by column
Question type - Array dual scale
Question type - Date
Question type - Equation
Question type - File upload
Question type - Gender
Question type - Huge free text
Question type - Language switch
Question type - List (Dropdown)
Question type - List (Radio)
Question type - List with comment
Question type - Long free text
Question type - Multiple choice
Question type - Multiple choice with comments
Question type - Multiple numerical input
Question type - Multiple short text
Question type - Numerical input
Question type - Ranking
Question type - Short free text
Question type - Text display
Question type - Yes-No
Question types
Questions - introduction
QueXML PDF Export
Quick start guide - LimeSurvey 2.50+
Quick start guide - LimeSurvey 3.0+
Quick-translation
Regenerate question codes
Reorder questions and question groups
Reset conditions
Resources
Responses & statistics
Responses (survey results)
Running a survey safely
Setting conditions
SGQA identifier
Statistics
Survey group permissions
Survey menu
Survey participants
Survey permissions
Survey quotas
Survey settings
Survey settings version 2
Survey structure
Survey toolbar options
Surveys - introduction
Surveys - management
Tab Separated Value survey structure
Template:Deprecated
Template:DeprecatedIn
Template:Example
Template:FeatureChange
Template:FeatureStarting
Template:Hint
Template:NewIn
Template:UpdatedIn
Testing a survey
Text elements
Theme editor
Theme options
Themes
Timing statistics
Tools
Transferring an installation
Translating LimeSurvey
Troubleshooting
TwoFactorAdminLogin
Upgrading from a previous version
URL fields
Using regular expressions
Version change log
Version guide
View saved but not submitted responses
Workarounds
Language
aa - Afar
ab - Abkhazian
abs - Ambonese Malay
ace - Achinese
acm - Iraqi Arabic
ady - Adyghe
ady-cyrl - Adyghe (Cyrillic script)
aeb - Tunisian Arabic
aeb-arab - Tunisian Arabic (Arabic script)
aeb-latn - Tunisian Arabic (Latin script)
af - Afrikaans
aln - Gheg Albanian
alt - Southern Altai
am - Amharic
ami - Amis
an - Aragonese
ang - Old English
ann - Obolo
anp - Angika
ar - Arabic
arc - Aramaic
arn - Mapuche
arq - Algerian Arabic
ary - Moroccan Arabic
arz - Egyptian Arabic
as - Assamese
ase - American Sign Language
ast - Asturian
atj - Atikamekw
av - Avaric
avk - Kotava
awa - Awadhi
ay - Aymara
az - Azerbaijani
azb - South Azerbaijani
ba - Bashkir
ban - Balinese
ban-bali - Balinese (Balinese script)
bar - Bavarian
bbc - Batak Toba
bbc-latn - Batak Toba (Latin script)
bcc - Southern Balochi
bci - Baoulé
bcl - Central Bikol
bdr - West Coast Bajau
be - Belarusian
be-tarask - Belarusian (Taraškievica orthography)
bew - Betawi
bg - Bulgarian
bgn - Western Balochi
bh - Bhojpuri
bho - Bhojpuri
bi - Bislama
bjn - Banjar
blk - Pa'O
bm - Bambara
bn - Bangla
bo - Tibetan
bpy - Bishnupriya
bqi - Bakhtiari
br - Breton
brh - Brahui
bs - Bosnian
btm - Batak Mandailing
bto - Iriga Bicolano
bug - Buginese
bxr - Russia Buriat
ca - Catalan
cbk-zam - Chavacano
cdo - Min Dong Chinese
ce - Chechen
ceb - Cebuano
ch - Chamorro
cho - Choctaw
chr - Cherokee
chy - Cheyenne
ckb - Central Kurdish
co - Corsican
cps - Capiznon
cpx - Pu-Xian Min
cpx-hans - Pu-Xian Min (Simplified Han script)
cpx-hant - Pu-Xian Min (Traditional Han script)
cpx-latn - Pu-Xian Min (Latin script)
cr - Cree
crh - Crimean Tatar
crh-cyrl - Crimean Tatar (Cyrillic script)
crh-latn - Crimean Tatar (Latin script)
crh-ro - Crimean Tatar (Romania)
cs - Czech
csb - Kashubian
cu - Church Slavic
cv - Chuvash
cy - Welsh
da - Danish
dag - Dagbani
de - German
de-at - Austrian German
de-ch - Swiss High German
de-formal - German (formal address)
dga - Dagaare
din - Dinka
diq - Zazaki
dsb - Lower Sorbian
dtp - Central Dusun
dty - Doteli
dv - Divehi
dz - Dzongkha
ee - Ewe
egl - Emilian
el - Greek
eml - Emiliano-Romagnolo
en - English
en-ca - Canadian English
en-gb - British English
eo - Esperanto
es - Spanish
es-419 - Latin American Spanish
es-formal - Spanish (formal address)
et - Estonian
eu - Basque
ext - Extremaduran
fa - Persian
fat - Fanti
ff - Fula
fi - Finnish
fit - Tornedalen Finnish
fj - Fijian
fo - Faroese
fon - Fon
fr - French
frc - Cajun French
frp - Arpitan
frr - Northern Frisian
fur - Friulian
fy - Western Frisian
ga - Irish
gaa - Ga
gag - Gagauz
gan - Gan Chinese
gan-hans - Gan (Simplified)
gan-hant - Gan (Traditional)
gcr - Guianan Creole
gd - Scottish Gaelic
gl - Galician
gld - Nanai
glk - Gilaki
gn - Guarani
gom - Goan Konkani
gom-deva - Goan Konkani (Devanagari script)
gom-latn - Goan Konkani (Latin script)
gor - Gorontalo
got - Gothic
gpe - Ghanaian Pidgin
grc - Ancient Greek
gsw - Alemannic
gu - Gujarati
guc - Wayuu
gur - Frafra
guw - Gun
gv - Manx
ha - Hausa
hak - Hakka Chinese
haw - Hawaiian
he - Hebrew
hi - Hindi
hif - Fiji Hindi
hif-latn - Fiji Hindi (Latin script)
hil - Hiligaynon
hno - Northern Hindko
ho - Hiri Motu
hr - Croatian
hrx - Hunsrik
hsb - Upper Sorbian
hsn - Xiang Chinese
ht - Haitian Creole
hu - Hungarian
hu-formal - Hungarian (formal address)
hy - Armenian
hyw - Western Armenian
hz - Herero
ia - Interlingua
id - Indonesian
ie - Interlingue
ig - Igbo
igl - Igala
ii - Sichuan Yi
ik - Inupiaq
ike-cans - Eastern Canadian (Aboriginal syllabics)
ike-latn - Eastern Canadian (Latin script)
ilo - Iloko
inh - Ingush
io - Ido
is - Icelandic
it - Italian
iu - Inuktitut
ja - Japanese
jam - Jamaican Creole English
jbo - Lojban
jut - Jutish
jv - Javanese
ka - Georgian
kaa - Kara-Kalpak
kab - Kabyle
kai - Karekare
kbd - Kabardian
kbd-cyrl - Kabardian (Cyrillic script)
kbp - Kabiye
kcg - Tyap
kea - Kabuverdianu
kg - Kongo
khw - Khowar
ki - Kikuyu
kiu - Kirmanjki
kj - Kuanyama
kjh - Khakas
kjp - Eastern Pwo
kk - Kazakh
kk-arab - Kazakh (Arabic script)
kk-cn - Kazakh (China)
kk-cyrl - Kazakh (Cyrillic script)
kk-kz - Kazakh (Kazakhstan)
kk-latn - Kazakh (Latin script)
kk-tr - Kazakh (Turkey)
kl - Kalaallisut
km - Khmer
kn - Kannada
ko - Korean
ko-kp - Korean (North Korea)
koi - Komi-Permyak
kr - Kanuri
krc - Karachay-Balkar
kri - Krio
krj - Kinaray-a
krl - Karelian
ks - Kashmiri
ks-arab - Kashmiri (Arabic script)
ks-deva - Kashmiri (Devanagari script)
ksh - Colognian
ksw - S'gaw Karen
ku - Kurdish
ku-arab - Kurdish (Arabic script)
ku-latn - Kurdish (Latin script)
kum - Kumyk
kus - Kʋsaal
kv - Komi
kw - Cornish
ky - Kyrgyz
la - Latin
lad - Ladino
lb - Luxembourgish
lbe - Lak
lez - Lezghian
lfn - Lingua Franca Nova
lg - Ganda
li - Limburgish
lij - Ligurian
liv - Livonian
lki - Laki
lld - Ladin
lmo - Lombard
ln - Lingala
lo - Lao
loz - Lozi
lrc - Northern Luri
lt - Lithuanian
ltg - Latgalian
lus - Mizo
luz - Southern Luri
lv - Latvian
lzh - Literary Chinese
lzz - Laz
mad - Madurese
mag - Magahi
mai - Maithili
map-bms - Basa Banyumasan
mdf - Moksha
mg - Malagasy
mh - Marshallese
mhr - Eastern Mari
mi - Māori
min - Minangkabau
mk - Macedonian
ml - Malayalam
mn - Mongolian
mnc - Manchu
mnc-latn - Manchu (Latin script)
mnc-mong - Manchu (Mongolian script)
mni - Manipuri
mnw - Mon
mo - Moldovan
mos - Mossi
mr - Marathi
mrh - Mara
mrj - Western Mari
ms - Malay
ms-arab - Malay (Jawi script)
mt - Maltese
mus - Muscogee
mwl - Mirandese
my - Burmese
myv - Erzya
mzn - Mazanderani
na - Nauru
nah - Nāhuatl
nan - Min Nan Chinese
nap - Neapolitan
nb - Norwegian Bokmål
nds - Low German
nds-nl - Low Saxon
ne - Nepali
new - Newari
ng - Ndonga
nia - Nias
niu - Niuean
nl - Dutch
nl-informal - Dutch (informal address)
nmz - Nawdm
nn - Norwegian Nynorsk
no - Norwegian
nod - Northern Thai
nog - Nogai
nov - Novial
nqo - N’Ko
nrm - Norman
nso - Northern Sotho
nv - Navajo
ny - Nyanja
nyn - Nyankole
nys - Nyungar
oc - Occitan
ojb - Northwestern Ojibwa
olo - Livvi-Karelian
om - Oromo
or - Odia
os - Ossetic
pa - Punjabi
pag - Pangasinan
pam - Pampanga
pap - Papiamento
pcd - Picard
pcm - Nigerian Pidgin
pdc - Pennsylvania German
pdt - Plautdietsch
pfl - Palatine German
pi - Pali
pih - Norfuk / Pitkern
pl - Polish
pms - Piedmontese
pnb - Western Punjabi
pnt - Pontic
prg - Prussian
ps - Pashto
pt - Portuguese
pt-br - Brazilian Portuguese
pwn - Paiwan
qu - Quechua
qug - Chimborazo Highland Quichua
rgn - Romagnol
rif - Riffian
rki - Arakanese
rm - Romansh
rmc - Carpathian Romani
rmy - Vlax Romani
rn - Rundi
ro - Romanian
roa-tara - Tarantino
rsk - Pannonian Rusyn
ru - Russian
rue - Rusyn
rup - Aromanian
ruq - Megleno-Romanian
ruq-cyrl - Megleno-Romanian (Cyrillic script)
ruq-latn - Megleno-Romanian (Latin script)
rw - Kinyarwanda
ryu - Okinawan
sa - Sanskrit
sah - Yakut
sat - Santali
sc - Sardinian
scn - Sicilian
sco - Scots
sd - Sindhi
sdc - Sassarese Sardinian
sdh - Southern Kurdish
se - Northern Sami
se-fi - Northern Sami (Finland)
se-no - Northern Sami (Norway)
se-se - Northern Sami (Sweden)
sei - Seri
ses - Koyraboro Senni
sg - Sango
sgs - Samogitian
sh - Serbo-Croatian
sh-cyrl - Serbo-Croatian (Cyrillic script)
sh-latn - Serbo-Croatian (Latin script)
shi - Tachelhit
shi-latn - Tachelhit (Latin script)
shi-tfng - Tachelhit (Tifinagh script)
shn - Shan
shy - Shawiya
shy-latn - Shawiya (Latin script)
si - Sinhala
simple - Simple English
sjd - Kildin Sami
sje - Pite Sami
sk - Slovak
skr - Saraiki
skr-arab - Saraiki (Arabic script)
sl - Slovenian
sli - Lower Silesian
sm - Samoan
sma - Southern Sami
smn - Inari Sami
sms - Skolt Sami
sn - Shona
so - Somali
sq - Albanian
sr - Serbian
sr-ec - Serbian (Cyrillic script)
sr-el - Serbian (Latin script)
srn - Sranan Tongo
sro - Campidanese Sardinian
ss - Swati
st - Southern Sotho
stq - Saterland Frisian
sty - Siberian Tatar
su - Sundanese
sv - Swedish
sw - Swahili
syl - Sylheti
szl - Silesian
szy - Sakizaya
ta - Tamil
tay - Tayal
tcy - Tulu
tdd - Tai Nuea
te - Telugu
tet - Tetum
tg - Tajik
tg-cyrl - Tajik (Cyrillic script)
tg-latn - Tajik (Latin script)
th - Thai
ti - Tigrinya
tk - Turkmen
tl - Tagalog
tly - Talysh
tly-cyrl - Talysh (Cyrillic script)
tn - Tswana
to - Tongan
tok - Toki Pona
tpi - Tok Pisin
tr - Turkish
tru - Turoyo
trv - Taroko
ts - Tsonga
tt - Tatar
tt-cyrl - Tatar (Cyrillic script)
tt-latn - Tatar (Latin script)
tum - Tumbuka
tw - Twi
ty - Tahitian
tyv - Tuvinian
tzm - Central Atlas Tamazight
udm - Udmurt
ug - Uyghur
ug-arab - Uyghur (Arabic script)
ug-latn - Uyghur (Latin script)
uk - Ukrainian
ur - Urdu
uz - Uzbek
uz-cyrl - Uzbek (Cyrillic script)
uz-latn - Uzbek (Latin script)
ve - Venda
vec - Venetian
vep - Veps
vi - Vietnamese
vls - West Flemish
vmf - Main-Franconian
vmw - Makhuwa
vo - Volapük
vot - Votic
vro - Võro
wa - Walloon
wal - Wolaytta
war - Waray
wls - Wallisian
wo - Wolof
wuu - Wu Chinese
wuu-hans - Wu Chinese (Simplified)
wuu-hant - Wu Chinese (Traditional)
xal - Kalmyk
xh - Xhosa
xmf - Mingrelian
xsy - Saisiyat
yi - Yiddish
yo - Yoruba
yrl - Nheengatu
yue - Cantonese
yue-hans - Cantonese (Simplified)
yue-hant - Cantonese (Traditional)
za - Zhuang
zea - Zeelandic
zgh - Standard Moroccan Tamazight
zh - Chinese
zh-cn - Chinese (China)
zh-hans - Simplified Chinese
zh-hant - Traditional Chinese
zh-hk - Chinese (Hong Kong)
zh-mo - Chinese (Macau)
zh-my - Chinese (Malaysia)
zh-sg - Chinese (Singapore)
zh-tw - Chinese (Taiwan)
zu - Zulu
Format
Export for off-line translation
Export in native format
Export in CSV format
Fetch
{{DISPLAYTITLE:表达式管理器抽样调查}}<languages /> <languages /> <span id="Introduction"></span> __TOC__ = 简介 = 学习如何使用表达式管理器的最佳方法是使用工作示例并根据你的需要进行修改。 <span id="Relevance,_Tailoring_and_Equations"></span> 你可以在下面找到一组样本调查,以演示(和测试)表达式管理器是如何用于增强你的调查。这些调查可以在安装目录下的docs/demosurveys文件夹中找到。 =相关性,裁剪和方程式= <span id="Overview"></span> == 综述 == 以下示例计算每个受访者的BMI(身体质量指数)。请参阅下面的示例中演示的功能。 <span id="EM_Features_Demonstrated"></span> == EM功能演示== #'''相关性''' - 支持强大的条件逻辑; #'''Piping / Tailoring''' - 提供管道或定制答案和问题元数据的能力; #'''动态裁缝''' - 请注意,当您回答问题时,页面上的报告会发生变化。 #''''Micro-Tailoring''' - 使用if()语句对句子和报告进行条件剪裁 #'''方程式''' - 一个新的[[Question type - Equation|问题类型]],它允许您进行计算并将结果存储在数据库中,即使计算被隐藏 #'''条件验证''' - 验证诸如最小允许值之类的标准可以是有条件的 - 例如,基于等式。 <span id="Screenshots"></span> == 截图 == 此示例计算身体质量指数,计算你的体重和身高,以确定你是否超重。请注意,最初,你看到的只有四个强制性问题: <center>[[File:tailoring1.jpg]]</center> 输入信息后(你可以选择是使用公制还是非公制单位),你会看到一份量身定制的报告,总结你输入的内容,并告诉你的体重状况: <center>[[File:tailoring2.jpg]]</center> 下面是一个不同的示例,使用非公制单位来显示结果如何动态变化: <center>[[File:tailoring3.jpg]]</center> 在内部级别隐藏[[Question type - Equation||方程式问题]],将数据转换为公制(如果需要),将公制高度、权重、BMI和权重状态存储在数据库中,而无需自定义JavaScript 。 你可以在下一组示例中看到如何在定制报告中使用数学和其他功能。这是在输入任何数据之前页面的样子。如果没有输入(或非数字)数据,则显示空白单元格的条件逻辑,而不是显示“NaN”或“除以零”。 <center>[[File:tailoring4.jpg]]</center> 输入数字后,页面上的报告会更改以显示正在执行的计算及其结果。 <center>[[File:tailoring5.jpg]]</center> 此抽样调查中还有许多其他示例。例如,下面的屏幕截图显示了你可以填写动态相关性页面的几种方法之一。作为帮助文本说明,尝试不同的年龄,特别是不合理的响应组合,以查看底部生成的有趣消息。另请注意,如果你说你有多个孩子,则会显示“我希望你喜欢和X个孩子一起玩”,而不是说“我希望你喜欢和孩子一起玩”。这显示了如何轻松地微调句子,使其与主题的性别和/或数量相匹配。你甚至可以根据性别和数量轻松地结合动词和拒绝名词。 <center>[[File:tailoring6.jpg]]</center> <span id="Download"></span> == 下载 == 要访问调查样本,请单击以下链接:[[Media:LS3_em_tailoring.zip|LS3_em_tailoring.zip]]。 <span id="Sample_Census"></span> =样本人口普查= <span id="Overview"></span> == 综述 == 这是一个人口普查示例,询问你家中有多少人。 It demonstrates how group-level relevance can make it easier to implement a "loop" of questions. After creating the group for Person 1, I exported the group. Since I used qcode variable names like p1_name instead of the SGQA code, I could use a text editor to quickly edit and re-import the group several times (e.g., it took about 10 seconds to edit and re-import each repeating group, ensuring that all variables had unique variables names and that the group-level logic was correct). 你还可以使用[[Copy question|复制问题]]功能,但它不会像上面建议的那样快。 这还显示了如何防止完成消息出现,直到调查真正完成(例如,当所有需要的组完成时)。 <span id="EM_Features_Demonstrated"></span> == EM功能演示== #'''群组级别相关性''' - 后续群组(人员1-5)仅显示指定的同居者数量; #'''裁剪''' - 最终报告总结每个同居者的人口统计数据; #'''渐进式问题显示''' - 无论是分组还是一体化模式,后续问题只会在前面的问题得到解答后立即显示。 <span id="Screenshots"></span> == 截图 == 该调查生成一份定制报告,显示指定数量的同居者的人口统计数据: <center>[[File:census.jpg]]</center> 如果切换到一次一个问题模式,你会看到索引会定制问题。由于用户说该人是女性,因此询问“她的名字是什么”。自从我们回答“玛丽”之后,接下来的问题是“玛丽多大了”? <center>[[File:census2.jpg]]</center> <span id="Download"></span> == 下载 == 要下载调查样本,请单击此处:[[Media:LS3_group_relevance.zip|LS3_group_relevance.zip]]。 <span id="Cascading_Array_Filters"></span> =级联阵列过滤器= <span id="Overview"></span> == 综述 == 该调查基于Joy Lane Research,LLC提供的调查设计。 <span id="Screenshots"></span> == 截图 == 以下请注意: * Q02仅显示在Q01中检查的产品组(通过使用array_filter) * Q02还显示“另一产品”,文本输入到Q01中的“其他电子”字段 * Q04仅显示已检查的Q02产品(因此阵列滤波器级联) * Q05仅显示Q02中未在Q02中检查的产品(使用级联array_filter_exclude) <center>[[File:cascading_array_filter.jpg]]</center> <center>[[File:cascading_array_filter2.jpg]]</center> <span id="Download"></span> == 下载 == 点击以下链接下载上述示例:[[Media:ls2_cascading_array_filter.lss|LS2_cascading_array_filter survey example]]。 <span id="Piping/Tailoring_Using_All_Question_Types_and_Attributes"></span> =使用所有问题类型和属性的管道/裁剪= <span id="Overview"></span> == 综述 == 如果你对如何命名变量(SGQA与Qcodes)感到困惑,那么你并不孤单。虽然主要文档描述了[[Expression Manager#Access to Variables|如何编写Qcode变量名]],但没有什么比在工作演示中看到它更好的了。此调查显示了如何使用表达式管理器访问问题属性和响应。 {{Note|对于此示例,我们建议在编辑此调查时关闭内置HTML编辑器(或将其转换为弹出模式)。 HTML编辑器可能需要一分钟或更长时间才能在编辑模式下呈现大型HTML报告。}} <span id="Content"></span> ==内容== *每个问题类型的示例 *包含所有可以使用“其他”的问题类型,以便你可以看到它如何影响变量命名 *接受默认值的所有问题类型的默认值 *裁剪- 显示所有16个可用EM点符号后缀的页面外和页面外报告。 *这些报告显示所有当前输入的数据(因此,向你展示如何为用户生成自己的可打印报告,而不是打印 - 答案屏幕) *正确的Qcode和SGQA命名所有变量 <span id="Screenshots"></span> == 截图 == 这是一项巨大的调查,因此我们选择不包括屏幕截图。相反,请下载并使用它。 <span id="Download"></span> == 下载 == 点击以下链接下载调查:[[Media:ls2_EM_question_attributes.lss|LS3_EM_question_attributes.lss]] <span id="Traditional_validation,_re-envisioned"></span> =传统验证,重新设想= <span id="Overview"></span> == 综述 == 这演示了使用表达式的所有验证类型以及它们如何影响支持验证的每个问题类型。在许多情况下,验证提示开始隐藏,仅在问题未通过验证标准时出现(因此一旦问题通过验证标准也会消失)。 <span id="Validation_Types_Demonstrated"></span> ==验证类型证明== #[[QS:Min_num_value_n|min_num_value_n]] - minimum value for an answer #[[QS:Max_num_value_n|max_num_value_n]] - max value for an answer #[[QS:Min_answers|min_answers]] - minimum number of answers required #[[QS:Max_answers|max_answers]] maximum number of answers allowed #[[QS:Multiflexible_min|multiflexible_min]] - minimum value allowed for an answer (for multiflexi numbers question type) #[[QS:Multiflexible_max|multiflexible_max]] - maximum value allowed for an answer (for multiflexi numbers question type) #[[QS:Min_num_value|min_num_value]] - minimum allowed sum across all answers for the question #[[QS:Max_num_value|max_num_value]] - maximum allowed sum across all answers for the question #[[QS:Equals_num_value|equals_num_value]] - the sum across all answers for the question must equal this value #[[QS:Preg_validation|validation]] - this is the regular expression validation for the question - it can apply to individual cells <span id="Screenshots"></span> == 截图 == Using new CSS styles, each validation type shows up a separate tip. If they are shown, they can be hidden via the hide_tip option. The default option is to show them with red font if the question fails the validation criteria, and green if it passes them: <center>[[File:validation1.jpg]]</center> A user cannot submit a page with validation errors. They will be immediately warned if they entered wrong information: <center>[[File:validation3.jpg]]</center> Validation can be applied to individual cells within an array, such as in this example where regular expression validations ensure that each entry is a properly formatted US phone number including area code. <center>[[File:validation4.jpg]]</center> ==Download== To download the above example, click on the following link: [[Media:LS3_Validation_tests.zip|LS3_Validation_tests.zip]]. =Validation Equations= ==Overview== Sometimes you need custom validation that cannot be achieved using the traditional min/max criteria. For this, you will need to use the em_validation_q and em_validation_sq options which let you construct complex validation equations at the question and subquestion level, respectively. {{Note|At the subquestion level, we also introduce the "this" variable to make it easy to validate each cell in an array without needing to know its variable name. For more details about it, click here.}} ==EM Features Demonstrated== #[[QS:Em_validation_q|em_validation_q]] - this is an equation that determines whether the whole question is valid #[[QS:Em_validation_q_tip|em_validation_q_tip]] - this is the message to show if the question fails em_validation_q criteria #[[QS:Em_validation_sq|em_validation_sq]] - this is the equation that determines whether each subquestion (array cell) is valid #[[QS:Em_validation_sq_tip|em_validation_sq_tip]] - this is the message to show if any of the subquestions is invalid. In general, when em_validation_sq is used, if any cell is invalid, the background color for that cell turns red to indicate that there is an error. ==Screenshots== <center>[[File:sqvalidation.jpg]]</center> This question ensures that you enter the ages of your children in descending order by applying this validation equation: <syntaxhighlight lang="php">q1_sq1 >= q1_sq2 && q1_sq2 >= q1_sq3 && q1_sq3 >= q1_sq4</syntaxhighlight> <center>[[File:sqvalidation2.jpg]]</center> <hr width="50%" style="margin:auto"> In the below example, the validation ensures that no more than 3 questions are answered on any given row by applying this validation equation: <syntaxhighlight lang="php">(sum(Test_A_1, Test_A_2, Test_A_3, Test_A_4, Test_A_5) <= 3) && (sum(Test_B_1, Test_B_2, Test_B_3, Test_B_4, Test_B_5) <= 3) && (sum(Test_C_1, Test_C_2, Test_C_3, Test_C_4, Test_C_5) <= 3)</syntaxhighlight> You can also write this as follows, LimeSurvey automatically converting it at run-time to the above-listed expression. <syntaxhighlight lang="php">(sum(self.sq_A) <= 3) && (sum(self.sq_B) <= 3) && (sum(self.sq_C) <= 3)</syntaxhighlight> <center>[[File:sqvalidation3.jpg]]</center> ==Download== To download the survey sample used in the above examples, click on the following link: [[Media:ls2_test_em_sq_validation.lss|ls2_test_em_sq_validation.lss]]. =Subquestion relevance= ==Overview== This shows how array_filter and validation criteria can interact. For validations that apply to sums, only relevant (visible) values are considered. ==EM Features Demonstrated== #[[QS:Array_filter|array_filter]] #[[QS:Array filter exclude|array_filter_exclude]] #[[QS:Min_num_value|min_num_value]] #[[QS:Max num value|max_num_value]] #[[QS:equals_num_value|equals_num_value]] It also shows dynamic reporting of the numbers of questions answered in the core questions. ==Screenshots== Changing the number of visible rows dynamically changes the sum. Marking a subquestion as being irrelevant doesn't clear its value. Rather, if it is irrelevant, its values don't contribute to any equation. <center>[[File:sqrel1.jpg]][[File:Sqrelver12.png]]</center> Note what happens when we check the "Fifth subquestion" for the first question '''"Which rows should appear below"'''. Note that the sum for the second "Enter some numbers" question is now 5. Even though subquestion 5 for that question still has the value 14 (e.g., if you un-check the fifth subquestion, you will see the value of 14 again), that value does not contribute to the sum since it is currently irrelevant. All irrelevant data is cleared (NULLed in the database) on submit, but it stays available on the page in case users want or need to change their minds about answers. <center>[[File:sqrel2.jpg]]</center> ==Download== To download our example, click here: [[Media:ls2_subquestion_relevance.lss|ls2_subquestion_relevance.lss]]. =Using Comma as Radix Separator (Decimal Point)= ==Overview== The ExpressionScript ensures that only valid numbers can be entered into numeric fields. If you enter an invalid number, you will be warned that something is wrong (e.g., in the case of the fruity theme, the whole question is "red-ed"). Note that the numeric values are always converted to using a period as the radix separator within the database. In this way, the statistical analyses will work appropriately. To change the radix separator, access the [[Text elements]] options located under the [[Survey_settings|Settings]] tab, and look for the [[Text_elements#Survey_text_elements_panel|decimal mark]] functionality. {{Note|For more information on what a radix separator is, click [https://en.wikipedia.org/wiki/Radix_point|here].}} ==Question Types Using Radix Separator== #[[Question type - Numerical input|Numerical input]] <nowiki>[</nowiki>N] #[[Question type - Multiple numerical input|Multiple numerical input]] <nowiki>[</nowiki>K] #[[Question type - Array (Numbers)|Array (Numbers)]] <nowiki>[</nowiki>:] #[[Question type - Array (Texts)|Array (Texts)]] <nowiki>[</nowiki>;], when using the [[QS:Numbers_only|numbers_only]] attribute #[[Question type - List (Radio)|List (radio)]] <nowiki>[</nowiki>L], when using the [[QS:Other_numbers_only|other_numbers_only]] attribute #[[Question type - Short free text|Short free text]] <nowiki>[</nowiki>S], when using the [[QS:Numbers_only|numbers_only]] attribute #[[Question type - Multiple short text|Multiple short text]] <nowiki>[</nowiki>Q], when using the [[QS:Numbers_only|numbers_only]] attribute #[[Question type - Multiple choice|Multiple choice]] <nowiki>[</nowiki>M], when using the [[QS:Other_numbers_only|other_numbers_only]] attribute #[[Question type - Multiple choice with comments|Multiple choice with comments]] <nowiki>[</nowiki>P], when using the [[QS:Other_numbers_only|other_numbers_only]] attribute ==Screenshots== You may note in the below screenshots that comma can be used as a radix separator. <center>[[File:radix1.jpg]]</center> ==Download== To download the above example, click on the following link: [[Media:ls2_comma_as_radix_separator.lss|ls2_comma_as_radix_separator.lss]]. =Randomization Groups= ==Overview== This survey demonstrates how to make use of the '''random_group''' attribute. If this attribute is used, each time you start the survey, the question order is randomized. However, once the survey is started, the randomization order remains fixed, even if you change languages. ==Screenshots== Let's check together the below example. The first random question on the page will either be Q1 , Q4, or Q7. The second randomized question on the page will either be Q2, Q5, or Q8. <center>[[File:random1.jpg]]</center> Here is the randomization generated the first time I tested this survey. <center>[[File:random2.jpg]]</center> A different randomization was generated the second time I tested the survey. <center>[[File:random3.jpg]]</center> But, when I switched to French (without re-starting the survey), the randomization order remained intact. <center>[[File:random4.jpg]]</center> ==Download== To download the above example, click on the following link: [[Media:Randomization_Group_Test.lss|Randomization_Group_Test.lss]] =Randomly Ask One Question Per Group= ==Overview== This survey shows how you can configure a survey to randomly display one question per group. In it, there are 5 groups of 6 questions each. At the outset, in Group 0, five hidden Equation questions, called ask1-ask5, are populated. Each one has the value of {floor(rand(1,6.9999))} in the question text field, which means that the variables ask1-ask5 will each have a value between 1 and 6. Then, each question in the group has a relevance equation like "ask1==N" where N is the Nth question in the group (so the third question in group 1 has the relevance equation "ask1==3"). This survey works equally well in survey-at-a-time, group-by-group, and question-by-question modes. Since the randomization is set in the first group, and that group is effectively hidden (since all of the ask1-ask5 questions are hidden), the randomization stays the same for the subject; but each different subject will have a distinct randomization. ==Features Demonstrated== #[[Question type - Equation|Equation question type]] #Randomization functions #Conditional (if) function ==Screenshots== This is Group0, which uses the [[Question type - Equation|Equation question type]] to select random values from 1 to 6 for each group (except the last group, which has only 4 questions). Note that the "if()" function first checks whether ask1 has already been set, and if so, uses that value. If the value hasn't been set, then it uses a random value to set the value of ask1. <center>[[File:randq3.jpg]]</center> This Group shows how the variable (ask4) from Group0 is used to control which question is visible within the fourth group. <center>[[File:randq2.jpg]]</center> ==Download== To download the above survey example, click here: [[Media:limesurvey_survey_55164.lss|Random questions within a group survey example]]. =Randomly Ask A Specific Number Of Questions In A Group (a subset of the questions)= {{Alert|This applies only to all random questions from one group and only if the [[General_settings#General_settings_panel|Group by group or All in one]] format is used.}} ==Overview== This survey shows how to ask a random subset of questions in a group. For example, show 5 random questions out of 10 questions located within a group. The survey has one group containing 10 questions. All questions are assigned the same [[QS:Random_group|randomization group name]]. As a result, they will be displayed in a random order on page load. Each question is given a relevance equation that the sum of the "[[ExpressionScript#Access to Variables|relevanceStatus]]" of all other questions in the group is less than the number of questions you want to show. Since [[ExpressionScript#Access to Variables|relevanceStatus]] is assigned as questions are rendered, this effectively totals the number of preceding questions. So, in our 5 out of 10 example, the equation for Q1 would be: <syntaxhighlight lang="php">sum(Q2.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight> For Q2, it would be: <syntaxhighlight lang="php">sum(Q1.relevanceStatus, Q3.relevanceStatus, Q4.relevanceStatus, Q5.relevanceStatus, Q6.relevanceStatus, Q7.relevanceStatus, Q8.relevanceStatus, Q9.relevanceStatus, Q10.relevanceStatus) LT 5</syntaxhighlight> And so on... ==Features Demonstrated== #[[Expression_Manager#Access_to_Variables|relevanceStatus variable]] #[[QS:Random group|Randomizing]] ==Download== To download the above example, click on the following link: [[Media:Random_5_out_of_10.lss|Random 5 out of 10 survey example]]. =Rating User-Entered List of Products= ==Overview== The below example shows how you can ask users to list a set of products that interest them, and then have them rate those products. ==EM Features Demonstrated== #'''Tailoring answers''' - when rating products, the labels come from the comment field of the preceding multiple choice question #'''Tailoring scales''' - many advanced questions options, like scale headings, can also be tailored. ==Screenshots== This image shows that even though only products 1,3, and 5 were selected, only those 3 are displayed (using the [[QS:Array_filter|array_filter]] attribute). Moreover, the row labels in the second question are either the product numbers (if nothing is entered into the comment field) or the contents of the comment fields. <center>[[File:mcc_filter1.jpg]]</center> This image shows how the tailored answers are specified: <center>[[File:mcc_filter2.jpg]]</center> Here is the Show Logic File for that question, which lets us verify that the conditional logic works as desired (e.g., to see whether there are any syntax errors): <center>[[File:mcc_filter3.jpg]]</center> The next image shows a group in which you specify a 5 point rating scale (Options 1-5), the title of the scale, and the products you want to rate. The final question shows that each of the parts of the array question can be tailored: <center>[[File:mcc_filter4.jpg]]</center> The next image shows the logic file view of the last question. As you can observe, the subquestions, answers, and scale headers can be tailored. <center>[[File:mcc_filter5.jpg]]</center> ==Download== To download the survey example from above, click on the following link: [[Media:Rating_User-Entered_List_of_Products_Survey.zip|Rating user-entered list of products survey example]].