Foxtable(狐表)用户栏目专家坐堂 → 有点麻烦的计算问题


  共有1466人关注过本帖树形打印复制链接

主题:有点麻烦的计算问题

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
有点麻烦的计算问题  发帖心情 Post By:2017/11/7 12:37:00 [只看该作者]

老师,我这个表要算断码率,公式是:
断码率 = 有销售的尺码没有库存的尺码个数/有销售的尺码个数
举例:
下图中,
门店 大沥一,
没有库存的尺码个数为1个(28码库存=0)/ 有销售的尺码个数为7个(除了34码的没有销售)= 1/7
门店 大沥二,
没有库存的尺码个数为2个(33 、36库存=0,虽然28也没有库存,但是也没有销售,所以不算断码)/ 有销售的尺码个数为4个(尺码31 、32 、33 、36)= 2/4

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20171107123833.png
图片点击可在新窗口打开查看



[此贴子已经被作者于2017/11/7 12:38:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/7 13:07:00 [只看该作者]

比如

 

(iif(库存_28=0 and 销售_28<>0, 1, 0) + iif(库存_29=0 and 销售_29<>0, 1, 0)) / (iif(销售_28>0, 1, 0) + iif(销售_29>0, 1, 0))

[此贴子已经被作者于2017/11/7 13:07:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2017/11/7 15:45:00 [只看该作者]

谢谢甜老师!
是这样,
列名字是 
销售数量_1,销售数量_2...
库存数量_1,库存数量_2...
我们看到的是列标题:
销售数量_28
库存数量_28
销售数量_1 和库存数量_1 有时候并不是都是指同一个码。所以只能通过列标题去对应


我之前是这样写:
Dim xsgs As Integer = 0    '有销售的尺码个数
Dim kcgs As Integer = 0    '有销售没有库存的尺码个数
Dim cap2 As String
Dim cap3 As String
For Each r2 As Row In Forms("AA").Controls("table2").Table.Rows
    For Each c2 As Col In Forms("AA").Controls("table2").Table.Cols
        If c2.Caption.Contains("销售数量_") And c2.Caption.Contains("店仓名称") = False Then
            If r2(c2.name) > 0  Then
                xsgs = xsgs + 1
                cap2 = c2.Caption.Replace("销售数量_","")                
            End If
        End If
    Next
Next

上面是算出了有销售的个数了,但不知道怎么算有销售的尺码中,几个是没有库存的

For Each c3 As Col In Forms("AA").Controls("table2").Table.Cols
    If c3.Caption.Contains("可用库存_") And c3.Caption.Contains("店仓名称") = False Then
        If r3(c3.name) = 0  Then
            kcgs = kcgs + 1
            cap3 = c3.Caption.Replace("可用库存_","")
        End If
    End If
Next
[此贴子已经被作者于2017/11/7 15:47:50编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/7 16:33:00 [只看该作者]

Dim dic_xl As new Dictionary(Of String, String)
Dim dic_kc As new Dictionary(Of String ,String)
For Each c2 As Col In Forms("AA").Controls("table2").Table.Cols
    If c2.Caption.Contains("销售数量_") And c2.Caption.Contains("店仓名称") = False Then
        Dim v  = c2.Caption.Replace("销售数量_","")
        dic_xl.add(v, c2.name)
    End If
    If c2.Caption.Contains("可用库存_") And c2.Caption.Contains("店仓名称") = False Then
        Dim v  = c2.Caption.Replace("可用库存_","")
        dic_kc.add(v, c2.name)
    End If
Next

For Each r2 As Row In Forms("AA").Controls("table2").Table.Rows
    Dim count1 As Integer = 0
    Dim count2 As Integer = 0
    For Each key As String In dic_xl.Keys
        If r2(dic_xl(key)) > 0 Then '
            count1 += 1
            If r2(dic_kc(key)) = 0 Then
                count2 += 1
            End If
        End If
    Next
    If count1 > 0 Then
        r2("断码率") = count2 / count1
    else
        r2("断码率") = nothing
    end if
   
Next


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2017/11/7 17:55:00 [只看该作者]

厉害了,无所不能的甜老师!!!

 回到顶部