图形化显示数据(进度条/等级)

编辑
  • 文档创建者:文档助手1
  • 浏览次数:12866次
  • 编辑次数:23次
  • 最近更新:Kevin-s 于 2019-06-02
  • 1. 描述

    在报表中,为了便于分析数据,看到数据的趋势与瓶颈,往往使用统计图来展示数据,因为图形的方式要比数值方式直观的多。

    如各销售员的销售量、用户评价级别等,希望单元格中直接显示进度条或者其他图形标志来表示数据或等级,如以下效果。

    1)特殊符号

    2)进度条

    2. 思路

    有两种方式可以实现以上效果。

    1)单元格进度条插件,详细请查看 进度条插件

    2)借助 HTML,以下我们详细介绍这种特殊效果的制作方法。

    3. 特殊字符显示数据的示例

    3.1 准备数据

    新建报表,定义内置数据集 ds1,例如如下:


    3.2 使用重复特殊符号表示数据

    如下图,设计模板:

    数据列与单元格设置,如下:

    单元格  

    数据集  

    数据列  

    属性  

    A3  ds1  姓名  默认  
    B3  ds1  专业评分  默认  
    C3  /  /  =repeat("|",B3*2)  
    D3  ds1  表现评分  默认  
    E3  /  /  =repeat("|",D3*2)  
    F3  /  /  =(B3+D3)/2  
    G3  /  /  =repeat("★",F3)  

    公式说明:

    =repeat("★", F3):若 F3 值为 3,则重复显示 3 次星号,给您的特殊符号加上颜色。

    3.3 效果预览

    如上设置后,即可得到如下效果:

    4. 进度条的示例

    4.1 继续设计模板

    模板设计,如下:

    在 C7 单元格中,输入公式:

    "<table width=" + ROUND(B7 * 200 / sum(B7[!0;!0]), 2) + "% border=0 cellspacing=0 cellpadding=0><tr><td bgcolor=#0000FF><div color=#ffffff align=right>" + B7 + "</div></td></tr></table>"

    代码解释:

    "<table width=" + ROUND(B7 * 1000 / SUM(B7[!0;!0]), 2):设置宽度为 ROUND(B7 * 1000 / SUM(B7[!0;!0]), 2)

    PS:对宽度参数设置的进一步说明,进度条的长短在这里是由宽度确定的,而宽度的计算应该是一个所需要观察的值(如:某人的值在全员中的占比或者某人的某个属性值)乘或者除一个比例(如例子中的 200 或 1000),该例子中使用 ROUND(B7 * 200 , 2)或者 B7 * 200(某个适当的比例数)均可实现类似的效果。

    "% border=0 cellspacing=0 cellpadding=0>:取消边框,单元格间距设置为 0,单元格的内容边框距离为 0

    <tr> <td bgcolor=#00E3E3>:设置单元格的背景颜色

    <div color=#ffffff align=right>设置单元格的内容颜色、位置靠右

    4.2 单元格属性设置

    设置单元格样式的文本控制为“单行显示(调整字体)”,右击单元格>单元格属性>其他属性 ,显示内容设置用 HTML 显示内容,这样便可使用 HTML 片段来显示出进度条。

    5. 效果预览

    模板在线查看请点击 图形化显示数据.cpt

    已完成的模板,可参见%FR_HOME%\webroot\WEB-INF\reportlets\doc\SpecialSubject\TypicalIndustryReport\DesignerReport\bar.cpt

    附件列表


    主题: 报表应用
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]