全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1903 6
2014-05-22
现有两个表,一个表是节目单简称A表,变量是频道ID、频道名称、节目名称,节目播出日期,节目播出开始时间,节目播出结束时间。A表一个月的节目单有近10万条数据,如频道ID   频道名称    节目名称                                             节目播出日期 节目播出开始时间         节目播出结束时间

22201011重庆卫视车世界2014-03-0101MAR2014:11:40:0401MAR2014:12:00:02
22201011重庆卫视TICO欢乐假日:阿U乐园:U爸的午餐2014-03-0101MAR2014:13:58:3101MAR2014:14:02:59
22201011重庆卫视TICO欢乐假日:猪猪侠变身小英雄(48)2014-03-0101MAR2014:16:18:0701MAR2014:16:36:30
21101011浙江卫视大丈夫(2)2014-03-0101MAR2014:13:22:2601MAR2014:14:17:07
21101011浙江卫视浙江新闻联播2014-03-0101MAR2014:18:30:0301MAR2014:18:52:58
21101011浙江卫视大丈夫(36)2014-03-0101MAR2014:20:23:1001MAR2014:21:13:14
22501011云南卫视云南新闻联播2014-03-0101MAR2014:18:30:0301MAR2014:18:55:03
22702041西安文化影视武林外传(68)2014-03-0101MAR2014:07:51:4801MAR2014:08:52:17
B表(1个月30天数据有1亿4千万条)是收看直播的表 变量为 频道ID  频道名称 收看日期  收看频道开始时间 收看频道结束时间 如下

频道ID         频道名称     收看日期       收看频道开始时间        收看频道结束时间
40901221东方购物2014-03-0101MAR2014:09:29:2101MAR2014:09:29:45
22101011旅游卫视2014-03-0101MAR2014:17:05:2401MAR2014:17:05:33
22201011重庆卫视2014-03-0101MAR2014:21:06:5601MAR2014:21:07:03
20001071CCTV-72014-03-0101MAR2014:23:49:5101MAR2014:23:50:13
20001141CCTV-少儿2014-03-0101MAR2014:19:28:1901MAR2014:19:28:35
20001141CCTV-少儿2014-03-0101MAR2014:15:32:0301MAR2014:17:56:58
20001081CCTV-82014-03-0101MAR2014:20:47:3301MAR2014:20:47:44
20001041CCTV-42014-03-0101MAR2014:07:26:2101MAR2014:07:51:26
现 想计算各节目的 收视时长,如节目单A表是3月1号播出的节目 在B表3月1号的 收视时长 如一个节目是否被收看有四种可能,单个节目可以算出来,但是如何批量计算,两个表的连接是多对多,HASH? 请各大侠,大牛指教,小弟膜拜

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-5-22 17:14:59
补充,A表节目单下有好多个频道,每个频道下面有好多节目,B表只有频道没有节目
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-22 23:48:21
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-23 13:38:08
proc sql 因为数据量比较大,运行速度非常缓慢,有没有SAS 语言的解决方案
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-23 21:31:36
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-26 11:08:03
要确认几个信息:

1.B表应为流水表,需求的目的是将A表信息匹配到B表,匹配前后B表记录数应该不变。
2.A表的应该是由"频道id(等价于频道名称)"、"节目名称"、"播出日期"3个字段来保证唯一性的,如果出现一天同一频道播出同一节目2次的情况,
则还要加上"节目播出时间"来保证唯一性。
3.逻辑上A、B表应该用"频道id"、"收看日期/播出日期"进行关联,但由于B表没有节目信息,因此关联的结果会产生冗余(A表关于"频道id"、"播出日期"不唯一)。
4.要解决3.的问题必须加上一个逻辑,即:节目播出开始时间<=节目收看开始时间<=节目收看结束时间<=节目播出结束时间。

还要请搂住确认下以上是否成立,如成立我可以用hash方式来处理下。


刚才想了下,判断一个节目是否收看应该是[节目播出开始时间,节目播出结束时间]与[节目收看开始时间,节目收看结束时间]之间存在交集。。。搂主是不是这样。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群