热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于绿色BI(四)

2019独角兽企业重金招聘Python工程师标准二、如何让成果可重复使用?我们来看一下,利用报表开发工具,开发一张报表,

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

二、如何让成果可重复使用?

我们来看一下,利用报表开发工具,开发一张报表,关键需要经过下面的步骤:

1、写SQL:要写SQL,首先,就要搞清楚报表要从哪些表、哪些字段中来,表与表之间的关联关系是如何的?要搞清楚这些问题,首先,就要有一个数据字典备查。但一般数据字典并没有阐述表与表之间的关联关系,于是,我们还要通过对系统数据存贮逻辑的理解,来建立视图。不同的报表工具,对于SQL的要求也不尽相同,好的报表工具,只需要写最简单的select即可,无须group by,也无须order by,而where也可以通过参数来任意定义自定义。

2、设置报表样式:报表样式主要包括:1)筛选条件,这其实是我们在开发报表中经常需要变换的。;2)标题、表头、表体、行、列、数据等样式。这些样式,需要对美工有一定的基础,或者需要较细心的设置。如字体大小颜色、背景颜色、对齐方式等等。而这些工作,并不是报表开发者擅长的,也不是报表开发者认为有技术含量的,却仍然由报表开发者来完成,并且,占据了报表从开发到投入使用整个开发周期中较长的时间。

3、发布报表:这个过程,借助报表开发工具,并不复杂。


那我们如何让自己在制作报表的过程中,能重复利用自己的劳动成果呢?比如,我们在做销售统计报表时,按部门统计是一张,按业务员统计又是一张;或者有时,需要增加一个字段或者减少一个字段。这些,只是对SQL脚本的简单修改,所以,我们通常可以通过数据库系统(如SQL Server)中的视图来完成重复利用。但是,通过视图来做,有一个最大的问题就是效率——为了让这个视图可重复利用,我们一定会做一个最大的结果集,如包括所有需要用到的字段,包括所有相关表的关联。一旦数据量较大,其影响就会非常大。传统ERP中查询报表,有的时候查上一年的数据,服务器就死在那了,主要就是这种原因导致的。那如何既能保证重复利用,又可以提高SQL查询效率呢?Power-BI通过数据字典、数据视图及SQL查询构建器三个功能,就完美的实现了上述想法:

1、数据字典可通过EXCEL导入,导入之后,就可以随时看到每个字段的业务含义,不再需要临时查询数据字典;

2、数据视图存贮的是各表之间的关联关系,可按业务主题来进行设计;

3、一旦上述工作完成,就可通过查询构建器,来自动拖拽生成SQL。对于开发者而言,只需要将这次报表需要的字段拖拽到列区域,系统就会自动根据数据字典生成as脚本,同时判断用到了哪些表,自动根据数据视图,来生成join脚本。——用到的字段才select,用到的表才join;同时,通过中间表join的,系统也会自动将需要的表加进来,不但节省了写SQL的时间,而且,运行效率也会最大限度的提升。

 

2011-4-8 20:10 上传
下载附件 (70.68 KB)

其实,在BI系统的开发中,数据字典与数据视图相当于大厦的地基,基础打的越好,大厦也就可以建的更高。——为了构建绿色BI社区,Power-BI中上述功能完全免费!


而对于报表样式,Power-BI提供样式保存功能。通过样式保存功能,可以在自己精心设计好一种样式之后,将之保存。系统会自动剥离报表的数据信息,而只保存样式信息。这样,当其他报表想用到同样的样式时,即可随时选择并改变样式。——有了这项功能,我们就不会再害怕自己精心设计的样式是浪费时间了。


为了最大限度的实现成果重复利用,Power-BI提供上述内容的上传下载。通过上传功能,可让他人分享自己的劳动成果;而通过下载功能,则可享受别人的劳动成果。慢慢的,“我为人人,人人为我”,就会让这个绿色BI社区变得更加节能而高效!


转:https://my.oschina.net/u/145358/blog/17649



推荐阅读
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 在线教育平台的搭建及其优势
    在线教育平台的搭建对于教育发展来说是一次重大进步。未来在线教育市场前景广阔,但许多老师不知道如何入手。本文介绍了在线教育平台的搭建方法以及与传统教育相比的优势,包括时间、地点、空间的灵活性,改善教育不公平现象以及个性化教学的特点。在线教育平台的搭建将为学生提供更好的教育资源,解决教育不公平的问题。 ... [详细]
author-avatar
yangcong
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有