0

JavaのGoogleアナリティクスApi v4のカスタムディメンションにセグメントディメンションフィルタを使用しようとしています。テンプレートとして、私は次のサンプルを使用しています:GoogleアナリティクスAPI v4のカスタムディメンションのセグメントディメンションフィルタ

https://developers.google.com/analytics/devguides/reporting/core/v4/samples

をこれは、すべての寸法で正常に動作しますが、できるだけ早く私は、私たちのカスタムディメンションの一つのフィルタをフィルタ処理しようとする動作を停止するようです。ディメンションがフィルタ条件を満たすかどうかは関係ありません。応答にはすべての値が含まれます。

しかし、奇妙な部分は、私はカスタムディメンションに存在しないフィルタ条件で値を設定すると、私は応答を取得しません。だからその瞬間にフィルターが機能するようです。

ありがとうございました。

// Create the DateRange object. 
    DateRange dateRange = new DateRange(); 
    dateRange.setStartDate("yesterday"); 
    dateRange.setEndDate("yesterday"); 

    Metric User = new Metric().setExpression("ga:users").setAlias("User"); 


    Dimension prev_page_path = new Dimension().setName("ga:previousPagePath"); 
    Dimension err = new Dimension().setName("ga:dimension14"); 
    Dimension ShopName = new Dimension().setName("ga:dimension1"); 

    // Create the segment dimension. 
    Dimension segmentDimensions = new Dimension().setName("ga:segment"); 


    // Create Dimension Filter. 
    SegmentDimensionFilter dimensionFilter = new SegmentDimensionFilter() 
     .setDimensionName("ga:dimension14") 
     .setOperator("EXACT") 
     .setExpressions(Arrays.asList("404")); 


    // Create Segment Filter Clause. 
    SegmentFilterClause segmentFilterClause = new SegmentFilterClause() 
     .setDimensionFilter(dimensionFilter); 

    // Create the Or Filters for Segment. 
    OrFiltersForSegment orFiltersForSegment = new OrFiltersForSegment() 
     .setSegmentFilterClauses(Arrays.asList(segmentFilterClause)); 

    // Create the Simple Segment. 
    SimpleSegment simpleSegment = new SimpleSegment() 
     .setOrFiltersForSegment(Arrays.asList(orFiltersForSegment)); 

    // Create the Segment Filters. 
    SegmentFilter segmentFilter = new SegmentFilter() 
     .setSimpleSegment(simpleSegment); 

    // Create the Segment Definition. 
    SegmentDefinition segmentDefinition = new SegmentDefinition() 
     .setSegmentFilters(Arrays.asList(segmentFilter)); 

    // Create the Dynamic Segment. 
    DynamicSegment dynamicSegment = new DynamicSegment() 
     .setSessionSegment(segmentDefinition) 
     .setName("404"); 

    // Create the Segments object. 
    Segment segment = new Segment() 
     .setDynamicSegment(dynamicSegment); 


    // Create the ReportRequest object. 
    ReportRequest request = new ReportRequest() 
     .setViewId(VIEW_ID) 
     .setDateRanges(Arrays.asList(dateRange)) 
     .setDimensions(Arrays.asList(prev_page_path, ShopName, err, segmentDimensions)) 
     .setSegments(Arrays.asList(segment)) 
     .setMetrics(Arrays.asList(User)); 

    // Create the GetReportsRequest object. 
    GetReportsRequest getReport = new GetReportsRequest() 
     .setReportRequests(Arrays.asList(request)); 

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

Anwserは、次のようになります...

ga:previousPagePath: ######### 
ga:dimension1: ######### 
ga:dimension14: 404 
ga:segment: 404 
Date Range (0): User: 1 

ga:previousPagePath: ######### 
ga:dimension1: ######### 
ga:dimension14: productlist 
ga:segment: 404 
Date Range (0): User: 1 

答えて

0

を同じ状況にあるすべての人のために、まだ問題がある場合は、私は回避策が見つかりました:

DimensionFilterClause DFC = new DimensionFilterClause().setFilters(Arrays.asList(
      new DimensionFilter() 
      .setDimensionName("ga:dimension14") 
      .setOperator("EXACT") 
      .setExpressions(Arrays.asList("404")))); 

    // Create the ReportRequest object. 
    ReportRequest request = new ReportRequest() 
     .setViewId(VIEW_ID) 
     .setDateRanges(Arrays.asList(dateRange)) 
     .setDimensionFilterClauses(Arrays.asList(DFC)) 
     .setDimensions(Arrays.asList(prev_page_path, ShopName, Seitentyp)) 
     .setMetrics(Arrays.asList(User)); 
関連する問題