Smartbi 中支持下拉树参数和树对话框参数,在某些情况下我们可能想做一个"子ID"与"真实值"不是同一个字段的树参数,下面就说明如何实现该需求。
假设需要通过 Smartbi 知识库中的资源表(t_restree)做一个下拉树参数,参数的真实值为资源名称(c_resname),参数的显示值为资源别名(c_resalias),父子树结构则由资源ID(c_resid)与父ID(c_pid)构建。
1、制作如下下拉树参数。
备选值SQL:
select t.c_resname as RName, t.c_resalias as RAlias, t.c_pid as RPid from t_restree t, t_restree pt where pt.c_resname = ? and t.c_pid = pt.c_resid |
默认值SQL:
select t.c_resname as RName, t.c_resalias as RAlias, t.c_pid as RPid from t_restree t where t.c_resid = 'DEFAULT_TREENODE' |
根节点SQL:
select t.c_resname as RName, t.c_resalias as RAlias from t_restree t where t.c_pid is null |
相应界面:
2、创建可视化数据集界面如下:
3、预览数据可看到效果如下:
当选择自定义父子节点的时候,如果没有选择自动加载子节点,则注意备选中的sql不能包含问号。 |