Win7定时运行Python脚本更新数据在Tableau可视化监
【案例情境】
(1) Python抓数脚本将数据抓取存储在本地Excel;
(2) Windows任务计划每5分钟运行Python的抓数脚本
(电脑配置不好的时候不太建议这么频繁)
;
(3) Tableau连接本地Excel,将数据可视化。
(1) Python脚本已经写好。
(代码略。从接口获取过去24小时的产品质量数据的。)
脚本spc.py和输出文件db.xlsx均放在:D:\Python Workspace\spc\
目录下。
(2) Windows运行定时任务
打开Control Panel > System and Security > Schedule Tasks
在任务调度窗口中点击Create Task
在General面板,输入任务的名称和描述
在Trigger面板,点击New,新建一个触发,我们要实现的是每5分钟一次,所以作如下设置:
- Begin the tasks: "On a schedule"
- Settinges:"Daily"
- Repeat task every:"5 minutes"
在Actions面板,点击New,新建一个Action,将Python脚本和所在目录提供在这里:
在这些面板中,还可以设置权限、执行条件(如电源充足、联特定网络才执行等等),用户可以根据情况自己尝试。
以上配置完成后点击OK,那么就可以执行啦,Task Scheduler窗口点击刚才新建的任务 > 在History Tab就可以看到执行的情况,确实是每5min执行一次无疑。
我的程序有Print输出,所以执行的时候弹出了这个:
3.Tableau连接数据做SPC质量控制图
打开tableau10.4,数据连接里面添加db.xlsx,数据存储在sheet1里面,只有两列,如下所示:
measure是我所关注的属性,我想在Tableau中画出一个动态的质量控制图,观察观测点的异常和走势。
Step1. 新建质量控制图需要的字段
为了达到这一目的,新建了以下字段:
-
running_avg: 从第一行到当前行的样本的平均值
-
running_avg+3stdev: 从第一行到当前行的样本的 μ+3σ
-
running_avg-3stdev: 从第一行到当前行的样本的 μ-3σ
-
window_avg: 从此刻往前一个时间窗的样本的平均值
-
window_avg+3stdev: 从此刻往前一个时间窗的样本的μ+3σ
-
window_avg-3stdev: 从此刻往前一个时间窗的样本的μ-3σ
Step2. 拉拉拽拽做质量控制图
将 度量 中的 index
拉到 列, measure
拉到 行,右键index
设定为维度,右键measure
设定为属性;
然后将上一步所创建的维度逐一拖拽到的Y轴附近(如下图红色斜线所示的区域),这样多条折线就可以在一张图中同时显示。
image.png
这样控制图就做好了,在度量名称窗口中点击颜色正方形,可以自定义曲线的颜色。
我在db.xlsx中故意输入了两个异常点,对比了下running和window两种方法的区别吧,感觉running方法到后面数据量大了之后更迟钝不受干扰,window方法则对异常点比较敏感,可以结合起来看。
全文完,赶紧在自己电脑上试下吧。