以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于日期筛选取值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132745)

--  作者:suyan2468
--  发布时间:2019/3/28 20:25:00
--  [求助]关于日期筛选取值

 遇到个问题,一个月有多次清点记录,但是在统计分析的时候,只每个月只选择一次做为分析的对象,例如

  清点日期    
产品
 
 
数量
  
   
2019/2/1
   香蕉    12
   
2019/2/15
   香蕉    10
   
2019/3/2
   香蕉    15
   
2019/3/24
   香蕉    30

想求每个月最后一次盘点与上个月最后一次盘点的变化率,得出的结果,请问这个筛选条件怎么写?

 

日期 产品 数量 环比
2019/2/15 香蕉 10
2019/3/24 香蕉 30 200.00%

 


--  作者:有点甜
--  发布时间:2019/3/28 22:05:00
--  

1、先筛选重复,如

 

Dim idx As String = "-1,"
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
Dim cs As String = "日期"
For Each dr As DataRow In DataTables("表A").Select("", cs & " desc")
   
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        If format(pdr("日期"), "yyyyMM") <> format(dr("日期"), "yyyyMM") Then
            flag = True
        End If
    End If
    If flag OrElse pdr Is Nothing Then
        If count > 1 Then
            idx &= idx_temp
        End If
        count = 1
        idx_temp = ""
    Else
        count += 1
        idx_temp &= dr("_Identify") & ","
    End If
   
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

Tables("表A").filter = "_Identify not in (" & idx.trim(",") & ")"  \'显示唯一值


2、得到的数据,你再进行分组统计,即可。

 


--  作者:suyan2468
--  发布时间:2019/3/29 18:10:00
--  
我会去试试,谢谢