该API用于检查指标计算公式中的变量,并在Neo4j数据库中查找匹配的元数据。
/api/data/metric/checkPOSTapplication/json| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| formula | string | 是 | 指标计算公式文本 |
公式格式为:指标名称 = 计算表达式
+、-、*、/、()、()、[]、{}{
"formula": "销售额 = 单价 * 数量 + 运费"
}
更复杂的示例:
{
"formula": "利润率 = (销售收入 - 成本) / 销售收入 * 100"
}
{
"code": 200,
"message": "success",
"data": [
{
"variable": "单价",
"name_zh": "单价",
"name_en": "unit_price",
"id": 12345,
"create_time": "2024-01-15 10:30:00",
"findit": 1
},
{
"variable": "数量",
"name_zh": "数量",
"name_en": "quantity",
"id": 12346,
"create_time": "2024-01-15 10:31:00",
"findit": 1
},
{
"variable": "运费",
"name_zh": "",
"name_en": "",
"id": null,
"create_time": "",
"findit": 0
}
]
}
| 字段名 | 类型 | 说明 |
|---|---|---|
| variable | string | 从公式中提取的变量名 |
| name_zh | string | 匹配到的元数据中文名称(未找到时为空字符串) |
| name_en | string | 匹配到的元数据英文名称(未找到时为空字符串) |
| id | integer/null | 匹配到的元数据节点ID(未找到时为null) |
| create_time | string | 匹配到的元数据创建时间(未找到时为空字符串) |
| findit | integer | 是否找到匹配:1表示找到,0表示未找到 |
{
"code": 400,
"message": "failed",
"data": {},
"error": {
"error": "公式文本不能为空"
}
}
{
"code": 400,
"message": "failed",
"data": {},
"error": {
"error": "公式格式错误:缺少等号"
}
}
{
"code": 500,
"message": "failed",
"data": {},
"error": {
"error": "具体错误信息"
}
}
=)分割,只处理等号右侧的计算表达式name属性findit字段设置为0import requests
import json
url = "http://your-server/api/data/metric/check"
headers = {"Content-Type": "application/json"}
data = {
"formula": "销售额 = 单价 * 数量 + 运费"
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(json.dumps(result, indent=2, ensure_ascii=False))
const url = 'http://your-server/api/data/metric/check';
const data = {
formula: '销售额 = 单价 * 数量 + 运费'
};
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(result => console.log(result))
.catch(error => console.error('Error:', error));
curl -X POST http://your-server/api/data/metric/check \
-H "Content-Type: application/json" \
-d '{"formula": "销售额 = 单价 * 数量 + 运费"}'
=),否则会返回错误