以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]条件取值代码(已解决)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=14375)

--  作者:yyzlxc
--  发布时间:2011/11/17 13:46:00
--  [求助]条件取值代码(已解决)
各位老师:一字符列,用6位表示一组年月,取前四位相同的最大值赋予变量a,求其代码。谢谢!!
[此贴子已经被作者于2011-11-17 15:05:14编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/11/17 13:49:00
--  

不明白你的意思。

 


--  作者:mr725
--  发布时间:2011/11/17 13:54:00
--  
先取六位的最大值,再取这个最大值的前四位。 可以吗。
--  作者:yyzlxc
--  发布时间:2011/11/17 13:57:00
--  

谢谢狐爸老师的回复!

目的是取指定年份的年月最大值,再提取月份数,转换为数字参与运算,用于计算当年的月平均值。

通过按钮代码生成交叉统计表。

[此贴子已经被作者于2011-11-17 14:30:05编辑过]

--  作者:czy
--  发布时间:2011/11/17 13:59:00
--  

如果是年月的组合,直接排序就能得到正确结果。

这样可能也能得到正确结果:

 

DataTables("表A").Compute("Max(第一列)")


--  作者:yyzlxc
--  发布时间:2011/11/17 14:02:00
--  
谢谢mr725老师的回复。前四位表示年份,是取同一年份的最大月份。
[此贴子已经被作者于2011-11-17 14:03:12编辑过]

--  作者:yyzlxc
--  发布时间:2011/11/17 14:13:00
--  
谢谢czy老师的回复,代码可以取最大值,但是不能提取指定年份的最大值。
--  作者:狐狸爸爸
--  发布时间:2011/11/17 14:41:00
--  

DataTables("表A").Compute("Max(第一列)","Substring(第一列,1,4) = \'2344\'")


--  作者:czy
--  发布时间:2011/11/17 14:42:00
--  
以下是引用yyzlxc在2011-11-17 14:13:00的发言:
谢谢czy老师的回复,代码可以取最大值,但是不能提取指定年份的最大值。

 

将你的文件发上来看看。


--  作者:czy
--  发布时间:2011/11/17 14:46:00
--  

这样我想肯定能取到最大年份和最大月份

 

Dim Cs As List(Of String) = DataTables("表A").GetUniqueValues("", "第一列")
Dim MaxVal As Integer
For i As Integer = 1 To Cs.Count -1
    If Cs(i) > MaxVal Then
        MaxVal = Cs(i)       
    End If
Next
Output.Show(MaxVal)