Aprēķina jautājumi XLSForms un rtSurvey tiek izmantoti, lai veiktu aprēķinus, pamatojoties uz citiem laukiem vai vērtībām formā. Šie jautājumi netiek parādīti lietotājam, bet tā vietā darbojas fonā, glabājot savus rezultātus vēlākai izmantošanai vai iesniegšanai.

Sintakse

typenamelabelcalculation
calculatebmi${weight} div (${height} * ${height})
calculatefull_nameconcat(${first_name}, ' ', ${last_name})
calculateage_groupif(${age} < 18, 'jaunietis', if(${age} < 65, 'pieaugušais', 'seniors'))

Biežākie aprēķini

Aritmētika

  ${adults} + ${children}
${price} * ${quantity}
${total} - ${discount}
  

Virknes

  concat(${first_name}, ' ', ${last_name})
string-length(${answer})
  

Datums/laiks

  decimal-date-time(${end_date}) - decimal-date-time(${start_date})
format-date(today(), '%d/%m/%Y')
  

Nosacījuma loģika

  if(${age} >= 18, 'pieaugušais', 'nepilngadīgs')
  

Labākā prakse

  1. Izmantojiet calculate slēptu metadatu, piemēram, enumeratora vārda vai laika zīmoga, glabāšanai.
  2. Pārbaudiet aprēķinus ar robežvērtībām.
  3. Izmantojiet once(), lai novērstu atkārtotu aprēķināšanu: once(uuid()).
Vai šī lapa bija noderīga?