自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

预见未来to50的专栏

Life is limited, but art is long

  • 博客(60)
  • 收藏
  • 关注

原创 调试经验—— Excel点击保存时总是弹出隐私信息警告(Privacy Warning:this document contains macros...)的解决方法

问题:有一个Excel文件,每次点击“保存”按钮,都会弹出一个对话框,很是烦人。" Privacy Warning:this document contains macros,ActiveX controls,XML expansion pack information or web components. these may include personal information th...

2018-07-25 15:00:43 4530

原创 调试经验——VBA代码的副作用:导致文件大小异常(明显增加)

问题:上次增加了一段VBA代码,完成work file自动另存为delivery文件。本来工作的好好的,但今天发现有个副作用:delivery文件从不到6M增加到了11M以上,这多出来的5M是哪来的?解决方案:通过各种排查,最终发现应该是VBA代码的自动另存为造成的。ThisWorkbook.SaveCopyAs fileName   至于更深层次的原因,目前尚不明确。看来...

2018-07-25 12:06:48 1851 1

原创 学以致用——基于《论语》词频分析的标签云

《论语》不愧是一部流传千古的儒家经典,读完让人意犹未尽。在这里,先基于其词频分析创建一个标签云看看吧。

2018-07-23 23:51:46 704

原创 调试经验——报表生成过程中遭遇数据库“耍脾气”

问题:前几天刷新一个报表,运行了一段脚本,发现没有数据。解决方案:当时,试图更新脚本,无果。当天下午,不甘心,又运行了同一段脚本,发现脚本处于无限运行状态(即,超时运行而不报错,一直显示为running状态),此时,取消运行,又进入了无限取消运行状态(即,超时取消运行而不报错,一直显示为pending for cancel状态)。只好杀掉Toad进程,重新打开Toad,重新运行,问...

2018-07-23 12:26:15 192

原创 调试经验——开启Spotifre web客户端中的编辑功能 (Enable Edit button in Spotfire web client)

问题:有位来自日本的用户发邮件,请求我们在Spotfire报表(趋势分析报告) 网页上添加一个“Edit”按钮。说是以前是有的,现在的版本中找不到了。她需要对Spotifre的报表做一些优化,再报告给相关试验的CRA们。刚看到这封邮件,我有点懵。因为我不记得配置过这个功能。经过几次的邮件澄清,才找到问题所在。 解决方法:在Spotifre analysis文件的文档属性中,有一...

2018-07-23 12:13:26 579

原创 调试经验——创建个人的知识库(数据表、数据库、博客、微博等)的意义

大学四年,记住的老师的话并不多,但有一句至今难忘。那是大三电子电路实验课中有一节的内容是组装一台收音机,那位试验老师对我们说“你们一定要注意保存好自己的学习成果,不断积累,这个非常重要!”。所以,毕业十几年以来,别的东西没有积累多少,各种资料倒是积累了不少,至于有多少价值,那是另一回事了。今天,有位年轻的同事问我画流程图需要用什么软件,我说有很多,如Visio、Bizagi的。但是...

2018-07-19 23:39:20 967

原创 学海无涯——人工智能应用实例之写作软件的基本概念

公司技术培训中提到了Auto Narrative Writing,即自动写作。目前,本人也仅是使用VBA生成SQL statement(Insert语句),原理是字符串拼接。而这个自动写作,显然是更高级别的“字符串拼接”了。先学习基础吧。---------------------------------------------------------------------------...

2018-07-19 23:25:08 5855

原创 学海无涯——大数据基本概念

公司举办了关于新技术的培训,提到了“大数据”这个对我而言火了有几年的概念。所以,有必要当好“小学生”了,不懂的字该怎么办,查字典。不懂的概念怎么办,学习呗!------------------------------------------------------------------------------------------------------------------------...

2018-07-19 23:04:05 688

原创 书生闲谈——人工智能距离替代我的工作还有很遥远的距离

公司举办了一个关于人工智能的讲座,提到了自然语言处理(NLP)、机器学习(Machine Learning)等高大上的内容,听得我稀里糊涂的。去年买了本机器学习的书,发现基本上看不懂。然后学高数打基础,希望有一天再杀回去。这条道路或许依然漫长,或许,我应该换个思路:人工智能于我到底有何意义?先大胆想象一下,假如有一天人工智能技术非常发达,可以完全完成我目前的工作,那么是否意味着我就可以...

2018-07-19 22:27:12 280

原创 学海无涯——机器人流程自动化初接触(RPA,Robotic process automation)

公司举办了一个关于RPA的讲座,或许是用英语讲的原因,听得稀里糊涂的。还是自己补补课吧。--------------------------------------------------------------------------------------------------------------------------------------------------------...

2018-07-19 22:05:41 7807

原创 调试经验——条条大路通罗马(能用多种方法完成一件任务的重要性)

使用CitrixReciver访问公司内网,发现密码今天就要过期了(好险!)。于是,使用首页的“Change Password”链接,打不开。无奈,在Webapp中搜索“change password”,找到了一个change password的新链接,但问题是,不能成功修改。怎么办?再尝试一下“Reset Password”功能吧,输入了用户名、生日、入职日期及另外两个密码提示问题后...

2018-07-19 16:58:42 263

原创 调试经验——快速将PDF格式的Glossary转换为字典格式的技巧(Conversion of non-structured data to structured data)

需求:手头有一份PDF格式的Glossary,准备将其中的词条提取到Excel中,并将其合并到现有的知识库中。 方法:1. 新建一个Excel工作表2. 将PDF中的内容逐页复制到工作表中的B列中(从第二行开始,只需粘贴文本值,删除多余行,保证一个词条仅占用两行(第一行是词条,第二行是词条本身))3. 复制完成后,在C1中输入“DESC”,在C2中输入公式:=B3,即,将该...

2018-07-19 16:07:11 280

原创 调试经验——ETL工具Informatica初接触

有一个报表,有一部分操作需要使用Informatica完成。具体就是运行两个task。如果照着操作手操,可以完成任务。但问题是,尚不清除这两个Task具体执行了哪些操作,如果以后用户提出了更改、增强等要求后,怎么有效地完成任务?能否使用SQL语句完成同等效果的操作?何以解忧,唯有学习。今天,先来热热身,等后续有了钻研结果,再发表出来。2018年7月25日补记:墨菲定律说,担心一件事,这...

2018-07-19 01:03:54 3385

原创 学海无涯——数据仓库概要

工作中用到的数据库不少,对我而言,数据库就是“数据仓库”。但严格来讲,什么才是数据仓库呢?---------------------------------------------------------------------------------------------------------------------------------------------------------...

2018-07-18 23:56:16 220

原创 调试经验——Toad两年使用体验小结

使用Toad已有两年多了,今天做个简单总结。平时怎么使用Toad的?1. 如果要刷新常规报表,则选择多个脚本文件,一次打开,然后按照报表操作说明,依次执行各个脚本文件。2. 每次执行完一个脚本文件后,将查询结果导出到Excel Instance中,导出完成后,直接CTRL+A全选,然后CTRL+C复制到工作文件中。3. 完成SQL的更新(包括调试)4. 完成各种数据分析(数据质...

2018-07-18 23:54:46 3805

原创 书生闲谈——当人生格子的一半变灰的时候(When half of life-grid turned gray)

记得之前发过一篇关于“人生格子”的文章,为什么还要再发一篇呢?原因是,最近,我的人生格子有一半变成了灰色。问问自己,过去这近40年的时间,都干了些什么?惭愧啊,惭愧!唯有后半生继续努力了。不为别的,只为当人生格子变成全灰之时,自己不要发出“悔之晚矣”的感慨就行。注:何为人生格子?若将人生设定位75年寿命,每年12月,共又75*12=900个月,从出生的第一个月到最后一个月,可以填入...

2018-07-18 23:46:15 337

原创 调试经验——通过SQL脚本分析从数据集中排除部分数据

需求:已交付的报表,客户提出了更新要求:将一个已出售的业务部门(HC)的数据排除掉。解决方法:1. 查看当前数据集的来源(SQL脚本)2. 在SQL脚本中查看源数据表中是否包含“业务部门”这一字段,很遗憾,没有3. 继续追查上一级源数据表(也就是数据集的祖父级数据表),很遗憾,也没有4. 继续追查上上一级源数据表(也就是数据集的曾祖父级数据表),不错,该数据表中有一个源数据...

2018-07-18 18:17:05 1260

原创 调试经验——Toad中的文件比较功能初体验(First touch of Toad Compare Files functionality)

需求:上个月好不容易修改好的script,到了这个月抓不出数据来了。为了排查问题,第一次使用Toad的Compare Files功能,感觉还挺好用!  ------------------------------------------------------------------------------------------------------------------...

2018-07-18 10:05:35 360

原创 调试经验——报表工作心得

需求描述在日常工作中,我们提交给用户的成果物(artificat/deliverable)在满足业务需求的前提下越简单越好。我们没有必要将中间的一些数据、公式、代码(SQL/VBA)、Excel名称(range name)等提供给用户。但是,这些对于我们快速、有效地完成数据刷新却是至关重要的。原因有:1. 有些Excel公式比较复杂,开发、测试、更新过程中耗费了很多精力,如果能不断重用...

2018-07-18 09:26:36 671 1

原创 调试经验——Windows环境变量的设置 (Setup of Environment Variable)

环境变量的设置用过N次了,可是过一段时间又会忘记。今天写篇文章记录一下:目的:在命令行窗口中任意路径下访问可某个可执行程序要点:在Path中设置可执行程序所在的路径以Maven为例,1. 先建一个Maven_Home的变量,2. 然后在Path中添加“%Maven_Home%\bin\”的条目3. 打开命令行窗口,输入mvn -v进行测试 ...

2018-07-18 01:46:31 1288

原创 调试经验——API基础

继续学习VBA!'1 API的基本概念 'API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数, '目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码, '或理解内部工作机制的细节? '兰色注:API函数本身并没有什么好神秘的,它本身就是函数,只不过是在用之前需要声明...

2018-07-17 23:48:24 472

原创 他山之石——用户自定义类型

继续学习VBA!Public Declare PtrSafe Function SHFileOperation Lib "shell32.dll" _(lpFileOp As SHFILEOPSTRUCT) As LongPublic Const FO_DELETE = &H3 '删除文件Public Const FOF_SILENT = &H4 '不显示进度对话框P...

2018-07-17 23:43:45 364

原创 调试经验——校验位的设置

在Excel操作中,时常要插入一些校验位辅助判断。以前,习惯于用1(True)表示校验通过,0(False)表示校验不通过。最近,采用了临床检查的概念,用0表示阴性(Negative),1表示阳性(Positive),所以,1表示校验不通过。所以,开始喜欢0胜过1了(笑...)。这样约定的好处是便于理解,可在今后继续推广。...

2018-07-17 23:41:59 1206

原创 调试经验——VBA获取屏幕分辨率

看这些参数,给人一种老掉牙的感觉,在此列出,仅备一时之需。Public Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As LongPublic Const SM_CXSCREEN = 0Public Const SM_CYSCREEN = 1Sub 取分辨率() Dim x...

2018-07-17 23:34:09 4183

原创 调试经验——Excel 64位VBA报错必须更新项目中的代码的解决办法

问题:在Excel 2016中看别人在Excel 2003下写的VBA代码,报错:必须更新项目中的代码。解决方法:在函数声明中添加“PtrSafe”。

2018-07-17 23:20:09 6532

原创 他山之石——封装函数与COM加载宏

继续学习VBA!'如果想用com加载宏的形式替代在excel的写EXCEL对象事件,可以在VB里编写好事件程序,封装到dll里,然后注册dll'和函数封装不同,com加载宏需要在VB里添加"外接程序” 'AddinInstance_OnConnection相当于excel里的open事件,随时程序的打开而自动加载 'AddinInstance_OnDisconnection事件相当...

2018-07-17 22:50:31 1028

原创 他山之石——VBA代码封装

继续学习VBA!话说CSDN又改版了啊,这世界天天在变化啊! '1 什么是DLL文件 'DLL是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,' 'DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的 '可执行代码位于一个 DLL 中,该 DLL 包含一个或多...

2018-07-17 22:22:08 9524 1

原创 调试经验——使用Toad Quest Script Runner (QSR)工具批量执行SQL语句 (run SQL statements in batch with Toad QSR )

问题:有一个报表,增删改查操作很多(上百条statement,上千行代码)。之前,据说有人是按条执行的,执行完一条CREATE TABLE语句后,还时不时来一句select count(*)查一下数据进表了没有。可以想象,这种工作模式下,出一份报表是很不容易的。难怪之前一份报表分给好几个人做,你做一部分数据整合,我做一部分数据准备,再交给第三个人集成。这样的效率肯定是不高的。解决方法:...

2018-07-17 18:05:39 1434

原创 调试经验——数据库数据质量对报表的影响 (Impact of data quality to reporting quality)

问题及分析:用户在询问为什么前端页面上数据是正确的,但报表上显示为空白。经过一番艰苦的数据排查(反复推测原因、反复验证),最终发现是数据表中的数据质量问题。表现在两个方面:1. 有些view中包含的数据不全 (可通过改用all_v的新view来避免)2. 数据表中数据本身为空,原因未知(猜测是前端应用在版本管理上出现了问题,导致最大的action ID对应的字段值为空,报表中抓出来...

2018-07-17 13:57:20 274

原创 调试经验——ORA-01427(单行查询返回多行结果,single-row subquery returns more than one row)的解决办法

问题:手动向数据库插入一条之前被遗漏的数据时,不小心插入了一条重复数据。导致在随后更新数据库时,出现了ORA-01427(单行查询返回多行结果)错误。解决方法:查询出完整结果集,导出到Excel,使用格式化条件标记出重复数据。然后,在数据中删除该重复数据,问题解决。...

2018-07-17 11:17:00 12238

原创 调试经验——Spotfire复杂报表的维护:排除部分数据

问题:客户要求Spotfire分析页面中不再考虑某些数据,但数据集中仍然要保留,以便用户查看。经验教训:这个要求看似简单,但是操作起来不容易。需要新增很多计算列,修改所有view,添加data limiting,花费了数小时。真是吃一堑,长一智,下次的需求评估要更小心一点了。...

2018-07-13 21:35:20 584 2

原创 调试经验——Excel透视表修改数据源后格式错乱的解决办法

 问题: 有一个Excel报表的透视表使用的固定行数的数据源(另一个worksheet),为了实现自动刷新数据,需要将透视表的数据源定义为仅指定列而不指定行(如,“$A:$S”)的方式。然后就遇到问题了:原来的透视表格式发生错乱了。    解决方法: 格式错乱给人的感觉是透视表已经刷新了,所以很多时间浪费在了对比filter上了,却劳而无获。经过一番对比...

2018-07-13 21:27:45 7819

原创 学以致用——CSDN博客统计分析——日均访问量 (Daily page views of CSDN blog)

引子:自2008年4月在CSDN写下第一篇博客以来,时光荏苒,至今已十载有余。中间蹉跎岁月无数,空留悔恨而无可弥补。两年前重启博客之旅,奈何已是奔四之人。希望一切都还不是太晚,道路虽然曲折,但自己选择的道路,含着泪也要走完,更要努力把它走好。到目前为止,七七八八写了近800篇博客,虽然有很多是学习Java、Oracle、Mysql、Python、VBA、高数时的笔记,但也不乏自己的心血之作(动脑筋...

2018-07-12 23:53:15 1003

原创 学以致用——使用VBA向手动维护的数据表中自动添加时间戳(Add timestamp with VBA)

需求:为了分析CSDN博客的统计数据,需要手动录入4条数据:篇数、访问总量、积分、排名。其余的各列:数据录入时间、星期、访问增量、日均访问增量、日篇均访问增量、排名提升位数、日均排名提升位数、篇数增加量、日均篇数增加量、积分增加量、日均积分增加量均可以通过固定的公式,基于上述4条数据计算而得。目前,需要手动完成以下动作:1. 手动添加当前日期 (通常只填写年月日,而忽略了时分秒,严格而言,并不是时...

2018-07-12 23:15:51 991

原创 高等数学Mathematica实验题——3.2 - 2-函数极限的计算-Part3

趁热打铁,再来求两道极限题。Mathematica就相当于我的高数辅导员,帮我检查作业,真不错!

2018-07-11 23:51:01 772 1

原创 高等数学Mathematica实验题——3.2 - 2-函数极限的计算-Part2

基础题做不出来,心有不甘啊。然后试着跳过不会做的题继续做其他题,发现并不是完全不会。或许,在我的只是结构中,尚欠缺一些知识点,希望能在以后的日子里补上。年纪不小了,挺有压力感的!...

2018-07-11 23:36:17 456

原创 高等数学Mathematica实验题——3.2 - 2-极限的计算-Part1

一个多月没有复习高等数学了,感觉又要半途而废了。下面这两个极限计算题都属于基础题,但是草稿纸上演算了半天,计算出来的结果和Mathematica上的不一样(显然,是我自己算错了)。哎,不应该这样的。“我还会回来的”! ...

2018-07-11 23:18:08 1375

原创 调试经验——Spotfire中使用计算列完成较复杂功能的必要性(Meeting complex requirement by inserting calculated column in SF)

需求:从数据库中提取出来的数据,往往是比较“原始”的数据。用户通常要求一些统计指标能在国家、中心、试验等不同维度下进行比较,称为数据的归一化(data normalization)。虽然可在Spotfire视图中使用表达式,但是总会遇到一些莫名其妙的报错。没办法,咱还是老老实实用插入计算列的方法来解决吧。解决方法:1. 一些百分比类的指标,可插入3个计算列:分子、分母及比值(分子/分母)。这样做的...

2018-07-11 16:52:37 929

原创 调试经验——Spotfire中标记包含了特定字符串的记录(Tagging rows containing a specific string)

需求:在现有的报表中,用户新发现有一部分数据需要被“排除”掉,即,在生成统计分析视图时忽略这些数据。但同时,用户希望保留这些数据的查询。解决方法:增加一个计算列,用于标记这个不需要的列。具体的表达式为:If((Find("ENG-",Upper([QUESTION]))>=1) OR (Find("ENG)",Upper([QUESTION]))>=1) OR (Find("ENG "...

2018-07-11 16:34:56 650

原创 调试经验——Excel中设置动态查询区域(Specify dynamic lookup range in Excel)

问题描述:目前,手动设置查询区域时,一般基于已有数据进行设置,即,查询区域的行列都是固定的。这种写死(hard-coding)的方法有两个问题:1. 有新数据时,需要手动修改查询区域 2. 如果忘记修改,则查询结果有遗漏。如果将查询区定义为全表(即,使用类似$A2:$S1048576或$A:$S这种方式),则可能导致工作表响应变慢。解决方法:设置动态查询区域的步骤:1. 设置名称:=OFFSET(...

2018-07-09 18:24:22 1373

空空如也

空空如也

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

TA关注的人

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