-
-
伶俐 数据达人Lv4
发表于2018-12-13 15:07
悬赏1
已解决
楼主
大神们,请教一个问题,bi表用了sq数据源,维表过滤的时候 (比如部门),用了where 字段='<#=@部门参数#>',这样计算结果只有在选择部门时展示某一部门的数据,有没有办法展示全部的数据(在不选择部门‘’的时候,目前不选择部门,展示的是空)
38个回答
缱绻 发表于 2018-12-13 17:18
这个帖子上的文档有看吗?http://bbs.esensoft.com/thread-128857-1-1.html
维表类型有3种单级维、多级维、 ...
我看了这个文档,但是我这边还是有一些问题,层级维单选,维表是这样的,一家公司下有多个部门 0 公司名 01 卫生部 02 文化部 03 交通部 04 环保部 我现在写的sql数据源条件是where PD.DEPT_NO='<#=IF(@bm="","1=1",@bm)#>' 目前选择各个部门的时候,均能正常展示数据,不选的时候,没有任何数据,我看到不选的时候,详细信息里面写的 PD.DEPT_NO='' ,我现在想在不选的时候正常展示所有数据,请问可以实现么
缱绻 发表于 2018-12-13 17:45
可以的 稍等我测试一下
好哒,谢谢,目前我在后台数据 当条件 PD.DEPT_NO IS NOT NULL 或者 <>'' ,这两种写法均能展示全部部门的数据,但是在写sql数据源的时候和<#= #> 搭配起来 ,我试过好几种写法都不太对
伶俐 发表于 2018-12-13 17:38
我看了这个文档,但是我这边还是有一些问题,层级维单选,维表是这样的,一家公司下有多个部门 0 公 ...
您的sql数据源写的不对哈,数据库字段应该写在宏表达式里面的
select UPID from ZDSY_XXB where <#=if(@cs='','1=1','UPID='+@cs)#>
上面的写法我测试了下可以的
缱绻 发表于 2018-12-13 18:12
您的sql数据源写的不对哈,数据库字段应该写在宏表达式里面的
select UPID from ZDSY_XXB where
上面的 ...
好哒,谢谢,我试一下
缱绻 发表于 2018-12-13 18:19
好的 不客气
大神,我试了一下这个写法,<#=IF(@bm='','1=1','PD.DEPT_NO='+@bm)#> 这样写的话 为空时 可以显示所有部门的数据, 但是选择其他部门的时候,是计算不出来的,直接测试不通过,计算BI表报错,你那边是可以么?
伶俐 发表于 2018-12-13 18:33
大神,我试了一下这个写法, 这样写的话 为空时 可以显示所有部门的数据, 但是选择其他部门的时候, ...
我做了个示例,参数是地区,按照这种写法,是可以的

看sql

要是还是不行,把你的表样和sql贴出来看看