使用SQL查询获取ID的R向量错误

时间:2018-10-29 06:25:56

标签: sql r sql-server

我从这里开始使用RADWords实现-https://jburkhardt.github.io/RAdwords/

很遗憾,它没有提供获取AdWords MCC中每个帐户摘要的方法。因此,我创建了一个脚本,以将accountIds列表推送到Google Big Query,然后将其下拉到我的SQL Server中使用。

可以按照此处建议的方法遍历帐户。 https://github.com/jburkhardt/RAdwords/issues/6

我想通过sql使用我的帐户列表来获取此信息,但出现以下错误,并且在创建矢量时我需要使用“粘贴”功能来分隔我的值...

“ EXECUTE语句失败,因为其WITH RESULT SETS子句为结果集编号1指定了13列,但是该语句在运行时发送了1列。”

任何建议将不胜感激。

亲切问候 约翰·布鲁姆菲尔德

R vector create error radwords

1 个答案:

答案 0 :(得分:0)

在Johannes Burkhardt的帮助下,我能够使循环脚本在R中运行。代码如下所示。如果有人感兴趣的话,我还可以从SQL Server中所有Adwords客户端的列表中动态获取此信息。

library(RAdwords)
google_auth <- doAuth()
body <- statement(select=c('AccountDescriptiveName','ExternalCustomerId','CustomerDescriptiveName','AccountCurrencyCode','CampaignName','CampaignId','CampaignStatus','CampaignGroupId','AdNetworkType1','Cost,'AverageCpc','Ctr','AveragePosition','Impressions','Clicks','CostPerConversion','ConversionRate','Date','Device')
report="CAMPAIGN_PERFORMANCE_REPORT",where="CampaignStatus = 'ENABLED'",start="2018-10-01",end="2018-10-30")
#vector of account IDs - NB: I populated this from a variable in SQL 
accounts <- c("xxx-xxx-xxxx","xxx-xxx-xxxx","xxx-xxx-xxxx","xxx-xxx-xxxx","xxx-xxx-xxxx")
#loop over accounts and rbind data to dataframe
loopData <- function(){
  for(i in 1:length(accounts)){
    if (i == 1){
      xy <- getData(clientCustomerId=accounts[i],statement=body,google_auth = google_auth,transformation=TRUE,changeNames=TRUE)
    }
    else {
      xz <- getData(clientCustomerId=accounts[i],statement=body,google_auth = google_auth,transformation=TRUE,changeNames=TRUE)
      xy <- rbind(xy,xz)
    }
  }
  return(xy)
}
data <- loopData()
OutputDataSet <- as.data.frame(data)
OutputDataSet