Javascript AWQL(AdWords查询语言)查找多范围查询(排序)

Javascript AWQL(AdWords查询语言)查找多范围查询(排序),javascript,mysql,reporting,dynamic-queries,Javascript,Mysql,Reporting,Dynamic Queries,好吧,这可能是一个“你到底在问什么”的问题,所以请容忍我一点。通常,我是.NET和SQL开发人员。我正在与AWQL合作,试图获得一个adwords脚本来制作定制的报告。 短版本,我需要从不同的日期范围中提取,我在弄清楚他们的“编译器”是如何处理它的,或者如果可能的话。简而言之,我需要将两个月的数据分别汇编成一份报告。现在我在想语法错误,但不确定。 用极客的术语来说,最终目标是“在哪里(这个月的印象>上个月的印象)和(上个月的印象>上个月的印象)。理论上,所有的输出都是相同的(不在乎它是日志还是直

好吧,这可能是一个“你到底在问什么”的问题,所以请容忍我一点。通常,我是.NET和SQL开发人员。我正在与AWQL合作,试图获得一个adwords脚本来制作定制的报告。 短版本,我需要从不同的日期范围中提取,我在弄清楚他们的“编译器”是如何处理它的,或者如果可能的话。简而言之,我需要将两个月的数据分别汇编成一份报告。现在我在想语法错误,但不确定。 用极客的术语来说,最终目标是“在哪里(这个月的印象>上个月的印象)和(上个月的印象>上个月的印象)。理论上,所有的输出都是相同的(不在乎它是日志还是直接到谷歌文档。我有代码把它放到电子表格中并通过电子邮件给我链接),但目前正在努力获取数据。我所说的努力是指几天的失败lol

“选择关键字文本、转换值、Id、质量分数”+
“来自关键字\u性能\u报告”+
“哪里”+
“Id=”+kw+
“和活动id=“+id+
“和AdGroupId=“+gName+
“和印象”+

“(2015010120150131期间)>印象(2014120141231期间)”;
这段代码应该会有帮助。根据您的目的替换所有变量

var daterange1 ="Specify daterange here";
var dateRange2 ="Specify daterange here"; 
    function main(){      
      var sheet = getSheet();
      var AccountIterator = MccApp.accounts().forDateRange(dateRange).withIds(ACCOUNTS).get();
      while(AccountIterator.hasNext()){
        var Account = AccountIterator.next();


        MccApp.select(Account);
            getAccountDetails(sheet);
            getAccountDetails2(sheet)

          }

    }



       function getAccountDetails(sheet){
          var query = "SELECT  Device, CampaignName, ConversionValue, Cost, Conversions " +" FROM CAMPAIGN_PERFORMANCE_REPORT " +"WHERE Impressions > 0 " +" DURING "+dateRange;
          Logger.log(query);
          var report = AdWordsApp.report(query);
          report.exportToSheet(sheet);
        }

    function getAccountDetails2(sheet){
          var query = "SELECT  Device, CampaignName, ConversionValue, Cost, Conversions " +" FROM CAMPAIGN_PERFORMANCE_REPORT " +"WHERE Impressions > 0 " +" DURING "+dateRange;
          Logger.log(query);
          var report = AdWordsApp.report(query);
          report.exportToSheet(sheet);
        }

        function getSheet(){
          var spreadsheet = SpreadsheetApp.openByUrl(url);
          var sheet=spreadsheet.setActiveSheet(spreadsheet.getSheets()[0]);

      return sheet;
    }

我不是在优化它,因为这将是一个很好的练习,由您自己完成。但这将解决您的问题。

谢谢。我一直在想我必须运行多个查询。希望它不会超过允许的运行时间。好的,显然是“输入”“这不是新线,哈哈。不管怎样,我很感激。我想,在这个版本的AdWords脚本编辑器中,仅仅一个大的查询是不太可能的,但希望它正在进行中。非常好的骨架代码!这正是我需要概述一个好方法的地方。再次感谢我的朋友!我试图提高你的回答,但我猜新手在这里做不到。试过了!