2017-03-03 254 views
0

我有一个节能智能空调机组数据集。每个人都有一个ID,每个单位每天都有数据表示每天节省的成本(以美元计)。每日数据的月平均值

我想创建一个条形图,显示平均储蓄,每月,每单位。不过,我真的很挣扎。 AVG([Elecsavingscost])只能让我获得特定月份的平均每日节省额。 SUM([Elecsavingscost])* 30让我非常接近我想要的,但当然,并非所有月份都有30天。

有没有更聪明的方法来做到这一点?我假设它有可能...

+0

如果您有sum([ElectSavingsCost])并在一个月级别使用时间维度会发生什么?这应该做你想做的事情,因为sum()函数可以在你的行和/或列中设置的任何粒度级别上工作。 –

+0

你能分享一个样本数据集吗? –

+1

了解Tableau的LOD计算 –

回答

0

它可以很容易地使用R软件完成。以下是将每日数据转换为月度数据的代码

install.packages(c("zoo","hydroTSM") 
library(zoo) 
library(hydroTSM) 

data=read.csv("data.csv") 
data #data should contain 2 or more columns; 1st column should be date in 
#English (U.K.) format, 2nd and subsequent columns should be your daily data 

date Elecsavingscost 
01-01-1984 18.8 
02-01-1984 20.2 
03-01-1984 19 
04-01-1984 19.6 
05-01-1984 21.8 
06-01-1984 21.5 
. 
. 
. 
25-12-2014 13.6 
26-12-2014 13.6 
27-12-2014 16.2 
28-12-2014 18.2 
29-12-2014 16.7 
30-12-2014 19.4 
31-12-2014 18.5 

x1 <- zooreg(data$Elecsavingscost, start = as.Date("1984-01-01")) 

## Daily to monthly conversion 
Elecsavingscost_monthly<- daily2monthly(x1, FUN=sum, na.rm=TRUE) 
write.csv(Elecsavingscost_monthly,"Elecsavingscost_monthly.csv") 
相关问题