跳到主要内容

变量

概述​

Labii 变量是动态占位符,使您能够自动在参数中替换特定值。变量通过允许您创建可重复使用的模板和配置,从而简化数据管理,这些模板和配置可以适应不同的情境,而无需手动重新配置。这一强大功能增强了自动化,减少了错误,并提高了实验室工作流程的生产率。

信息

变量用双大括号括起:{{VARIABLE_NAME}}。在处理时,它们会自动替换为对应的值。

记录属性​

使用这些变量访问当前记录的属性:

变量描述示例输出
{{SID}}当前记录的系统标识符abc123xyz
{{UID}}当前记录的唯一标识符EXP-001
{{NAME}}当前记录的名称My Experiment
{{DESCRIPTION}}当前记录的描述Testing compound efficacy
{{DESCRIPTION:<CODE>}}通过自定义代码处理后的当前记录描述已处理的描述
{{PROJECTS}}与当前记录关联的项目项目数据数组
{{OWNER.SID}}记录所有者的系统标识符user456
{{OWNER.NAME}}记录所有者的名称John Doe
{{DATECREATED}}记录创建的日期和时间2026-03-17 10:30:00
{{VERSION}}当前记录的版本号3
{{LINK}}记录详细视图的直接链接记录的完整 URL
{{SHARABLELINK:<URL>}}外部访问的共享链接格式化的可共享 URL
注意

对于 {{SHARABLELINK:<URL>}},URL 必须包含 api_key 参数,以允许未经过 Labii 认证的用户访问。

URL 变量​

访问当前页面 URL 的信息:

变量描述示例输出
{{URL}}完整的当前 URLhttps://labii.com/records/123
{{DOMAINFRONTEND}}当前数据中心域https://labii.com
{{DOMAINCURRENT}}当前域https://labii.com

日期变量​

为时间敏感操作生成动态日期:

当前日期​

  • {{TODAY}} - 以 YYYY-MM-DD 格式返回今天的日期
    • 示例:2026-03-17

格式化当前日期/时间​

  • {{CURRENT:<FORMAT>}} - 返回带有自定义格式的当前日期/时间
    • JavaScript:使用 Moment.js 格式 模式
      • 示例:{{CURRENT:MMMM Do YYYY, h:mm:ss a}} → March 17th 2026, 2:30:45 pm
    • Python:使用 Strftime 格式 代码
      • 示例:{{CURRENT:%B %d, %Y}} → March 17, 2026

相对日期​

使用模式 {{[+/-][#][DAY/WEEK/MONTH/YEAR]:<FORMAT>}} 计算相对于今天的日期。

语法:

  • + 或 -:添加或减去时间
  • #:单位数量(1、2、3 等)
  • 单位:DAY、WEEK、MONTH 或 YEAR
  • <FORMAT>:可选格式(默认为 YYYY-MM-DD)

示例:

  • {{-5WEEK}} - 5 周前 → 2026-02-10
  • {{+30DAY}} - 30 天后 → 2026-04-16
  • {{-1YEAR:YYYY}} - 1 年前的年份值 → 2025
  • {{+2MONTH:MMM YYYY}} - 2 个月后 → May 2026
信息

JavaScript:支持使用 Moment.js 模式进行自定义格式化
Python:相对日期目前不支持格式化;仅返回 YYYY-MM-DD 格式

列变量​

引用和处理表列中的数据:

基本列引用​

  • {{[COLUMN_SID]}} - 使用其 SID 返回列的值
    • 示例:{{nqtw0a40x1d58puzEJOTY}} 返回列存储的值

已处理的列值​

  • {{[COLUMN_SID]:<CODE>}} - 通过自定义代码处理后返回列值

JavaScript 处理​

执行任何 JavaScript 代码以转换列数据。列值作为 data 变量可用。

基本操作:

{{nqtw0a40x1d58puzEJOTY:parseInt(data)}} // Convert to integer
{{column_sid:parseFloat(data)}} // Convert to float
{{column_sid:data.toUpperCase()}} // Convert to uppercase
{{column_sid:data * 2}} // Multiply by 2
{{column_sid:data.length}} // Get string/array length

内置统计函数:

函数描述使用示例
sum计算数字数组的总和{{column_sid:sum(data)}}
mean计算平均值(均值){{column_sid:mean(data)}}
se计算标准误差{{column_sid:se(data)}}
sd计算标准差{{column_sid:sd(data)}}
encodeStringForURLURL 编码字符串{{column_sid:encodeStringForURL(data)}}
decodeStringFromURLURL 解码字符串{{column_sid:decodeStringFromURL(data)}}
Labii访问 Labii 实用函数{{column_sid:Labii.functionName(data)}}

复杂示例:

// Calculate average and round to 2 decimal places
{{column_sid:mean(data).toFixed(2)}}

// Get sum and format with units
{{column_sid:sum(data) + ' mg'}}

// Conditional formatting
{{column_sid:data > 100 ? 'High' : 'Low'}}

Python 处理​

使用点符号访问嵌套字典值以指定键:

语法: {{[COLUMN_SID]:key1.key2.key3}}

示例:

{{nqtw0a40x1d58puzEJOTY:user.sid}} // Access user.sid from column data
{{column_sid:metadata.created_by}} // Access nested created_by field
{{column_sid:results.concentration}} // Access concentration in results
信息

Python 代码处理仅限于字典键访问。不支持完整的 Python 表达式。

用户变量​

访问当前登录用户的信息:

变量描述示例输出
{{USER.SID}}当前用户的系统标识符user789
{{USER.NAME}}当前用户的全名Jane Smith

元数据变量​

使用元数据标签作为变量,以动态引用组织级或项目级设置:

语法: 用 {{...}} 包裹标签定义元数据,然后将其作为变量引用。

示例:

{
"label": "{{API_KEY}}",
"value": "sk_live_abc123xyz789"
}

一旦定义,可以在任何地方使用 {{API_KEY}} 自动替换值。

常见使用场景:

  • 存储共享的 API 密钥以生成可共享链接
  • 定义组织范围内的常量
  • 维护特定于环境的配置值
  • 引用特定于项目的参数
提示

最佳实践: 将 API 密钥等敏感值作为组织级别的元数据存储,然后使用变量引用它们。这可以集中管理并提高安全性。

转义变量​

要防止字符串被解释为变量,请使用反斜杠对大括号进行转义:

转义格式: \\{\\{string\\}\\}

示例:

  • 不转义:{{TEST}} → 替换为 TEST 变量值
  • 转义:\\{\\{TEST\\}\\} → 显示为 {{TEST}}(字面文本)
信息

在需要在文档中显示变量语法作为字面文本,或者大括号是您实际数据格式的一部分时,请使用转义。

使用示例​

示例 1:动态记录标题​

Experiment {{UID}} - {{NAME}} (Version {{VERSION}})

输出:Experiment EXP-001 - Compound Testing (Version 3)

示例 2:日期范围查询​

Records from {{-30DAY}} to {{TODAY}}

输出:Records from 2026-02-15 to 2026-03-17

{{SHARABLELINK:{{DOMAINFRONTEND}}/api/records/{{SID}}/?api_key={{API_KEY}}}}

输出:带认证的完整可共享 URL

示例 4:统计摘要​

Mean Concentration: {{concentration_column_sid:mean(data).toFixed(2)}} μM
Standard Deviation: {{concentration_column_sid:sd(data).toFixed(2)}} μM

输出:Mean Concentration: 45.67 μM, Standard Deviation: 3.21 μM