[]
        
(Showing Draft Content)

参数

1.功能概述

3D场景支持参数,参数可以使用在 WAX 表达式,自定义JavaScript脚本以及数据模型上,可以极大地增强3D场景的灵活性。

接下来举例为您分别介绍。

2.添加参数

场景设定中,找到场景参数,单击右侧的加号。

image

这里的参数设置界面与仪表板中的参数设置界面类似。数据来源仅支持默认数据,且默认数据也仅支持静态数据、用户数据和组织数据。

关于参数设置界面的详细设置,请您参见仪表板参数,这里不做赘述。

image

单击加号,添加一个默认数据,并使用用户数据。这里的用户数据“大区”是一个扩展属性。

image

然后单击确定,即可添加参数。

image

3.WAX表达式中使用参数

在度量值和计算列中使用场景参数可以实现动态筛选,例如浏览同一份数据,不同用户看到的结果不同。文中将以此为例进行介绍。

image

例如,新建一个度量值“本区销售额”,表达式中使用场景参数,来限制销售大区。仅计算满足参数条件的大区销售额。

image

type=info

如使用多值参数,则用法如下:

image

将这个度量值绑定到模型内容中,可以看到效果。本区销售额仅能显示与当前登录用户“大区”属性一致的数据信息。

当前用户为admin,他的“大区”属性为“东北”,所以仅能看到东北的销售额。

image

4.在自定义脚本中使用参数

在自定义脚本中可以访问到场景的参数,基于这个参数可以进行定制化的处理。

ISceneData {
    parameters  { name: string ; value: any }[]
}

image

5.在模型数据查询时使用参数

当您使用的是从 Json 数据源创建的数据模型时,还可以将场景参数与模型参数关联起来,实现数据的动态控制。

添加场景参数的过程不再赘述,请参考上个示例。

示例场景中绑定了一个直连模型,模型使用了一个带有参数的Json数据源。

接下来如下图所示设置参数。

image

单击设置模型参数,然后将数值类型选择场景参数,并选中参数。

image

这样就将场景参数关联到了Json数据源中参数,通过控制场景参数来控制最终的数据。

6.与仪表板参数进行关联

添加了场景参数之后,在仪表板中可以与仪表板参数进行关联,这样可以在每次渲染3D场景的时候把仪表板参数的值传递给3D场景的参数。

image

例如:我们经常在跳转到仪表板的时候携带参数,这时就可以把某一个参数与3D场景的参数进行关联,来实现跳转到仪表板的时候,其内部的3D场景也可以拿到该参数的值。