自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 定义QlikView中的系统字段

在Settings -> User Preferences里面有一个“Show System Fields”的选项。是否勾选这个选项后,再新建List Box的时候就可以选择系统字段。否则不能。那如何定义系统字段呢。如下代码所示:SET HidePrefix = "_";TableB:LOAD * Inline [Test1, Test2, Test3, _Test4

2014-12-19 14:30:16 1430

原创 QlikView中实现SQL Server中的RowNumber() Over(Partition by)

经常有这样的需求,当A字段有很多重复的值,但是B字段中的值在按A字段分组后是唯一的,因此SELECT A, B字段的时候不知道取B字段中的哪个值,因此在A字段重复的时候想取B字段的值,需要根据C字段中最大最小的值所对应的那一行数据。在SQL Server 里面可以用如下方式实现,Row_Number() Over(Partition by A Order by C) ID,然后取ID=1。

2014-09-20 13:30:09 2432 1

原创 QlikView格式化某一个单元格

QlikView中可以创建透视表和垂直表,或者一般的Table。假如有的时候需要某一个单元格的样式和其他单元格不一样,颜色或者边框宽度等,可以通过以下方式实现:工具栏里面有个按钮叫:Design Grid,如下图所示:点击之后会发现整个Dashboard背景会被出现很多小格子。随便新建一个Straight Table,右键该垂直表内容的任何一个区域,选中"Custom Format C

2014-08-31 22:18:45 1173

原创 QlikView计算年初到今天为止的销售数据

新财年年初到今天的销售总和是很多同学经常遇到的需求,有两种思路:1. 可以在Load数据的时候就生成一个字段叫YTDFlag,即是当下这个财年的该字段就为1,否则为0。因此在报表中可以很方便的用Sum(Sales * YTDFlag)来得到想要的KPI。Load数据的Script如下所示:SalesData:LOAD Num(ID) as ID, Date(Date) as

2014-08-31 17:07:37 2226

原创 QlikView显示所选时间前一年的数据

客户经常提出这样的需求,当用户选择某一时间时,图表中显示所选时间之前一年的数据。下面是我的方法,如有不当,请多指教: 数据准备如下所示:SalesData:LOAD Num(ID) as ID, Date(Date) as Date, Month, Num(Year) as Year, Num(Sales) as SalesInline [ID, Dat

2014-08-31 15:37:43 2382

原创 QlikView图表显示同比数据

QlikView中的同比分析图

2014-08-30 17:30:15 3565

原创 QlikView中用按钮控制转换图表类型(比如条形图转成垂直表)

QlikView中的图表中可以通过勾选某些配置就可以很方便的进行图表类型转换,让用户可以在图表上面选择是要看条形图或者柱状图或者垂直图等detail数据。在Fast Type Change中选中如上图所示的选项之后,图表的右上角多了一个Fast Change选项,变成下面这样:因为在第一幅图里面的右下角Preferred Icon勾选的是In Caption,因此该控制Char

2014-06-18 22:49:01 1878

原创 QlikView任意改变图例的位置

组里面花了大价钱请人设计了一套UI的solution,不过是以网站思路设计的报表样式,但是该报表UI设计团队本身由于没有QlikView的背景,因此设计出来的报表不知道能不能再QlikView中实现,因此我等Developer们就开始了研究之路。 第一个研究的对象是要将图例放在图表的下面,但是QlikView本身设置里面只允许在图表右侧上中下。不能设置在整个图表的下方或者左边。当然首先要注

2014-06-18 22:04:51 1384

原创 QlikView线形图高亮显示选中的维度

如图所示,今天同学问了我个问题,维度是Month,expression是Count(Id)。这个图表是线形图,无论你在其他下拉列表选择哪个月,这个图表都会显示所有月份的销售量。因为Expression里面是这样写的 Count({$}Id)。 开始我想到了用两个Expression去实现这个功能,两个Expression是一样的公式,只是一个在Month有选择的时候显示,没有选择的时候隐藏

2014-06-17 19:33:09 1824

原创 QlikView报表显示连续若干个月内活跃用户的数量

之前有朋友提到了这样一个需求,要计算三个月内中每个月都有销售记录的客户量,

2014-06-09 22:45:51 2104

原创 Partial Load在QlikView中的用途

问题描述:诚然,Partial Load是一个好东西,上一篇博客里面有具体讲到它的使用方法和具体效果。可是,今天和小伙伴讨论之后发现,在实际生产环境中并没有太多其用武之地。主要原因是: Partial Load确实不会执行没有添加Add或者Replace的Load语句,可是Partial Load却会执行其他语句比如判断或者计算某table里面的行数等命令。因此,由于没有执行其他语句所

2014-06-04 22:29:49 1396

原创 QlikView实现部分加载数据的功能(Partial Load)

问题背景:一直很想不通,公司花了N多钱请了一帮QlikView的Consultant做出来的solution竟然没有涉及Reload的部分,以至于每次刷新数据都需要刷新整个Data Model,之前和部门同事讨论的时候我还信誓旦旦的说QlikView就只能这样了,找不到方法只将新数据刷新到Data Model中而不用重新load之前已经在Memory里面的数据。幸而今天一位朋友提到了Add

2014-06-03 22:53:25 3199 1

原创 QlikView AutoNumber函数

真的要吐槽下百度上QlikView的资料少之又少,今天竟然还访问不了Google了。索性以后把新学会的QlikView的函数等大大小小知识点都放到CSDN来好了。希望能遇见更多一起学习研究QlikView的同道中人。QlikView中介绍Autonumber的格式是这样的: autonumber(expression[ , AutoID]) 个人觉得有些费解,其实说白了Expressi

2014-05-28 22:57:52 2041 1

原创 有关QlikView循环的疑惑

问题描述:查阅了QlikView的help后知道QlikView的循环语法如下面Code所示:LET vTest1 = 1;LET vTest2 = 30;DO WHILE (vTest1 < $(vTest2)) LET vTest1 = $(vTest1) + 1;LOOP可是令人不解的是为何把DO WHILE (vTest1 DO WHILE ($(vTest1)

2014-03-27 14:08:46 1857 3

原创 QlikView中行级权限设置

博客前言:企业级报表通常都涉及到复杂的权限问题, 比如文本级权限和行级权限,某区域经理只能看到该区域的销售数据。QlikView自然也提供了该种功能。具体方法:在Edit script中新建一个tab, 输入如下语句:Section Access;LOAD * INLINE [ACCESS, USERID, PASSWORD, COUNTRYADMIN, ADMI

2014-03-25 17:46:01 2936

原创 QlikView中LET和SET以及dollar sign($())的使用总结

博客引言:参数运用在报表开发阶段是很常见的事情,QlikView中可以用SET和LET方式声明参数,在dashboard页面中可以使用dollar sign($(参数))或者直接写=参数的方式引用参数。下面上面几者使用效果的差别。环境:QlikView 11.2研究过程:1. 用LET方式声明四个参数:LET vTest1 = 1+3;LET vTest3

2014-03-14 15:12:40 1683 3

原创 用EXCEPT对比两个表的数据用还是UNION

问题描述:今天是新系统上线之后第一次跑数据,需要和老系统跑出来的表做对比。完全一样则项目运行ok,新系统在时间上减少了人工干预,提高了80个百分点。先用老系统跑一次数据,导入到一个备份表。再用新系统跑一次,数量和备份表里面的一样。心里坦荡了一点。再比较里面每一行数据是否一样的时候,先是用了如下方式:SELECTCOUNT(0) FROM (SELECT * FROM tab

2014-03-04 13:50:45 1324

原创 sql server网页项目发布到生产环境和开发环境不一致的情况

问题描述:工作中总会时不时地遇到一些这样的情况,在开发或者QA上程序运行总是好好的,但到了生产环境,程序却跑不出来了。印象比较深刻的是之前遇到的两个以sql server为数据库的网页项目,一是访问网页错误,二是网页上的下拉列表没有结果。环境:SQL SERVER 2008, IIS, SSRS 2008, Visual Studio 2008, ASP.NET解决方法

2014-02-20 13:08:09 1646

原创 检测表和存储过程等对象是否存在的方法总结

博客前言:在关于数据库项目中一般都会创建一些table, view, schema, synonym, trigger, function, procedure这些对象。在发布到production的时候通常都会检验这些对象是否已经被创建。下面就来总结一些检测方法。环境: SQL SERVER 2008具体方法:Schema: IF NOT EXISTS (SE

2014-02-19 12:51:30 1123

原创 SSIS导出数据到Excel

问题描述:之前做ETL大都是将文件作为数据源,还没有完整的做过导出数据到平面文件的项目,更何况Excel这种奇葩的数据源或者destination了。虽然

2014-02-18 21:45:40 3248

原创 Excel作为数据源的N宗罪

博客前言:今年部门里面要求把decommission老系统提上了日程,每个组都有不同的指标。因此前段时间开始了decommission第一个老系统。老系统需要把Excel作为数据源,用VBA去抽取数据。木有各种项目文档,木有各种数据字典。只有一代一代的opration同事手把手的交接。苦啊!于是我们就开始了用Excel作为数据源的漫漫征程。环境:SQL SERVER 2008, S

2014-02-17 12:44:24 1072

原创 运行procedure很慢但运行procedure很快的原因之二

问题描述:继上一次由于表统计信息导致标题所阐述问题之后,这次是另外一个同学更改表结构出现了同样问题。由于他并没有修改表数据,因此推测不能通过更新表统计信息解决该问题。 环境:SQL Server 2008 解决思路:有了上一次的经验,因此排除了procedure本身逻辑问题,开始考虑索引重建,表分区等方面。 解决方法:突然想到上次出现同样问题时另一个同学说的重新编译procedure,with r

2014-02-16 12:00:45 992

原创 SQL Server小技巧(持续更新)

博客前言:平时在用SQL Sercer的时候,总是想要去获得一些小技巧来改进自己的使用体验,比如一些快捷键等等。也发现有的同事工作10来年了,也会反复的因为不知道某些快捷键而烦恼,却也因为这个问题也不紧急,一直不去理会。因此才有了这篇博客,督促我不断的去总结我平时如鲠在喉,不得不找寻的一些小技巧。 环境:SQL Server2008 快捷键:注释:ctrl+k+c(c表示comment out)反

2014-02-15 09:55:56 729

原创 运行procedure很慢但运行procedure内容很快的原因之一

问题描述:有一次在发布系统到production环境之后,突然发现报表过了好几分钟也刷新不出来,小哥我直接就慌神了。迅速进行各种测试,首先右键报表属性找出报表地址,看看参数是否传对了。找出报表参数之后直接运行procedure,也跑不出来。打开procedure一段一段执行却没问题,执行整个procedure的内容也没问题,但是exec procedure_nm却始终有问题。在开发环境exec

2014-02-14 12:45:26 1152

原创 decommission老系统的体会

业务描述:公司不同组织销售产品所得的提成是既定的,单月销售量超过某区间会增加提成,大多数销售员所得提成率是和其所在的组织相同,但某些销售员的提成不同于组织(一般高于组织既定提成);还有种情况是对于某些特定客户,销售提成也要另外算(一般低于组织既定提成)。并且日均销售低于特定值会取消该销售员当月提成。 背景:公司里特别多老系统数据是放到Excel里面处理的,需要特别多的人工介入。比如客户发邮件说这个

2014-02-13 12:11:03 723

原创 SSIS获得Excel行号

问题描述: 首先个人并不推荐将Excel作为数据源,因为Excel单元格式会引起特别多的数据转换问题,例如:单元格里明明是2.89,但SSIS抽取到数据库里面之后却变成了2.88999999之类的数据。 这里要介绍的是假如万不得已需要用Excel作为数据源时,经常会需要取得Excel每一行的行号,当然假如允许可以在Excel里面新增加一列并赋予公式=Row()。但很多情况是源文件并不允许被轻易改动

2014-02-12 12:31:47 1377

翻译 SSIS导出数据到PDF

问题描述:SSIS可以很方便的将数据导出到csv等文本文件,但是其自带控件中并没有可以直接pdf作为目标文件的方法。很多网站上说可以引用dll库或者下载一些第三方插件就可以在SSIS中用scripts的方式导出。个人觉得有些麻烦,再加上公司对风险控制很严厉,所以不会轻易因为一些小事情而采用这种方法。后来google了一下,参考了下面文章中的方法:http://sqlserverrider.word

2014-02-11 12:29:04 1775

原创 convert在SELECT中和WHERE条件中的不同

问题描述:在从视图中查询数据时,假如把convert放在WHERE语句中,SQL SERVER引擎仍然会去扫描CONVERT中的字段在视图所引用的表中所有行数,假如该字段存在不能被CONVERT的值,比如:123A,不能被CONVERT成DECIMAL类型,即便WHERE语句中的其他条件会过滤该错误数据,又或者视图并没有引用该错误数据,但由于SQL SERVER引擎会扫描所有行数,还是会遇到以下错

2014-02-10 21:08:15 3200

数据仓库ETL工具箱

数据仓库ETL工具箱,The_Data_Warehouse_ETL_Toolkit_CN,文字可复制,清晰

2011-03-23

数据仓库生命周期工具箱:设计、开发、配置数据仓库的专家方法

数据仓库经典书籍,数据仓库生命周期工具箱:设计、开发、配置数据仓库的专家方法

2011-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除