1、必须遵循的命名规则编辑
1)不能以数字、$符号开头;
2)变量名只能是字母(a-z A-Z)、数字(0-9)、下划线(_)、(@)或中文的组合,并且之间不能包含空格;
3)变量名中不能含有? * . - 等字符和空格。
4)变量名不能使用编程语言的保留字。比如小写的true、false等保留字。但大写的TRUE、FALSE可以。
2、经典命名规则编辑
1)匈牙利命名法
该命名法是在每个变量名的前面加上若干表示数据类型的字符。基本原则是:变量名=属性+类型+对象描述。如i表示int,所有i开头的变量命都表示int类型。s表示String,所有变量命以s开头的都表示String类型变量。
2)骆驼命名法
正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。驼峰命名法跟帕斯卡命名法相似,只是首字母为小写,如userName。因为看上去像驼峰,因此而得名。
3)帕斯卡命名法,即pascal命名法
做法是首字母大写,如UserName。
3、注意事项编辑
1)字符参数有英文单引号'${adce}',数字参数没有英文单引号${adce}。其中adce为参数。
2)参数值的引用格式为参数前面加$符号,如$adce。
3)模板参数与全局参数重名时,采用模板参数。
4、常见应用编辑
1)简单应用
可以在定义数据集sql的时候,直接使用where条件定义参数,并过滤出需要的数据,从而大大缩短取数时间,类似下面的sql:
SELECT * FROM 销量 where 地区 = '${地区}'
2)带公式的应用
数据集sql中可以使用参数宏${}动态地生成过滤条件,${}中的语句在FineBI中执行,将${}的执行结果与sql语句拼接起来形成最终的查询语句,传递给数据库执行,可以使用多个${},如下语句:
SELECT * FROM new_dian where 1=1 ${if(len(店性质) == 0,"","and 店性质 in ('" + 店性质 + "')")}
SELECT * FROM 订单 where 1=1 ${if(len(area) == 0,"","and 货主地区 = '" + area + "'")} ${if(len(province) == 0,"","and 货主省份 = '" + province + "'")}
${}中可以使用所有内置的FineBI公式,如if函数;
${}中除了FineBI内置的函数名、常量外,还有自定义的参数;
比如上面第二个SQL语句,if公式是FineBI内置的公式,area和province都是自定义的参数。如果len(area)!=0,即area参数不为空,比如说area的值为华东,那么if语句的执行结果为and 货主地区='华东',然后再把这句话拼接到SQL语句当中,SQL语句就变成:
SELECT * FROM 订单 where 1=1 and 货主地区='华东'