- 博客(29)
- 收藏
- 关注
原创 Spotfire手动选择表刷新并保存刷新记录
文本框添加“列表框(多个选择)”,新建列表属性(string list):tablenames,绑定列中的唯一值,选择表TableNames的列Tab_name。点击该按钮将会获取当前模型中所有表名称(TableNames除外)并存储于表TableNames中。需提前新建文本属性“refstate”,用于存储刷新纪录。
2024-03-22 17:29:33 317
原创 Spotfire实现读写本地文件
Spotfire主要是一个分析工具,但有时我们有需求对数据进行操作后,再将数据写回原文件,实现对数据的更新假设有一个本地文件(存放在Spotfire服务器可访问的共享盘即可实现网页访问),数据内容如下表,数据主键为ID列,将通过Spotfire对此文件进行读写(增删改查)存储选中的待删除的行,此类型属性无法提前新建,在后续操作过程建立。脚本用于将string list的值转化为stringrefresh脚本:用于每次操作后自动读取文件最新内容,原理为每次函数操作后,会将当前时间输出到属性lasttime,l
2024-03-17 14:35:48 1044
原创 SQL提取大表的部分数据所在周/月的全部数据并根据周/月汇总,所遇到的性能问题解决
从一个大表(TEST_TAB,大于1亿行)中根据特定条件筛选出一部分数据,在筛选这部分数据所在的月/周的数据,再根据月/周进行汇总,筛选数据的字段和日期字段(天)均有索引。这种方式可以解决按月汇总的问题,但由于周无法直接从日期字段中截取,因此无法解决按周汇总的问题。测试3:参考测试1结果,使用临时表(使用materialize hint)固话后再按周汇总。但这个SQL实际执行很慢,需要10min左右,查看了执行计划,A和B均走了相应索引。测试1:如果不进行按月汇总,SQL只需1s就执行出来了。
2023-10-18 17:11:25 266
原创 如何一键合并文件夹中(含子文件夹)所有PPT
工作中经常会有多人共同更新一个文档的情况,例如部门日报,可能部门几十个人都要去同一份文档更新,由于PPT不能设置多人同时编辑,难免会遇到冲突的情况,这时需要排队等待,如果有人忘记关闭,那后面的人更是无法更新。解决办法是,每个项目更新在一个单独的PPT文档(可以分布在不同的子文件夹中),最后再编写一个小程序一键合并这些文档到一个总的文档。),将exe文件放到需要合并的文件夹中,如下。打包成exe文件后(打包方法参考。
2023-08-22 17:24:39 345
原创 Python画圆、圆弧、扇形、以及拟合平滑曲线
Python的画图模块matplotlib没有直接画圆弧的方法,需要通过圆心和半径将圆弧上的点的坐标构造出来,然后再用plot方法即可画出圆弧。
2023-08-19 15:38:22 3302
原创 Spotfire实现对数据库的增删改查
Spotfire主要是一个数据处理和分析工具,其本身不具备修改数据源的功能,可通过二次开发实现简单的数据修改功能,本文主要讲如何实现对数据库表的增删改查。主要包含查询数据、筛选数据、更新数据、删除数据、增加数据五大模块,如下图所示。
2023-08-07 20:00:37 1246
原创 Spotfire如何实现自定义图(如等值线图)
Spotfire提供了丰富的常用图表,如树形图、交叉表、条形图、饼图、散点图等,但还是有部分图表默认没有提供,如等值线图,或自定义组合图,如箱线图+点线图。不过Spotfire提供了自定义画图接口,可通过自定义函数(Python、R等)实现自定义画图,自定义画图的灵活大很大,可根据需求自由实现
2023-08-03 19:40:13 1470 2
原创 Spotfire根据输入多行数据按需加载
但输入以后,文本输入框里显示的数据会截断,只显示前5000行左右的数据,因此如果要编辑输入数据的话,不能在文本输入框里直接修改(少于5000行可以直接修改),需将原始数据在其他地方编辑好重新粘贴过来。Spotfire中还有一种文档属性是“列表属性”,将输入的字段值存储到“列表属性”中,使用“列表属性”来按需加载即可实现需求。如果直接使用“输入字段(多行)”所对应的文档属性来按需加载,会发现系统会把这个属性的值当成一个值来处理,没有将其视为多行数据再按需加载。),再根据转换成的表按需加载即可。
2023-07-05 17:14:51 340
原创 Spotfire实现打开看板时自动刷新一次,后续手动刷新
1. 新建一个属性timenow,存储打开看板的时间,在timenow上增加执行脚本,脚本内容与上述刷新按钮相同(IronPython脚本:table.Refresh(),table为输入参数,选择对应数据表),效果是当timenow的值发生变化时,自动执行该脚本;但有时我们需要打开此看板时,系统自动根据默认规则刷新一次,后续选择按需条件时,不自动更新,需要点击刷新按钮才刷新,例如上面例子中默认规则为加载近7日的数据。例如上图中,切换文本区域中的日期类型或日期,日历表不会自动刷新,需要点击刷新才会刷新。
2023-07-04 17:08:16 390
原创 解决Spotfire筛选行有时不自动更新的问题
但当min和max的值改变时,新表不会自动发生变化,甚至增加一个刷新按钮(IronPython脚本:table.Refresh(),table为输入参数,选择对应数据表),结果仍然不变。1. 原表中添加计算列,将min和max值的变化映射到表中,例如可以将筛选行条件直接计算得到valid列,再用这一列的值进行筛选(也可以不用,维持原来的筛选行条件,效果不变),可实现。,但本案例中,min和max值发生变化时,原表数据并没有发生变化,因此新表也不会自动更新。
2023-07-04 14:54:17 163
原创 Spotfire通过SQL自动(增量)加载数据
Spotfire加载数据方式一般为全量加载,即使数据无更新或者只更新一小部分,这种方式在数据量大时会导致加载过慢,影响性能,也会大量占用服务期资源,影响系统运行。那能否实现增量加载数据呢?即每次只加载更新的部分数据。
2023-07-04 10:24:59 329
原创 Spotfire将输入数据生成表
if Firstascolname == '是':else:代码中属性Input、Split、Firstascolname分别对应输入区域的文本输入框、“生成方式”、“拆分字符”、“将首行作为表头”所对应的文档属性,需要手动添加函数输入参数。自定义函数输出表默认为替换方式,要实现累加方式,需在输出参数选择“行”,并取消勾选“替换更新的行”自定义函数不建议删除表,因为删除后重新生成的表无法自动展示,需要手动添加,当Input输入内容为空时,生成空表代替,如下图。
2023-06-28 17:50:23 421 1
原创 Python实现拆分列至多行(一行代码)
需求是将每个id的value值展开至多行,刚开始我尝试硬写代码来实现拆分,结果发现代码很麻烦,而且数据量大是性能很差,其实可以使用dataframe自带的explode()函数来拆分,只需一行代码即可实现,且性能很好,实测约提升了10倍。
2023-06-27 20:23:26 661
原创 Excel、Oracle、Spotfire、Python求逐行累加的方法
如果有每人每天的金额数据,要得到每人累计金额一列,如下表所示,该如何实现呢?
2023-06-27 16:36:52 557
原创 如何自动备份数据库重要信息(python实现)
程序测试OK后,要实现自动化,还需要一些配置:2. Windows系统中配置自动任务(最好找个服务器配置,否则个人电脑关闭后就不能运行了),路径如下:控制面板→系统和安全→管理工具→计划任务点击右侧创建基本任务,选择1中打包好的exe文件,设置好运行频率即可。
2023-06-18 11:00:39 301
原创 SQL如何实现左单一匹配(两种方法)
SQL的表连接中,如果主表中同一条数据对应被连接表有多条数据,则连接后数据会被扩大,但有时候我们希望数据不要被扩大,与主表中数据条数保持一致,即实现左单一匹配连接。假设我们有学生信息表TEST_TAB_STUDENTS和学生成绩表TEST_TAB_SCORE,如下:NAMESTU_NUMBERCLASSGRADE张三23578三班五年级李四23632二班五年级王五23448一班六年级赵六32251三班四年级NAMECHINESEMATHSENGLISH。
2023-06-15 20:11:24 2133
原创 Python如何将多维列表(维度不限)转化为一维列表
最近数据处理时遇到一个需求,需要将一个多维列表降为一维列表,原列表维度不限,转化后的元素顺序不变,
2023-06-15 11:40:46 535
原创 Python搭建一套会议待办事项自动提醒程序
在日程工作中,会议经常会有待办事项需要完成,通常需要安排专人每天关注完成情况并催促相关人员完成,如果会议较多,则会耗费很多时间和精力来完成。基于此需求,本文开发了一套自动提醒相关人员完成待办事项的程序,可多人同时使用,只需owner自己去配置相关参数即可实现。
2023-06-14 20:42:41 1169
原创 Python自定义模块:转换生成HTML表格
由于自动提醒邮件中需要发送表格,并且需要根据提醒事项到截止日期的剩余天数自动调整颜色,每次直接写起来比较麻烦,因此自定义了一个模块heml_self来实现此功能,需要用到的时候导入此模块即可。
2023-06-14 17:27:23 1151
原创 Oracle从0到1搭建一套ETL (不借助ETL工具),实现自动抽取数据功能
有时候我们在没有ETL工具的情况下,想实现简单的数据同步(ETL)功能,本文利用Oracle本身的功能(存储过程、函数、job等,不需要任何额外工具),从0到1搭建了一套ETL,可实现数据全量&增量同步、日志记录、自动调度等功能。
2023-06-07 15:15:48 711 1
原创 Python实现自动合并文档(制作生成小程序)
有时我们需要从大量文档中根据一些关键词查找内容,一个一个文档打开查找很费时间,可以把它们合并生成一个文件,查找就方便多了。
2023-05-31 15:51:36 323 1
Spotfire对数据库的增删改查.dxp
2023-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人