• 【案例分享】项目施工进度报告


    树形分组(也称逐级展开或钻取)是统计报表中常见的一种功能和样式,常利用树形报表实现维度钻取功能,逐级查看更细粒度的指标数据,那么如何根据维度层次和最细粒度的指标数据,汇总生成这样一个树形结构报表统计报表呢?

    下面将使用葡萄城报表 Table 控件实现树形结构报表,并设置进度条显示功能。

    一、报表模板

    二、数据源结构

    三、实现思路

    1. 使用Table控件,按照级别字段分组;

    2. 对不同级别的数据,添加缩进

    3. 设置隐藏或展开状态

    四、报表实现

    1. 新建RDL 报表模板

    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. 设置进度条

    4.1 添加区间颜色函数(如果项目进度<0.2 则表示紧急,显示为红色标识等)

    4.1.1 选中 “脚本”选项,输入以下代码:

    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

    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. 调整一下字体和显示样式

    最终效果

    转载请注明出自:葡萄城报表

    相关阅读:

    【报表福利大放送】100余套报表模板免费下载

    矩表 - 现代数据分析中必不可少的报表工具

    多维透视表 - 矩表实现商品销售对比统计

  • 相关阅读:
    minicom的安装和tftp的安装
    主机和VMware中的Linux如实现共享文件夹
    gcc调试 学习1
    ARM1
    javaweb学习方案1
    java环境变量和tomcat环境变量配置
    逻辑代数
    在写一点关于MySQL的知识,感觉自己mmd
    Ural 1519 Formula 1 (DP)
    UVaLive 3126 Taxi Cab Scheme (最小路径覆盖)
  • 原文地址:https://www.cnblogs.com/powertoolsteam/p/tree_report.html
Copyright © 2020-2023  润新知