2022/9/6 周二
记录使用亿信BI制作报表时,常用的一些函数、格式等Tips。
小数值需要转为百分比,在“显示表达式”这儿加一个函数 round(self.value*100,2)+‘%’
效果:
有时候做除法运算,有除数为0的情况,会出现∞无穷符号:
效果:
如果想避免出现∞无穷符号,可以用if条件 if(B3>0,A3/B3,NULL),让除数为0时结果不去计算,显示为空:
效果:
(1) 需要在分校区表格之外的地方显示文本内容,格式为 <#=xxx#> ,如下图的<#=12345#>
(2) 如果需要显示参数内容,就是 <#=@paramname#> ,比如我有个@date的参数,就用 <#=@date#>
(3) 参数有 值value 和 显示文本txt ,就比如日期这个参数来说,值和显示文本是有区别的,<#=@date.value#> 显示20220906,而 <#=@date.txt#> 则是文本形式的2022年09月06日,如果只写<#=@date#>就默认是value
效果:
有时候日期只精确到了年月日,但报表显示出来了后边的00:00:00
要去掉这些0,就在日期单元格的“显示表达式”处加一个函数 datetostr(self.txt,‘yyyy-mm-dd’)
效果:
附加,如果我还想在外面显示最大的一个日期(右图),可以用上边第2点说过的<#=xxx#>在分析区表格外添加内容,用max函数算出最大日期,再用第3点中的datetostr函数把日期2022-09-02显示为2022年09月02日:
<#=datetostr(max(GRID1.D2$),‘yyyy年mm月dd日’)#>
效果:
其中的GRID1是分析区表格的代号,点表格左上角的十字方块会出来:
关联了维表的字段,在报表里会默认显示名称(如下图I列显示的就是具体内容),如果想让它仍然显示原来的代码值,可以在“显示表达式”中加一个 @id
效果:
=SUM(B2) 只会算上B2这一个单元格
=SUM(B2$) 才会给B2单元格里所有浮动数据求和
效果:
浮动列本来是会把相同的数据合并的(如下左图),勾选“拆分浮动块”后,就可以不合并(如下右图):
效果:
比如下图1、2、3指标列的过滤条件不相同,如果连接模式没有选全连接,则只要有数据不符合某一列的过滤条件,就会被过滤掉,包括这一整行就会被过滤掉,那我这些数据就都没有了
而选择全连接,就会把不符合条件的显示为空值,能看到其他符合条件的数据:
选择全连接:
备注:
(1)只有浮动列或指标才能加过滤条件
(2)指标:
当用的字段来自分析表单元格时
若勾选指标,则在sql中计算,会受其他过滤条件等的影响
不勾选指标,则在内存中求值,也就是直接用sql结果计算