以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]求变动成本和固定成本  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104053)

--  作者:lgj716330
--  发布时间:2017/7/21 21:02:00
--  [求助]求变动成本和固定成本
可以象EXCEL一样求得固定成本和变动成本吗
--  作者:lgj716330
--  发布时间:2017/7/21 21:03:00
--  
如图

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170721210005.png
图片点击可在新窗口打开查看

不知通过何种手段可以实现这个


--  作者:有点蓝
--  发布时间:2017/7/21 21:23:00
--  
知道算法(公式)就可以自己写代码处理。
--  作者:lgj716330
--  发布时间:2017/7/21 21:29:00
--  
上面这两个公式在狐表里也能用吗

SLOPE(known_y\'s,known_x\'s)
INTERCEPT(known_y\'s,known_x\'s)

[此贴子已经被作者于2017/7/21 21:43:49编辑过]

--  作者:有点蓝
--  发布时间:2017/7/21 21:51:00
--  
不能
--  作者:lgj716330
--  发布时间:2017/7/21 22:14:00
--  
嗯,找到参照的了,自己先研究下先
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=70541

--  作者:lgj716330
--  发布时间:2017/7/24 13:55:00
--  
Dim ls As List(Of String) = DataTables("表A").GetValues("销量", Tables("表A").filter)
Dim ls1 As List(Of String) = DataTables("表A").GetValues("费用", Tables("表A").filter)
Dim x() As Double
Dim y() As Double
x = ls.ToArray()
y = ls1.ToArray()
Dim avg1 As Double
Dim avg2 As Double
For i As Integer = 0 To x.length - 1
    avg1 += x(i) / x.length
    avg2 += y(i) / y.length
Next
Dim sum1 As Double
Dim sum2 As Double
For i As Integer = 0 To x.length - 1
    sum1 += (x(i)-avg1)*(y(i)-avg2)
    sum2 += (x(i)-avg1)*(x(i)-avg1)
Next
msgbox(sum1 / sum2)

上述代码有问题,如何改呢

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170724135428.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2017/7/24 14:07:00
--  

Dim x As List(Of String) = DataTables("表A").GetValues("销量", Tables("表A").filter)
Dim y As List(Of String) = DataTables("表A").GetValues("费用", Tables("表A").filter)

Dim avg1 As Double
Dim avg2 As Double
For i As Integer = 0 To x.count - 1
    avg1 += x(i) / x.count
    avg2 += y(i) / y.count
Next
Dim sum1 As Double
Dim sum2 As Double
For i As Integer = 0 To x.count - 1
    sum1 += (x(i)-avg1)*(y(i)-avg2)
    sum2 += (x(i)-avg1)*(x(i)-avg1)
Next
msgbox(sum1 / sum2)


--  作者:lgj716330
--  发布时间:2017/7/24 14:12:00
--  
错误提示
从字符串“”到类型“Double”的转换无效。

--  作者:有点甜
--  发布时间:2017/7/24 14:43:00
--  

Dim x As List(Of String) = DataTables("表A").GetValues("销量", Tables("表A").filter)
Dim y As List(Of String) = DataTables("表A").GetValues("费用", Tables("表A").filter)

Dim avg1 As Double
Dim avg2 As Double
For i As Integer = 0 To x.count - 1
    avg1 += val(x(i)) / x.count
    avg2 += val(y(i)) / y.count
Next
Dim sum1 As Double
Dim sum2 As Double
For i As Integer = 0 To x.count - 1
    sum1 += (val(x(i))-avg1)*(val(y(i))-avg2)
    sum2 += (val(x(i))-avg1)*(val(x(i))-avg1)
Next
msgbox(sum1 / sum2)