生产作业系统报表如何设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生产作业系统报表如何设计
在一些统计报表中,常利用树形报表实现维度钻取功能,逐级钻取查看更细粒度的指标数据,那么如何根据维度层次和最细粒度的指标数据,汇总生成这样一个树形结构报表统计报表呢?
本节以葡萄城报表为工具,介绍树形结构报表的实现方法,并展示进度条的显示功能。
6.1 报表模板
数据源结构
6.2 实现思路
使用Table控件,按照级别字段分组。
对不同级别的数据,添加缩进。
设置隐藏或展开状态。
6.3 报表实现
(1)新建RDL 报表模板。
(2)添加数据源和数据集
数据集的SQL查询语句:
Select * from Treedata
(3)添加Table 控件
a.绑定数据字段
b.设置详细数据分组
选中“Table”,在属性窗口中,选择“属性对话框”。
选择“详细数据分组”标签,输入表达式:=【编号】。上级分组:=【上级编号】。点击确定。
设置“可见性”选择“可见性可以通过其他报表元素进行切换”,输入TextBoxName:TextBox4。
选中“项目名称”单元格,设置“Padding”的Left 属性值为:=2 + (Level() * 20) & "pt"
(4)设置进度条
a.添加区间颜色函数。
如果项目进度<0.2 则表示紧急,显示为红色标识等。
选中“脚本”选项卡,输入以下代码:
Function GetColor(ByVal value As Double) As String
If(value < 0.2) Then
Return "Red"
ElseIf(value < 0.4) Then
Return "#F37A5A"
ElseIf(value < 0.6) Then
Return "#FFE022"
ElseIf(value < 0.8) Then
Return "#B5E610"
Else
Return "#00B338"
End If
End Function
b.添加Image 控件
为“计划完成进度”和“实际完成进度”单元格,添加Image 控件,将Image 控件直接拖拽到单元格中
c. 4.2.1 为 Image 设置值
设置 Source属性为”Database”
设置Value 属性为“=DataBar(Fields!计划完成进度.Value,0,1,0,Code.GetColor( Fields!计划完成进度.Value))”
(5)添加行号
a.添加行号脚本代码:
Private Dim Counter As Integer = 0
Public Function GetCounter() As Integer
Me.Counter = Me.Counter + 1
return Me.Counter
End Function
b.设置单元格值为:=Code.GetCounter()