由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 问一个数据处理的问题,该如何实现单列转多行?14楼有图更新
相关主题
大家练练手吧,挺有意思的一道题问一个数据分析的问题
工作中的SAS 编程请教请教两个关于SAS的问题
Sas code help- infileQuick Question
请教请问如何删除这样的丢失数据。help:data manipulation
麻烦问一下,如何处理很多变量的数据。sas date variable exchange
SAS questionSAS 编程问题 (有包子)
sas code求助,有关date macroSAS 问题
Help on SAS: how to reconstruct records怎么把sas date变成monyyyy形式?
相关话题的讨论汇总
话题: 2012话题: excel话题: date话题: 投放话题: column
进入Statistics版参与讨论
1 (共1页)
x******o
发帖数: 165
1
我们是个广告公司,sales组的人每天在一个excel表格中输入每个广告的start date,
end date,以及我们需要投放的总数量,每日投放数量(总数量/起止间隔天数),想
请教一下大家用什么方法可以实现?Excel VBA? SQL? 还是别的?
复杂点在于列数很少,但转成行的话得每一天+网站为一行,列数和行数不相等,行数
远大于列数。向各位数据统计大牛求教!
原始数据为:
广告投放网站,开始时间, 结束时间,总投放数量, 每日投放数量
abc.com, 4/1/2012, 4/30/2012, 30000, 1000
esbn.com, 3/1/2012, 3/15/2012, 10000, 666.67
answer.com, 7/1/2012, 8/1/2012, 50000, 1612.9
...
现在要把每一列中起止日期之间的所有日期全转化为行,比如abc.com 那一列,
开始时间和结束时间间隔30天,那么这一列就转化为30行,转化后的数据结构为如下:
日期,广告投放网站,每日投放数量
3/1/2012, esbn.com, 666.67
3/2/2012, esbn.com, 666.67
3/3/2012, esbn.com, 666.67
.
.
.
3/15/2012, esbn.com, 666.67
4/1/2012, abc.com, 1000
4/2/2012, abc.com, 1000
.
.
.
4/30/2012, abc.come, 1000
7/1/2012, answer.com, 1612.9
7/2/2012, answer.com, 1612.9
.
.
.
8/1/2012, answer.com, 1612.9
x******o
发帖数: 165
2
自己顶一下,求大牛莅临指导!

,

【在 x******o 的大作中提到】
: 我们是个广告公司,sales组的人每天在一个excel表格中输入每个广告的start date,
: end date,以及我们需要投放的总数量,每日投放数量(总数量/起止间隔天数),想
: 请教一下大家用什么方法可以实现?Excel VBA? SQL? 还是别的?
: 复杂点在于列数很少,但转成行的话得每一天+网站为一行,列数和行数不相等,行数
: 远大于列数。向各位数据统计大牛求教!
: 原始数据为:
: 广告投放网站,开始时间, 结束时间,总投放数量, 每日投放数量
: abc.com, 4/1/2012, 4/30/2012, 30000, 1000
: esbn.com, 3/1/2012, 3/15/2012, 10000, 666.67
: answer.com, 7/1/2012, 8/1/2012, 50000, 1612.9

j******o
发帖数: 127
3
SAS
x******o
发帖数: 165
4
SAS真可以做吗?该如何做?给点提示?

【在 j******o 的大作中提到】
: SAS
b*****n
发帖数: 685
5
这么simple,R和MATLAB都能搞定
x******o
发帖数: 165
6
牛人给一点提示?我有学过R

【在 b*****n 的大作中提到】
: 这么simple,R和MATLAB都能搞定
h******e
发帖数: 1791
7
excel-paste special- transparent 行吗?

,

【在 x******o 的大作中提到】
: 我们是个广告公司,sales组的人每天在一个excel表格中输入每个广告的start date,
: end date,以及我们需要投放的总数量,每日投放数量(总数量/起止间隔天数),想
: 请教一下大家用什么方法可以实现?Excel VBA? SQL? 还是别的?
: 复杂点在于列数很少,但转成行的话得每一天+网站为一行,列数和行数不相等,行数
: 远大于列数。向各位数据统计大牛求教!
: 原始数据为:
: 广告投放网站,开始时间, 结束时间,总投放数量, 每日投放数量
: abc.com, 4/1/2012, 4/30/2012, 30000, 1000
: esbn.com, 3/1/2012, 3/15/2012, 10000, 666.67
: answer.com, 7/1/2012, 8/1/2012, 50000, 1612.9

g****8
发帖数: 2828
8
这个excel自己就能做。用paste transpose。
你要是内容太多,写个vba也行,不过我觉得用鼠标点几下就行了,或者自己做个excel
的macro。
x******o
发帖数: 165
9
谢谢答复。我主要是这个Excel表得自动更新,每天都有很多新的entry进来,我不能自
己用鼠标一个个去转。
另外我这个excel表连着Tableau dashboard, Tableau每天会去这个Excel表里扫一遍,
有新的数据进来就更新dashboard. 但前提是我必须让这个Excel的表格转化成我要的格
式。
是不是只能用VBA做?普通excel函数有没有可以用的?
我想过去的转化是这样的:
Sales们每天在sheet1里输入每个广告的start date, end date, volume,
在sheet2里的A column,A1-A150 cell里我先放上2012下半年剩下的所有日期2012/07/
16-2012/12/31,
sheet 2的B column可以用某个excel函数来把sales输入的那个sheet1中 (start date:
end date) 这个时间段的日期自动填充到sheet2的 B column。然后再产生相对应的C
column(每日投放量 volume).   
sheet 3 就是用sumif函数把sheet 2里被每日被填充的date, volume累加
不知道有没有相关例子的链接可以学习一下? 谢谢大家!

excel

【在 g****8 的大作中提到】
: 这个excel自己就能做。用paste transpose。
: 你要是内容太多,写个vba也行,不过我觉得用鼠标点几下就行了,或者自己做个excel
: 的macro。

s******1
发帖数: 39
10
试试EXCEL PIVOT-TABLE?用STATA的话RESHAPE命令也可以搞定了。
相关主题
SAS question问一个数据分析的问题
sas code求助,有关date macro请教两个关于SAS的问题
Help on SAS: how to reconstruct recordsQuick Question
进入Statistics版参与讨论
r*****e
发帖数: 264
11
R:
new.matrix <- t(old.matrix)
x******o
发帖数: 165
12
我这个不是简单的行与列的转置,因为列只有起止时间,但转成行必须有两个起止时间
之间所有的日期都列出来。

【在 r*****e 的大作中提到】
: R:
: new.matrix <- t(old.matrix)

g*********r
发帖数: 2847
13
VBA can do it easily.
general Excel functions can do it, too
x******o
发帖数: 165
14
哇,givemeoffer大师现身啦~
这个不用VBA真可以做吗?
我贴了个图,基本转化就是A2:E2内容要转成G2:I13的内容,因为起止时间(start date
-end date)共有12天,所以转化后会有12行。这个转化应该在G2:I13中如何写公式呢?
如果在A:E中不断加入entry, 怎样才能在G:I的列中使用公式,让它能够自动添加相应
的行内容呢?
谢谢!

【在 g*********r 的大作中提到】
: VBA can do it easily.
: general Excel functions can do it, too

g*********r
发帖数: 2847
15
to make the formula less complicated, we need an additional column, say, in
Cell f2, type "=C2-B2+1" and in Cell f3, type "=C3-B3+1+F2" and copy & paste
to the cells below.
then starting from Cell H3, type "=IF(ROW(H3)-ROW($H$2)+1<=OFFSET($A$2,MATCH
(H2,$A$2:$A$4)-1,5),H2,OFFSET($A$2,MATCH(H2,$A$2:$A$4),0))" and copy & paste
to the cells below. I used a smaple with 3 sites. you can adjust the
formula accordingly. Column I is a simple "offse"t function while column G
is a simple "if" function
g****8
发帖数: 2828
16
膜拜大师。

in
paste
MATCH
paste

【在 g*********r 的大作中提到】
: to make the formula less complicated, we need an additional column, say, in
: Cell f2, type "=C2-B2+1" and in Cell f3, type "=C3-B3+1+F2" and copy & paste
: to the cells below.
: then starting from Cell H3, type "=IF(ROW(H3)-ROW($H$2)+1<=OFFSET($A$2,MATCH
: (H2,$A$2:$A$4)-1,5),H2,OFFSET($A$2,MATCH(H2,$A$2:$A$4),0))" and copy & paste
: to the cells below. I used a smaple with 3 sites. you can adjust the
: formula accordingly. Column I is a simple "offse"t function while column G
: is a simple "if" function

l*******0
发帖数: 12
17
Can easily be done with any programming.
Here are SAS Codes.
DATA ad (DROP = StartDate EndDate i TotalAmt);
INFILE DATALINES DLM = ",";
INPUT WEB : $20. StartDate : mmddyy10. EndDate : mmddyy10. TotalAmt
DailyAmt;
DO i = 0 TO (EndDate - StartDate);
DATE = StartDate + i;
OUTPUT;
END;
DATALINES;
abc.com, 4/1/2012, 4/30/2012, 30000, 1000
esbn.com, 3/1/2012, 3/15/2012, 10000, 666.67
answer.com, 7/1/2012, 8/1/2012, 50000, 1612.9
;
RUN;
PROC SORT DATA =ad OUT = ad_sorted;
BY DATE;
RUN;
PROC PRINT DATA = ad_sorted;
FORMAT DATE mmddyy10.;
VAR DATE WEB DailyAmt;
RUN;
g****8
发帖数: 2828
18
问题是,楼主去哪里弄sas呀,公司的活,可不是随便就能用免费的。

【在 l*******0 的大作中提到】
: Can easily be done with any programming.
: Here are SAS Codes.
: DATA ad (DROP = StartDate EndDate i TotalAmt);
: INFILE DATALINES DLM = ",";
: INPUT WEB : $20. StartDate : mmddyy10. EndDate : mmddyy10. TotalAmt
: DailyAmt;
: DO i = 0 TO (EndDate - StartDate);
: DATE = StartDate + i;
: OUTPUT;
: END;

t*****0
发帖数: 30
19
用VBA最好
l*******0
发帖数: 12
20
Don't have to use SAS. Can use any programming language. My point is a loop
does the trick.

【在 g****8 的大作中提到】
: 问题是,楼主去哪里弄sas呀,公司的活,可不是随便就能用免费的。
1 (共1页)
进入Statistics版参与讨论
相关主题
怎么把sas date变成monyyyy形式?麻烦问一下,如何处理很多变量的数据。
请问base(123题)的第114题SAS question
character变date variable helpsas code求助,有关date macro
问SAS code怎么写Help on SAS: how to reconstruct records
大家练练手吧,挺有意思的一道题问一个数据分析的问题
工作中的SAS 编程请教请教两个关于SAS的问题
Sas code help- infileQuick Question
请教请问如何删除这样的丢失数据。help:data manipulation
相关话题的讨论汇总
话题: 2012话题: excel话题: date话题: 投放话题: column