Dev*_*ate 2 math vbscript trend
我正在编写一个VBScript,每周发送一封包含客户活动的电子邮件.以下是一些示例数据:
a b c d e f g
2,780 2,667 2,785 1,031 646 2,340 2,410
Run Code Online (Sandbox Code Playgroud)
由于这是电子邮件,我不想要带有趋势线的图表.我只需要一个简单的函数,返回"向上","向下"或"稳定"(虽然我怀疑它将永远是完全稳定的).
我对数学很糟糕,所以我甚至不知道从哪里开始.我已经查看了Python或Excel的一些其他问题,但是没有足够的相似性,或者我没有足够的知识将其应用于VBS.
我的目标就是这样简单:
a b c d e f g trend
2,780 2,667 2,785 1,031 646 2,340 2,410 ?
Run Code Online (Sandbox Code Playgroud)
如果有一些增量或百分比或其他测量值,我可以显示这将有所帮助.我也可能想忽略异常值.例如,上面的646.我们的一些客户周末不开放.
首先,您的数据列为
a b c d e f g
2,780 2,667 2,785 1,031 646 2,340 2,410
Run Code Online (Sandbox Code Playgroud)
要获得趋势线,您需要为变量分配数值 a, b, c, ...
要为其分配数值,您需要了解更多信息如何获取数据.假设您
a在1月1日获取数据,您可以为其分配任何值,如0或1.然后,你把数据b十天后,那么你可以指定值10或11给它.然后你在c三十天后获取数据,然后你可以分配值30或31它.数值a, b, c, ...必须与获取数据的时间间隔成比例,以获得更准确的趋势线值.
如果他们被定期服用(这很可能是你的情况),让我们说每7天一次,那么你可以定期分配它.a, b, c, ... ~ 1, 2, 3, ...开始点完全是你的选择选择让它变得非常容易的东西.在你的最终计算中并不重要.
然后,您需要计算线性回归的斜率,您可以在此网址上找到该斜率,您需要b使用下表计算该值.

从第2行至8行第一列,我有我的价值a,b,c,...,我把1,2,3, ...
在第二列,我有我的数据.
在第三列,我将第一列中的每个单元格乘以第二列中的相应单元格.
在第四列,我平方第一列的单元格的值.
在第10行,我添加了上面列的值.
最后使用第10行的值.
total_number_of_data*C[10] - A[10]*B[10]
b = -------------------------------------------
total_number_of_data*D[10]-square_of(A[10])
Run Code Online (Sandbox Code Playgroud)b确定你要找的东西的标志.如果它是正的,那么它就会上升,如果它是负的,那么它就会下降,如果它是零则那么稳定.