变量
概述
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}} | 完整的当前 URL | https://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
- 示例:
- JavaScript:使用 Moment.js 格式 模式
相对日期
使用模式 {{[+/-][#][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)}} |
encodeStringForURL | URL 编码字符串 | {{column_sid:encodeStringForURL(data)}} |
decodeStringFromURL | URL 解码字符串 | {{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
示例 3:可共享报告链接
{{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