-
杨思怡 初学数据Lv2
发表于2021-3-13 21:47
楼主
本帖最后由 杨思怡 于 2021-3-13 21:47 编辑
通用维:实际是指上下级层级间没有任何关联关系但需要形成多级,树形结构的维表。与多级代码维不同之处在于他的下钻层次不是根据id字段的分段来设置,而是通过指定的属性字段顺序来生成的。
由于通用维是路径是自己设置的,本质上层级与层级之间无任何关系,所以在形成sql时会有一个$符号进行连接,如图显示
但实际的过滤中我们并不需要$这个符号,如果过滤条件的写法是类似“字段=@参数名”会因为这个符号影响到过滤以至于计算出的数据变成空白,
我们的处理方法一般是三种,
1、当用主题表做表时,可以用组件上的自动过滤
自动计算的作用范围是整个表,如果是有多个表查询过滤或者是有些表不需要过滤的情况自动计算就有些局限性了,这个时候我们就需要自己写过滤条件了。
2、同样是主题表做表,然后用dim去截取通用维的真实值,写法类似dim(字段)=@参数名
关于dim和diminf函数的详细解读可以看一下这个帖子:https://help.esensoft.com/doc-view-176.html
3、sql数据源做表,用diminf截取过滤
QC_XL.XH='<#=diminf("汽车",@cs,"$realid")#>'
具体写法可以参考这个帖子:https://bbs.esensoft.com/thread-128117-1-1.html
需要注意的是,维表的每层所保存的数据都是由下级所有节点值sum出来的,并且通用维中每一条数据对应一个叶子节点所属的完整路径,中间的父节点是不会直接对应一条数据的,所以最好不要在上级父节点里存数据!!
通用维:实际是指上下级层级间没有任何关联关系但需要形成多级,树形结构的维表。与多级代码维不同之处在于他的下钻层次不是根据id字段的分段来设置,而是通过指定的属性字段顺序来生成的。
由于通用维是路径是自己设置的,本质上层级与层级之间无任何关系,所以在形成sql时会有一个$符号进行连接,如图显示
但实际的过滤中我们并不需要$这个符号,如果过滤条件的写法是类似“字段=@参数名”会因为这个符号影响到过滤以至于计算出的数据变成空白,
我们的处理方法一般是三种,
1、当用主题表做表时,可以用组件上的自动过滤
自动计算的作用范围是整个表,如果是有多个表查询过滤或者是有些表不需要过滤的情况自动计算就有些局限性了,这个时候我们就需要自己写过滤条件了。
2、同样是主题表做表,然后用dim去截取通用维的真实值,写法类似dim(字段)=@参数名
关于dim和diminf函数的详细解读可以看一下这个帖子:https://help.esensoft.com/doc-view-176.html
3、sql数据源做表,用diminf截取过滤
QC_XL.XH='<#=diminf("汽车",@cs,"$realid")#>'
具体写法可以参考这个帖子:https://bbs.esensoft.com/thread-128117-1-1.html
需要注意的是,维表的每层所保存的数据都是由下级所有节点值sum出来的,并且通用维中每一条数据对应一个叶子节点所属的完整路径,中间的父节点是不会直接对应一条数据的,所以最好不要在上级父节点里存数据!!