Google analytics 谷歌分析报告-更广泛的数据范围过滤出结果

Google analytics 谷歌分析报告-更广泛的数据范围过滤出结果,google-analytics,google-api,google-analytics-api,sampling,Google Analytics,Google Api,Google Analytics Api,Sampling,我试图通过使用其他自定义维度值过滤器来获取存储在自定义维度中的GA客户机id。 问题是,我不知道为什么当我将start date=2019-01-01更改为start date=2016-01-01或start date=2006-01-01时,我得到的start date=2019-01-01结果消失了。为什么会这样?我想搜索所有的用户。 是否有其他方法仅基于维度查找用户,我不需要任何度量 https://ga-dev-tools.appspot.com/query-explorer/?sta

我试图通过使用其他自定义维度值过滤器来获取存储在自定义维度中的GA客户机id。 问题是,我不知道为什么当我将
start date=2019-01-01
更改为
start date=2016-01-01
start date=2006-01-01
时,我得到的
start date=2019-01-01
结果消失了。为什么会这样?我想搜索所有的用户。 是否有其他方法仅基于维度查找用户,我不需要任何度量

https://ga-dev-tools.appspot.com/query-explorer/?start-date=2019-01-01&end-date=2019-01-28&metrics=ga%3Ausers&dimensions=ga%3Adimension16%2Cga%3Adimension65&filters=ga%3Adimension16%3D%3DUMM8SBTCS0U7HIZL&include-empty-rows=true
爪哇:

DateRange DateRange=new DateRange();
日期范围。设置开始日期(“2018-01-01”);
日期范围。设置结束日期(“2019-01-28”);
最终尺寸euciDimension=新尺寸().setName(“ga:dimension65”);
最终尺寸gaDimension=新尺寸().setName(“ga:dimension16”);
ReportRequest=newreportrequest()
.setViewId(视图ID)
.setDimensions(数组.asList(欧几维、伽维))
.setDateRanges(数组.asList(日期范围))
.setMetrics(Arrays.asList(sessionMetrics)).setPageSize(1000).setIncludeEmptyRows(true)
.setSamplingLevel(“大”)
.setFiltersExpression(“ga:dimension16==XYZ”);
ArrayList请求=新建ArrayList();
请求。添加(请求);
//创建GetReportsRequest对象。
GetReportsRequest getReport=新建GetReportsRequest()
.setReportRequests(请求);
//调用batchGet方法。
GetReportsResponse response=service.reports().batchGet(getReport.execute();

采样

在数据分析中,抽样是指分析所有数据的子集,以便在较大的数据集中发现有意义的信息。例如,如果要估计100英亩区域内树木分布相当均匀的树木数量,可以计算1英亩内的树木数量并乘以100,或者计算半英亩内的树木并乘以200,以获得整个100英亩的准确表示

没有办法在谷歌分析api或网站中禁用数据采样。解决这个问题的唯一办法是使用较小的日期范围。过去12年的抽样可能总是导致抽样,除非你在不到一年前就开始了你的网站

您可以检查响应以查看是否对数据进行了采样,然后减少数据数量,直到停止显示采样数据

注意大查询:如果您有权访问大查询帐户,则可以将数据导出到该帐户,因为它会删除采样

缺少数据


如果您昨天才开始发送自定义维度,则上周的数据不包含此自定义维度的任何值,因此不会返回数据。无法对当时不存在的数据进行分析。

您所说的结果消失是什么意思?您的预期输出应该是什么?您能举个例子吗?您是否在2006年随请求发送了自定义维度?@diskesh I搜索特定用户。有一个“维度16”可以识别他。例如,当开始日期为2018-10-01时,我可以找到一条记录,但当我将其更改为更早的日期时,查询不会返回任何结果。@DaImTo你是说13年前吗?不我不明白。我怎样才能完全禁用采样?我不认为大的查询可以追溯到12年前,只有13个月。此外,如果他有权访问bigQuery,他应该有权导出未采样的报告。我只添加了bigQuery作为旁注,因为上次我忘了提到它时,有人评论说我说你无法绕过采样是错误的。我赢不了:)
    DateRange dateRange = new DateRange();
    dateRange.setStartDate("2018-01-01");
    dateRange.setEndDate("2019-01-28");

    final Dimension euciDimension = new Dimension().setName("ga:dimension65");
    final Dimension gaDimension = new Dimension().setName("ga:dimension16");

     ReportRequest request = new ReportRequest()
            .setViewId(VIEW_ID)

            .setDimensions(Arrays.asList(euciDimension,gaDimension))
            .setDateRanges(Arrays.asList(dateRange))
            .setMetrics(Arrays.asList(sessionsMetrics)).setPageSize(1000).setIncludeEmptyRows(true)
            .setSamplingLevel("LARGE")
           .setFiltersExpression("ga:dimension16==XYZ");

    ArrayList<ReportRequest> requests = new ArrayList<ReportRequest>();
    requests.add(request);

    // Create the GetReportsRequest object.
    GetReportsRequest getReport = new GetReportsRequest()
            .setReportRequests(requests);

    // Call the batchGet method.
    GetReportsResponse response = service.reports().batchGet(getReport).execute();