树形分组
(也称逐级展开或钻取)是统计报表中常见的一种功能和样式,常利用树形报表实现维度钻取功能,逐级查看更细粒度的指标数据,那么如何根据维度层次和最细粒度的指标数据,汇总生成这样一个树形结构报表统计报表呢?
2. 对不同级别的数据,添加缩进
3. 设置隐藏或展开状态
2. 添加数据源和数据集
3. 添加 Table 控件
3.1 绑定数据字段
3.2 绑定数据字段
3.2.1 选中“Table”,在属性窗口中,选择“属性对话框”
3.2.2 选择“详细数据分组”标签,输入表达式:=【编号】;上级分组:=【上级编号】;点击确定。
设置“可见性”选择“可见性可以通过其他报表元素进行切换”,输入TextBoxName:TextBox4;
3.2.4 选中“项目名称”单元格,设置“Padding”的Left 属性值为:=2 + (Level() * 20) & “pt”
4.1 添加区间颜色函数(如果项目进度<0.2 则表示紧急,显示为红色标识等)
4.1.1 选中 “脚本”选项,输入以下代码:
4.2 添加Image 控件。
为“计划完成进度”和“实际完成进度”单元格,添加Image 控件,将Image 控件直接拖拽到单元格中
4.2.1 为 Image 设置值
1. 设置 Source属性为”Database”
2. 设置Value 属性为“=DataBar(Fields!计划完成进度.Value,0,1,0,Code.GetColor( Fields!计划完成进度.Value))
5.1 添加行号脚本代码
Private Dim Counter As Integer = 0
Public Function GetCounter() As Integer
Me.Counter = Me.Counter + 1
return Me.Counter
End Function
5.2 设置单元格值为:=Code.GetCounter()
转载请注明出自:葡萄城报表
下面将使用葡萄城报表 Table 控件实现 树形结构 报表,并设置进度条显示功能。
一、报表模板
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/9e89d698ef44f97447b0734cb04b5779.png)
二、数据源结构
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/4c2049275ff7147efdb64424e0d3183b.png)
三、实现思路
1. 使用Table控件,按照级别字段分组;2. 对不同级别的数据,添加缩进
3. 设置隐藏或展开状态
四、报表实现
1. 新建RDL 报表模板2. 添加数据源和数据集
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/81987dc4b4a01419f2c07fb9827fc35c.png)
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/bcff328f7c766da878af48e9f39f7c38.png)
3. 添加 Table 控件
3.1 绑定数据字段
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/d3349993415975c4290e98cd35633430.png)
3.2 绑定数据字段
3.2.1 选中“Table”,在属性窗口中,选择“属性对话框”
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/4310d9dbea8b0c7f7e848b1cb2422205.png)
3.2.2 选择“详细数据分组”标签,输入表达式:=【编号】;上级分组:=【上级编号】;点击确定。
设置“可见性”选择“可见性可以通过其他报表元素进行切换”,输入TextBoxName:TextBox4;
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/b59e01d45a7b849d25f9016225997bb8.png)
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/28a4abbfd02f376ac643873f6c4b17e0.png)
3.2.4 选中“项目名称”单元格,设置“Padding”的Left 属性值为:=2 + (Level() * 20) & “pt”
4. 设置进度条
4.1 添加区间颜色函数(如果项目进度<0.2 则表示紧急,显示为红色标识等)
4.1.1 选中 “脚本”选项,输入以下代码:
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/051fff11717383c414918b0348b46f76.png)
4.2 添加Image 控件。
为“计划完成进度”和“实际完成进度”单元格,添加Image 控件,将Image 控件直接拖拽到单元格中
4.2.1 为 Image 设置值
1. 设置 Source属性为”Database”
2. 设置Value 属性为“=DataBar(Fields!计划完成进度.Value,0,1,0,Code.GetColor( Fields!计划完成进度.Value))
5. 设置进度条
5.1 添加行号脚本代码
Private Dim Counter As Integer = 0
Public Function GetCounter() As Integer
Me.Counter = Me.Counter + 1
return Me.Counter
End Function
5.2 设置单元格值为:=Code.GetCounter()
6. 调整一下字体和显示样式
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/b46fc603163fdf936c6063b7c07b4f6b.png)
最终效果
![葡萄城报表](https://i-blog.csdnimg.cn/blog_migrate/36b983d7865cd672e31373b6cf204679.png)
转载请注明出自:葡萄城报表