6.7 参数设置

​ 在创建SQL数据集时可以对SQL语句的某些位置进行参数替换,用参数来代替SQL语句中的某些值。达到灵活创建SQL数据集的目的。

​ 参数与项目存在绑定关系。参数可以在一个项目的数据集、图表、图册内使用。但如果切换到了其他的项目后参数需要重新添加与编辑。

6.7.1 参数添加

​ 进入项目后可以在右上角位置找到参数设置按钮:

story_param/story_param-1

​ 点击后出现参数设置界面:

story_param/story_param-2

​ 点击参数添加后出现参数添加界面:

story_param/story_param-3

​ 点击下拉列表按钮可以进行参数类别选择,目前可以选择字符串、字段、整形、浮点型、日期类型5种不同类别。其中字符串与字段类别区别将在后面进行说明。

  • 参数标签用于界面显示,可以用于提示用户该参数的名称,可包含汉字。

  • 参数标识为参数的唯一标识,用于编辑SQL语句时进行占位替换。由于SQL语句含有特殊的语法解析规则,参数名称不能包含汉字与特殊字符。同时也不应取与已有系统变量名称相同的名称,否则该参数会被当作系统变量而无法生效。

  • 是否必填选框控制该参数是否需要有默认值,并在默认值为空并保存时给予用户提示。

  • 是否可见选框控制该参数能否在播放页面上方显示该参数的播放控件。

    在创建参数时可以输入默认值,该默认值在添加了该参数后默认生效。

6.7.2 参数在SQL数据集内使用

​ 在进入SQL数据集设置界面后可以在左侧看到该项目下已经添加的参数列表:

story_param/story_param-4

​ 在SQL输入界面输入相应的SQL语句后拖动该参数到SQL语句的位置上,该参数即可添加成功。也可以通过${参数标识}的方式来添加。

story_param/story_param-5

​ 在添加该参数后,如果该参数设置了默认值,参数会被该参数添加的默认值替换。如果没有默认值并且则SQL句完整情况下对参数位置进行恒等替换,该参数不生效。

6.7.3 参数在图表内使用

​ 在选择了数据集后,如果该数据集包含了参数并且参数含有默认值,则参数最后添加的默认值生效,进行SQL语句替换生成SQL数据集。

​ 在下方有参数选框,可以拖动需要的参数到图表上方的区域,进行参数选定。在设定好相应的参数内容后点击确定,参数即可生效。

story_param/story_param-6

story_param/story_param-7

​ 为保证参数的独立性,避免修改参数时造成其他图表的改变,图表的参数在首次添加时与该项目下的参数含有继承关系,但添加后该参数与此图表绑定,与该项目的参数没有关联关系,修改图表内的参数时,其他使用了该参数的图表、图册的参数设置并不会随之改变。再次点选上方参数可以打开参数的修改界面。

6.7.4 参数在图表播放时使用

​ 在播放含有参数并且参数可见的图表时可以在播放页进行参数修改,但是播放时的对参数的修改并不会保存,在关闭播放页时,参数仍与图表编辑页面的参数设置相同。

6.7.5 参数在图册内使用

​ 与参数在图表页的使用相同,参数需要在左下方进行拖动选择,但与图表不同的是该参数会作用于所有图表,并且值会覆盖所有图表的对应参数。

story_param/story_param-8

​ 参数在拖到上方控件上后,也可以拖到图册的自由块中,以一个参数控件形式存在。

story_param/story_param-9

6.7.6 参数在图册播放时使用

​ 与图表播放时参数的使用方法相同,图册页会显示图册页添加并且可见的参数。修改参数值会作用于所有图表。

6.7.7 参数在图册播放时使用

​ 在项目下添加了参数后,可以在图册图表内进行参数拖动使用。拖动后的参数设置界面多了许多新的功能。

story_param/story_param-10

​ 自动刷新数据选框控制该参数在更改时是否直接进行图表数据刷新,如果关闭该选框则需要点击上方的确认后才进行图表刷新。 ​ 设置控件宽度选框当开始时可以进行控件宽度设置。 ​ 地址传参可以将当前参数的JSON格式信息做显示,方便进行复制与URL传参。 ​ 控件样式设置可以对控件的样式进行修改,以一个JS对象形式进行保存,播放时生效。

6.7.7.1 在图册或图表内进行字符串与字段型参数修改

​ 参数类型为字符串或字段类型时,可以修改与设置参数在播放时的控件样式。有三种不同的控件类型分别为输入框,单选框与多选框。

story_param/story_param-11

​ 其中单选框与多选框需要在详细设置下进行选框内容绑定。目前共有数据集、自定义数据、系统变量三种内容绑定方式。其中自定义数据可以输入不同的选框内容,以逗号作为两个不同取值的间隔。

story_param/story_param-12

6.7.7.2 在图册或图表内进行整形与浮点型参数修改

​ 整形与浮点型的参数控件类型默认带一个滑动条,可以在详细设置里修改滑动条的属性,或取消隐藏滑动条。

story_param/story_param-13

6.7.7.2 在图册或图表内进行日期参数修改

​ 日期类型可以在设置界面修改不同的控件类型,包括日期与时间,单独时间,单独日期三种不同的控件类型。

6.7.7.2.1 日期参数设置相对时间

日期类型的参数除了可以设置固定时间外还可以设置相对时间来根据当前时间动态生成默认值,功能入口如下: story_param/story_param-24 根据控件类型的不同生成的界面也会有所不同。 以日期+时间的日期类型参数为例,在界面上的年月日等日期部分上可以设置前、后、当前、与固定四种相对关系。前后较为好理解,设置为当前时后方的相对时间输入框内容不再生效,比如年份的相对时间设置为当前,则取当前年份2021为该参数的年。当先取固定时可以在后面的输入框输入固定的时间设置,比如在年的输入框输入2020,该参数的年会固定到2020年。 story_param/story_param-29
日的设置有周与日两种粒度的设置规则,可以选取上几周的星期几为相对时间的日的取值。 story_param/story_param-25 story_param/story_param-26

6.7.8 Url传参

​ 除了手动拖动参数进行参数添加外,还可以通过Url的方式来进行参数添加。添加的方式为在Url(如果Url包含“#”则在“#”之前)添加"&paramList=[]"。

单个参数的JSON模板为:

{
"paramName": "Name",
"paramType": "STRING",
"defaultValueList": ["1"],
"viewable": false,
"required": false
}

分别对应参数标识名,参数类型:

  "STRING" //字符串, 
   "FIELD" //字段,  
   "INT" //整形,   
   "FLOAT" //浮点型,
   "DATE" //日期类型

参数默认值(“可为多个,格式与JSON数组格式相同”),是否可见,是否必填。

多个参数见用“,”相隔填入&paramList=[]的“[]”内部。除此之外由于要放在Url上需要对传参内容进行UrlEncode编码。

完成未编码前参数示例为:

&paramList=[{
  "paramName": "param1",
  "paramType": "STRING",
  "defaultValueList": ["1"],
  "viewable": true,
  "required": false},
  {
  "paramName": "param2",
  "paramType": "FIELD",
  "defaultValueList": ["2"],
  "viewable": true,
  "required": false}]

6.7.8.1 Url传参的简化

为了简化Url传参的输入内容增加了简化的Url参数功能,当当前图册已经使用了某个参数时可以在Url末尾添加“&参数标识=参数取值”来对这个图册参数赋值。比如图册引用了一个参数标识为position的参数,在Url后输入“&position=吉林”即可为图册参数position赋值为吉林,达到Url传参目的。

6.7.9 不同参数类别的优先级

​ Url参数优先级>图册参数优先级>图表优先级,高优先级会覆盖低优先级的参数。

6.7.10 SQL语句的替换规则及不同类型参数的区别

​ 其他参数类别较好理解,字符型与字段型的区别为,字符型在替换时会在前后添加引号作为字符型标识,字段型则不会。

​ 举例说明,同样的参数值为value,字符型会替换成“value”,字段型只会替换成value,不添加其他的内容。

​ 参数对于较为容易进行语法分割并进行恒等替换的SQL语句运行时,即使参数指定值,也可以成功查询。

​ 比如select from db where id = ${param} 当不指定参数值时,会被替换为select from db。where选择不生效。

​ 而当语句为select from db where id in (${param}) 时语法分割会出现问题,无法进行恒等替换,此时需要手动对需要用{}对恒等替换的位置进行指定 SQL为 select from db where {#id in ($param)#} 此时可顺利查询。

6.7.11 参数在Rest数据源中使用

​ 如果在项目中使用的Rest数据源,那么在Rest数据源中通过Rest地址获取数据时,会把参数的值通过URL传递给接口,详见:《Rest数据源如何支持传参》

6.7.12 绑定下拉框下拉选项

​ 字符串与字段类型可以设置控件类型为单选与多选,为了满足用户动态生成单选与多选的需求,目前参数可以绑定动态的下拉框,功能入口如下图: story_param/story_param-15 点击后可以进入绑定功能界面 story_param/story_param-16 目前支持绑定三种下拉框内容,分别为数据集、自定义数据、系统变量。 在点选了数据集后可以在下方点选不同的数据集,在选择了确定的数据集后可以在下方点选该数据集的不同字段来完成ID字段与名称字段的绑定。 story_param/story_param-17 story_param/story_param-18 story_param/story_param-19 ID字段为该下拉选项字段的具体取值,名称字段为该下拉字段在下拉栏内的文字提示。比如数据集内有两个字段,分别为身份证号与姓名,可以选取姓名为名称字段,身份证为ID字段,在下拉栏内您只会看到姓名,但是点选后该姓名对应身份证号会生效赋值到参数上。 自定义字段可以在此处输入你需要的下拉框内容,比如星期、年份等,不同的下拉选项以逗号进行间隔,点击确定后会根据输入的内容生成相应的下拉框内容。 story_param/story_param-20 在系统变量下可以选择与当前系统或用户有关的内容作为下拉框的下拉选项。 story_param/story_param-21

6.7.13 绑定动态默认值

​ 用户在某些使用场景时可能会使用动态的参数默认值来达到动态控制参数的目的。功能入口如下: story_param/story_param-22 在此处可以绑定动态默认值的来源,当前支持数据集与系统变量。 story_param/story_param-27 story_param/story_param-28 当选择数据集时可以点选不同的数据集,在设置了绑定值字段后,该参数的默认值就会自动生成。默认值为该数据集与该字段下的第一条数据。为了保证参数默认值的有效性建议该数据集仅有一条数据。 系统变量与上一章的系统变量相同,绑定后会选取第一条数据生效。 story_param/story_param-23 是否开启的选项处于打开状态后该动态默认值会生效。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""