一万条数据排重的排课问题 模型

查看: 2166|回复: 21
大量数据的分拣和重新排列
阅读权限20
在线时间 小时
& && & 数据表中是原数据,现在想要的以订货号和工位重新排版数据,具体格式如结果表,行是工位,列是订货号,符合两者条件的在黄色区域列出件号、名称、单台和单台数量和。现在的问题是数据量特别大,数据大约有60多万条,工位大约100个,订货号大约1000个,我之前用筛选—复制—粘贴做了一个,运行时间特别长。请问各位大神有没有好的实现方法……(本想试试数组,水平实在有限,憋了好一会失败了……)
(356.37 KB, 下载次数: 65)
14:40 上传
点击文件名下载附件
阅读权限20
在线时间 小时
用数据透视表吧
(437.26 KB, 下载次数: 30)
15:03 上传
点击文件名下载附件
阅读权限95
在线时间 小时
2003总共就256列
订货号为DHP10N0398*01
不重复工位是93个,每个工位需产生4列,93*4=372列,远远超过2003的列数了,你这个有可能实现吗?
阅读权限20
在线时间 小时
escargots 发表于
用数据透视表吧
这样格式上不达标。。。。之所以重新排版就是想把订货号竖着放,工位横着放,然后不同订货号之间好对比,这样竖着放跟之前其实本质上是一样的 就是不好对比 不过也谢谢啦&&看上去好复杂的数据透视。。。。。。。
阅读权限20
在线时间 小时
本帖最后由 小小咧 于
15:17 编辑
魂断蓝桥 发表于
2003总共就256列
订货号为DHP10N0398*01
我用的是07& &因为上传大小要求&&另存为03了&&绝大部分数据都删掉了&&其实就是应为数据量太大&&我用的筛选-复制-粘贴&&得运行将近10万次,每次都是一两秒&&根本伤不起啊。。。。。。。。。
阅读权限20
在线时间 小时
你这个要用到VBA啊 先按订货号排序一遍 然后逐条往结果表里拷数据
阅读权限20
在线时间 小时
60W条数据用函数应该很慢吧 看看老师们有什么好的解决方法吧
阅读权限20
在线时间 小时
supersoil 发表于
你这个要用到VBA啊 先按订货号排序一遍 然后逐条往结果表里拷数据
就是用VBA啊&&不过录制还好&&自己编数组根本不精通&&各种错误& &
阅读权限20
在线时间 小时
escargots 发表于
60W条数据用函数应该很慢吧 看看老师们有什么好的解决方法吧
恩&&哪怕两三个小时也可以接受&&我那个实现太慢了&&
阅读权限20
在线时间 小时
请给位大大帮忙啊& &&&求勿沉(我发现说句话就能置顶&&哈哈)
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师1726人阅读
android 应用开发(12)
本地数据库数据超过10000要求按首字母排序,且一次性加载到界面中,该如何处理,类似与系统的通讯录,一次性加载回来。
& & 排序的实现有两种方式
& & 对象排序
这种方式根据实现对应的Comparable的compareTo接口实现,然后根据Collection.sort方法进行排序,这种方式在数据量比较少的情况下是可以实现的,但如果数据量过大这种方式会非常慢。
数据库排序
&根据数据库的order by 来实现排序,速度非常
& 2)UI 显示
& & & &这块非常重要,数据库查询其实非常快,10000条数据大概在400ms左右,远不会超过1s,但是查询到结果后怎么添加到界面上,因为数据量大,基数大,期间任何的转换都是性能的消耗。这里怎么做列表的设计?
当然列表显示控件还是ListView,但adpater不能使用BaseAdapter,必须使用CursorAdapter,好处在于我们查询数据的返回结果是一个cursor我们不需要做任何的转换直接填充到界面上了。
& & &有些同学喜欢在查询到数据后轮训cursor将其转换成map类型的list或者对象list再填充到界面,这里的轮训就会花费特别多的时间。
& & &这里简单介绍了本地数据过多的情况下如何查询显示,当然数据量小的情况下可以不用做这种类似的处理。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:192053次
积分:2543
积分:2543
排名:第12029名
原创:66篇
评论:60条
(2)(1)(5)(3)(1)(1)(11)(1)(3)(1)(1)(2)(6)(8)(6)(6)(4)(7)(1)(2)iOS-数据排重的几种方法 - 简书
iOS-数据排重的几种方法
今天面试被问到, 大量数据有部分重复, 如何排重? 除了For循环, 还有什么更优的方法? 因此做个总结
1. 利用NSDictionary的AllKeys(AllValues)方法
NSArray *dataArray = @[@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",];
NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithCapacity:0];
for(NSString *str in dataArray)
[dic setValue:str forKey:str];
NSLog(@"%@",[dic allKeys]);
2. 利用NSSet的AllObjects方法
NSArray *dataArray = @[@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",];
NSSet *set = [NSSet setWithArray:dataArray];
NSLog(@"%@",[set allObjects]);
3.利用数组的containsObject来去除
NSArray *dataArray = @[@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",];
NSMutableArray *listAry = [[NSMutableArray alloc]init];
for (NSString *str in dataArray) {
if (![listAry containsObject:str]) {
[listAry addObject:str];
NSLog(@"%@",listAry);
4. 利用keyValue的方式
NSArray *dataArray = @[@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",
@"",@"",@"",];
dataArray = [dataArray valueForKeyPath:@"@distinctUnionOfObjects.self"];
NSLog(@"%@",dataArray);

我要回帖

更多关于 排5历史数据 的文章

 

随机推荐