REST Resource: properties.reportTasks

資源:ReportTask

特定報表工作設定。

JSON 表示法
{
  "name": string,
  "reportDefinition": {
    object (ReportDefinition)
  },
  "reportMetadata": {
    object (ReportMetadata)
  }
}
欄位
name

string

僅供輸出。ID。建立報表任務時指派的資源名稱。格式:「properties/{property}/reportTasks/{reportTask}」

reportDefinition

object (ReportDefinition)

選用設定。用來擷取報表資料的報表定義,可說明報表的結構。通常會包含報表中包含的欄位,以及用來篩選資料的條件。

reportMetadata

object (ReportMetadata)

僅供輸出。特定報表工作任務的報表中繼資料,可提供報表相關資訊。通常包含下列資訊:報表的資源名稱、報表狀態、報表建立時間戳記等。

ReportDefinition

定義報表的執行方式。

JSON 表示法
{
  "dimensions": [
    {
      object (Dimension)
    }
  ],
  "metrics": [
    {
      object (Metric)
    }
  ],
  "dateRanges": [
    {
      object (DateRange)
    }
  ],
  "dimensionFilter": {
    object (FilterExpression)
  },
  "metricFilter": {
    object (FilterExpression)
  },
  "offset": string,
  "limit": string,
  "metricAggregations": [
    enum (MetricAggregation)
  ],
  "orderBys": [
    {
      object (OrderBy)
    }
  ],
  "currencyCode": string,
  "cohortSpec": {
    object (CohortSpec)
  },
  "keepEmptyRows": boolean,
  "samplingLevel": enum (SamplingLevel)
}
欄位
dimensions[]

object (Dimension)

選用設定。要求及顯示的維度。

metrics[]

object (Metric)

選用設定。要求及顯示的指標。

dateRanges[]

object (DateRange)

選用設定。要讀取的資料日期範圍。如果要求多個日期範圍,每個回應資料列都會包含以零為基底的日期範圍索引。如果兩個日期範圍重疊,重疊天數的事件資料會納入兩個日期範圍的回應列。在同類群組要求中,此 dateRanges 必須未指定。

dimensionFilter

object (FilterExpression)

選用設定。使用維度篩選器,即可只在報表中要求特定維度值。如需進一步瞭解相關範例,請參閱「維度篩選器的基本概念」。這個篩選條件無法使用指標。

metricFilter

object (FilterExpression)

選用設定。指標的篩選器子句。在匯總報表資料列後套用,類似於 SQL 的 having 子句。這個篩選器無法使用維度。

offset

string (int64 format)

選用設定。Google Analytics 儲存空間中起始列的資料列數。第一列會計為第 0 列。

建立報表工作時,offsetlimit 參數會定義 Google Analytics 儲存空間中要納入產生報表的資料列子集。舉例來說,如果 Google Analytics 儲存空間總共有 300,000 列,初始報表工作可能會包含前 10,000 列,上限為 10,000 列,偏移量為 0。接著,另一個報表工作可涵蓋接下來的 10,000 列,上限為 10,000 列,偏移量為 10,000 列。

limit

string (int64 format)

選用設定。代表要傳回報表中的列數。如未指定,系統會傳回 10,000 列。無論您要求多少資料列,API 每項要求最多會傳回 250,000 列。limit 必須為正數。

如果維度值的數量不如 limit 多,API 傳回的資料列可能會比要求的 limit 少。舉例來說,維度 country 的可能值少於 300 個,因此如果只針對 country 製作報表,即使將 limit 設為較高的值,也無法取得超過 300 列的資料。

metricAggregations[]

enum (MetricAggregation)

選用設定。匯總指標。匯總指標值會顯示在維度值設為「RESERVED_(MetricAggregation)」的資料列中。

orderBys[]

object (OrderBy)

選用設定。指定回應中列的排序方式。

currencyCode

string

選用設定。貨幣代碼,格式為 ISO4217,例如「AED」、「USD」、「JPY」。如果這個欄位留白,報表會使用資源的預設貨幣。

cohortSpec

object (CohortSpec)

選用設定。與這項要求相關聯的分析群組。如果要求中包含同類群組,則必須提供「同類群組」維度。

keepEmptyRows

boolean

選用設定。如果為 false 或未指定,則系統不會傳回所有指標皆為 0 的資料列。如果為 true,如果這些資料列未經過篩選器個別移除,就會傳回。

無論 keepEmptyRows 設定為何,報表中只會顯示 Google Analytics 資源記錄的資料。

舉例來說,如果資源從未記錄 purchase 事件,則針對 eventName 維度和 eventCount 指標的查詢,就不會出現包含 eventName: "purchase" 和 eventCount: 0 的資料列。

samplingLevel

enum (SamplingLevel)

選用設定。報表的取樣層級。

維度

維度是資料的屬性。舉例來說,「城市」維度會指出事件的來源城市。報表回應中的維度值為字串,例如城市名稱可能是「巴黎」或「紐約」。

JSON 表示法
{
  "name": string,
  "dimensionExpression": {
    object (DimensionExpression)
  }
}
欄位
name

string

維度的名稱。如要查看核心報表方法 (例如 runReportbatchRunReports) 支援的維度名稱清單,請參閱「API 維度」。如需 runRealtimeReport 方法支援的維度名稱清單,請參閱「即時維度」。如要查看 runFunnelReport 方法支援的維度名稱清單,請參閱「漏斗維度」。

如果指定 dimensionExpressionname 可以是您在允許的字元集內使用的任何字串。舉例來說,如果 dimensionExpression 連結 countrycity,您可以將該維度命名為 countryAndCity。您選擇的維度名稱必須符合規則運算式 ^[a-zA-Z0-9_]$

dimensionFilterorderBysdimensionExpressionpivots 中的 name 會參照維度。

dimensionExpression

object (DimensionExpression)

一個維度可以是多個維度的表達式結果。舉例來說,如果維度為「國家/地區、城市」:concatenate(country, ", ", city)。

DimensionExpression

用於表示維度,也就是多個維度的公式結果。使用範例:1) lowerCase(dimension) 2) concatenate(dimension1, symbol, dimension2)。

JSON 表示法
{

  // Union field one_expression can be only one of the following:
  "lowerCase": {
    object (CaseExpression)
  },
  "upperCase": {
    object (CaseExpression)
  },
  "concatenate": {
    object (ConcatenateExpression)
  }
  // End of list of possible types for union field one_expression.
}
欄位
聯集欄位 one_expression。為 DimensionExpression 指定一種維度運算式。one_expression 只能是下列其中一項:
lowerCase

object (CaseExpression)

用於將維度值轉換為小寫。

upperCase

object (CaseExpression)

用於將維度值轉換為大寫。

concatenate

object (ConcatenateExpression)

用於將維度值合併為單一維度。舉例來說,如果維度為「國家/地區、城市」:concatenate(country, ", ", city)。

CaseExpression

用於將維度值轉換為單一大小寫。

JSON 表示法
{
  "dimensionName": string
}
欄位
dimensionName

string

維度的名稱。名稱必須參照要求的維度欄位中的名稱。

ConcatenateExpression

用於將維度值合併為單一維度。

JSON 表示法
{
  "dimensionNames": [
    string
  ],
  "delimiter": string
}
欄位
dimensionNames[]

string

維度的名稱。名稱必須參照要求中維度欄位的名稱。

delimiter

string

維度名稱之間的分隔符號。

分隔符通常是單一字元,例如「|」或「,」,但也可以是較長的字串。如果維度值包含分隔符,回應中會同時顯示這兩個值,且沒有任何區別。舉例來說,如果維度 1 的值 =「US,FR」,維度 2 的值 =「JP」,分隔符 =「,」,則回應會包含「US,FR,JP」。

指標

報表的量化評估方式。舉例來說,eventCount 指標代表事件總數。要求最多可包含 10 個指標。

JSON 表示法
{
  "name": string,
  "expression": string,
  "invisible": boolean
}
欄位
name

string

指標的名稱。如需核心報表方法 (例如 runReportbatchRunReports) 支援的指標名稱清單,請參閱「API 指標」。如需 runRealtimeReport 方法支援的指標名稱清單,請參閱「即時指標」。如要查看 runFunnelReport 方法支援的指標名稱清單,請參閱「漏斗指標」。

如果指定 expressionname 可以是您在允許的字元集內使用的任何字串。舉例來說,如果 expressionscreenPageViews/sessions,您可以將該指標的名稱設為 viewsPerSession。您選擇的指標名稱必須符合規則運算式 ^[a-zA-Z0-9_]$

指標會在 metricFilterorderBys 和指標 expression 中引用 name

expression

string

衍生指標的數學運算式。舉例來說,每位使用者的事件計數指標為 eventCount/totalUsers

invisible

boolean

指出指標是否會在報表回應中顯示。如果指標不可見,則不會在回應中產生資料欄,但可用於 metricFilterorderBys 或指標 expression

DateRange

連續的日期組合:startDatestartDate + 1、...、endDate。最多可提出 4 個日期範圍的要求。

JSON 表示法
{
  "startDate": string,
  "endDate": string,
  "name": string
}
欄位
startDate

string

查詢的開始日期 (含此日期),格式為 YYYY-MM-DD。不得晚於 endDate。系統也接受 NdaysAgoyesterdaytoday 格式,在這種情況下,系統會根據資源的回報時區推斷日期。

endDate

string

查詢的結束日期 (含此日期),格式為 YYYY-MM-DD。不得早於 startDate。系統也接受 NdaysAgoyesterdaytoday 格式,在這種情況下,系統會根據資源的回報時區推斷日期。

name

string

為這個日期範圍指定名稱。在報表回應中,維度 dateRange 的值為此名稱。如果已設定,則開頭不得為 date_range_RESERVED_。如果未設定,日期範圍會以要求中的零基索引命名:date_range_0date_range_1 等。

FilterExpression

用於表示維度或指標篩選器。同一個 FilterExpression 中的欄位必須全為維度或指標。

JSON 表示法
{

  // Union field expr can be only one of the following:
  "andGroup": {
    object (FilterExpressionList)
  },
  "orGroup": {
    object (FilterExpressionList)
  },
  "notExpression": {
    object (FilterExpression)
  },
  "filter": {
    object (Filter)
  }
  // End of list of possible types for union field expr.
}
欄位
聯集欄位 expr。為 FilterExpression 指定一種篩選器運算式。expr 只能是下列其中一項:
andGroup

object (FilterExpressionList)

andGroup 中的 FilterExpressions 具有 AND 關係。

orGroup

object (FilterExpressionList)

orGroup 中的 FilterExpressions 具有 OR 關係。

notExpression

object (FilterExpression)

FilterExpression 並非 notExpression。

filter

object (Filter)

原始篩選器。在同一個 FilterExpression 中,所有篩選器的欄位名稱都必須是所有維度或所有指標。

FilterExpressionList

篩選運算式清單。

JSON 表示法
{
  "expressions": [
    {
      object (FilterExpression)
    }
  ]
}
欄位
expressions[]

object (FilterExpression)

篩選運算式清單。

篩選器

用於篩選維度或指標值的運算式。

JSON 表示法
{
  "fieldName": string,

  // Union field one_filter can be only one of the following:
  "stringFilter": {
    object (StringFilter)
  },
  "inListFilter": {
    object (InListFilter)
  },
  "numericFilter": {
    object (NumericFilter)
  },
  "betweenFilter": {
    object (BetweenFilter)
  },
  "emptyFilter": {
    object (EmptyFilter)
  }
  // End of list of possible types for union field one_filter.
}
欄位
fieldName

string

維度名稱或指標名稱。必須是維度或指標中定義的名稱。

聯集欄位 one_filter。為 Filter 指定一種篩選器類型。one_filter 只能是下列其中一項:
stringFilter

object (StringFilter)

字串相關篩選器。

inListFilter

object (InListFilter)

用於篩選清單值的篩選器。

numericFilter

object (NumericFilter)

用於篩選數值或日期值的篩選器。

betweenFilter

object (BetweenFilter)

用於比較兩個值的篩選器。

emptyFilter

object (EmptyFilter)

篩選器會篩除空白值,例如「(未設定)」和「""」值。

StringFilter

字串篩選器

JSON 表示法
{
  "matchType": enum (MatchType),
  "value": string,
  "caseSensitive": boolean
}
欄位
matchType

enum (MatchType)

這個篩選器的比對類型。

value

string

用於比對的字串值。

caseSensitive

boolean

如果為 true,字串值會區分大小寫。

MatchType

字串篩選器的比對類型

列舉
MATCH_TYPE_UNSPECIFIED 未指定
EXACT 字串值完全比對。
BEGINS_WITH 以字串值開頭。
ENDS_WITH 結尾為字串值。
CONTAINS 包含字串值。
FULL_REGEXP 規則運算式與字串值完全相符。
PARTIAL_REGEXP 規則運算式與字串值部分相符。

InListFilter

結果必須是字串值清單。

JSON 表示法
{
  "values": [
    string
  ],
  "caseSensitive": boolean
}
欄位
values[]

string

字串值清單。不得空白。

caseSensitive

boolean

如果為 true,字串值會區分大小寫。

NumericFilter

用於篩選數值或日期值。

JSON 表示法
{
  "operation": enum (Operation),
  "value": {
    object (NumericValue)
  }
}
欄位
operation

enum (Operation)

此篩選器的運算類型。

value

object (NumericValue)

數值或日期值。

作業

套用至數值篩選器的運算

列舉
OPERATION_UNSPECIFIED 未指明
EQUAL 等於
LESS_THAN 小於
LESS_THAN_OR_EQUAL 小於或等於
GREATER_THAN 大於
GREATER_THAN_OR_EQUAL 大於或等於

NumericValue

用於表示數字。

JSON 表示法
{

  // Union field one_value can be only one of the following:
  "int64Value": string,
  "doubleValue": number
  // End of list of possible types for union field one_value.
}
欄位
聯集欄位 one_value。其中一個數值 one_value 只能是下列其中一個值:
int64Value

string (int64 format)

整數值

doubleValue

number

雙重值

BetweenFilter

表示結果必須介於兩個數字之間 (含兩端)。

JSON 表示法
{
  "fromValue": {
    object (NumericValue)
  },
  "toValue": {
    object (NumericValue)
  }
}
欄位
fromValue

object (NumericValue)

開頭為這組數字。

toValue

object (NumericValue)

結尾為此號碼。

EmptyFilter

這個類型沒有任何欄位。

篩選空白值。

MetricAggregation

代表指標的匯總。

列舉
METRIC_AGGREGATION_UNSPECIFIED 未指定運算子。
TOTAL SUM 運算子。
MINIMUM 最小運算子。
MAXIMUM 最大運算子。
COUNT 計數運算子。

OrderBy

排序依據會定義如何在回應中排序資料列。舉例來說,依事件計數遞減排序是一種排序方式,依事件名稱字串排序則是另一種排序方式。

JSON 表示法
{
  "desc": boolean,

  // Union field one_order_by can be only one of the following:
  "metric": {
    object (MetricOrderBy)
  },
  "dimension": {
    object (DimensionOrderBy)
  }
  // End of list of possible types for union field one_order_by.
}
欄位
desc

boolean

如果為 true,則會依遞減順序排序。

聯集欄位 one_order_by。請為 OrderBy 指定一種排序方式。one_order_by 只能是下列其中一項:
metric

object (MetricOrderBy)

依據指標值排序結果。

dimension

object (DimensionOrderBy)

依維度值排序結果。

MetricOrderBy

依指標值排序。

JSON 表示法
{
  "metricName": string
}
欄位
metricName

string

排序依據的請求中指標名稱。

DimensionOrderBy

依維度值排序。

JSON 表示法
{
  "dimensionName": string,
  "orderType": enum (OrderType)
}
欄位
dimensionName

string

要求中的維度名稱,用於排序。

orderType

enum (OrderType)

控制維度值排序的規則。

OrderType

字串維度值的排序規則。

列舉
ORDER_TYPE_UNSPECIFIED 未指明
ALPHANUMERIC 依 Unicode 碼點排序的英數字元排序。例如「2」<「A」<「X」<「b」<「z」。
CASE_INSENSITIVE_ALPHANUMERIC 不區分大小寫的英數字元排序,依據小寫的 Unicode 碼點排序。例如「2」<「A」<「b」<「X」<「z」。
NUMERIC 維度值會在排序前轉換為數字。舉例來說,在「數字」排序方式中,「25」<「100」,在「ALPHANUMERIC」排序方式中,「100」<「25」。非數值維度值的排序值都會低於所有數值。

CohortSpec

同類群組報表的同類群組規格。

同類群組報表會為同類群組建立使用者留存時間序列。舉例來說,您可以選取 9 月第一週招攬到的使用者同類群組,並在接下來六週內追蹤該同類群組。在 cohort 物件中指定要選取 9 月第一週同類群組中招攬到的使用者。在 cohortsRange 物件中指定接下來六週的追蹤對象。

如需範例,請參閱「同類群組報表範例」。

報表回應可能會顯示每週時序,指出應用程式在三週後保留了這個同類群組的 60%,在六週後保留了 25%。這兩個百分比可透過指標 cohortActiveUsers/cohortTotalUsers 計算,並在報表中分開顯示。

JSON 表示法
{
  "cohorts": [
    {
      object (Cohort)
    }
  ],
  "cohortsRange": {
    object (CohortsRange)
  },
  "cohortReportSettings": {
    object (CohortReportSettings)
  }
}
欄位
cohorts[]

object (Cohort)

定義選取條件,將使用者分組為同類群組。

大多數同類群組報表只定義單一同類群組。如果指定多個同類群組,報表中會以名稱標示每個同類群組。

cohortsRange

object (CohortsRange)

同類群組報表會追蹤報表日期範圍內的同類群組。這個範圍會指定追蹤同類群組的偏移時間長度。

cohortReportSettings

object (CohortReportSettings)

同類群組報表的選用設定。

同類群組

定義同類群組選擇條件。同類群組是指具有共同特徵的使用者。舉例來說,firstSessionDate 相同的使用者會歸為同一個同類群組。

JSON 表示法
{
  "name": string,
  "dimension": string,
  "dateRange": {
    object (DateRange)
  }
}
欄位
name

string

為這個同類群組指派名稱。在報表回應中,維度 cohort 的值為此名稱。如果已設定,則開頭不得為 cohort_RESERVED_。如果未設定,系統會以零為基底的索引 cohort_0cohort_1 等來命名同類群組。

dimension

string

同類群組使用的維度。這是必要屬性,且僅支援 firstSessionDate

dateRange

object (DateRange)

同類群組會選取首次觸及日期介於 dateRange 中定義的開始日期和結束日期之間的使用者。這個 dateRange 不會指定同類群組報表中事件資料的完整日期範圍。在同類群組報表中,這個 dateRange 會根據 cohortsRange 中的精細程度和偏移值延伸;同類群組報表會顯示延伸報表日期範圍的事件資料。

在同類群組要求中,這個 dateRange 是必填項目,且 RunReportRequestRunPivotReportRequest 中的 dateRanges 必須未指定。

這個 dateRange 通常應與同類群組的細緻程度一致。如果 CohortsRange 使用每日精細程度,這個 dateRange 可以是單日。如果 CohortsRange 使用每週精細度,這個 dateRange 可以與週邊界對齊,從星期日開始,結束於星期六。如果 CohortsRange 使用月度精細度,這個 dateRange 可以對齊一個月,從當月第一天開始,到當月最後一天結束。

CohortsRange

設定同類群組報表的延長報表日期範圍。指定要追蹤同類群組的偏移時間長度。

JSON 表示法
{
  "granularity": enum (Granularity),
  "startOffset": integer,
  "endOffset": integer
}
欄位
granularity

enum (Granularity)

必要欄位。用於解讀同類群組報表延長報表日期範圍的 startOffsetendOffset 的精細程度。

startOffset

integer

startOffset 可指定同類群組報表的延長報表日期範圍開始日期。startOffset 通常會設為 0,讓報表包含從同類群組獲客開始的資料。

如果 granularityDAILY,延長報表日期範圍的 startDate 就是同類群組的 startDate 加上 startOffset 天。

如果 granularityWEEKLY,延長報表日期範圍的 startDate 就是同類群組的 startDate 加上 startOffset * 7 天。

如果 granularityMONTHLY,延長報表日期範圍的 startDate 就是同類群組的 startDate 加上 startOffset * 30 天。

endOffset

integer

必要欄位。endOffset 可指定同類群組報表的延長報表日期範圍結束日期。endOffset 可以是任何正整數,但通常會設為 5 到 10,以便報表包含下幾個精細時間範圍內同類群的資料。

如果 granularityDAILY,延長報表日期範圍的 endDate 就是同類群組的 endDate 加上 endOffset 天。

如果 granularityWEEKLY,延長報表日期範圍的 endDate 就是同類群組的 endDate 加上 endOffset * 7 天。

如果 granularityMONTHLY,延長報表日期範圍的 endDate 就是同類群組的 endDate 加上 endOffset * 30 天。

精細程度

用於解讀同類群組報表延長報表日期範圍的 startOffsetendOffset 的精細程度。

列舉
GRANULARITY_UNSPECIFIED 不應指定。
DAILY 每日精細程度。如果同類群組的 dateRange 是單日,且要求包含 cohortNthDay,通常會使用此方法。
WEEKLY 每週精細程度。如果同類群組的 dateRange 是週週期 (從週日開始,結束於週六),且要求包含 cohortNthWeek,通常會使用此方法。
MONTHLY 每月精細程度。如果同類群組的 dateRange 為一個月的時間長度,且要求包含 cohortNthMonth,通常會使用此方法。

CohortReportSettings

同類群組報表的選用設定。

JSON 表示法
{
  "accumulate": boolean
}
欄位
accumulate

boolean

如果為 true,則會累積從首次接觸日到結束日的結果。RunReportRequest 不支援此功能。

SamplingLevel

要求的取樣率類別。

列舉
SAMPLING_LEVEL_UNSPECIFIED 未指定的類型。
LOW 將取樣層級套用至標準資源 (1,000 萬) 和 Google Analytics 360 資源 (1 億)。
MEDIUM 僅適用於取樣層級為 10 億的 Google Analytics 360 資源。
UNSAMPLED 僅適用於 Google Analytics 360 資源。未取樣探索結果更準確,還能發掘標準探索中看不到的洞察資料。詳情請參閱 https://support.google.com/analytics/answer/10896953

ReportMetadata

特定報表工作項的報表中繼資料。

JSON 表示法
{
  "creationQuotaTokensCharged": integer,
  "state": enum (State),
  "beginCreatingTime": string,
  "taskRowCount": integer,
  "errorMessage": string,
  "totalRowCount": integer
}
欄位
creationQuotaTokensCharged

integer

僅供輸出。建立報表時所需的配額符記總數。由於此符記數量是根據 CREATING 狀態的活動計算,因此報表工作進入 ACTIVEFAILED 狀態後,這筆符記費用就會固定。

state

enum (State)

僅供輸出。這項報表工作的目前狀態。

beginCreatingTime

string (Timestamp format)

僅供輸出。呼叫 reportTasks.create 的時間,以及報表開始 CREATING 狀態的時間。

採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

taskRowCount

integer

僅供輸出。報表結果中的列數總數。系統會在狀態啟用時填入這個欄位。您可以使用 taskRowCount 在現有報表範圍內分頁。

errorMessage

string

僅供輸出。如果報表工作在建立期間失敗,系統會填入錯誤訊息。

totalRowCount

integer

僅供輸出。Google Analytics 儲存空間中的資料列總數。如果想查詢目前報表以外的其他資料列,可以根據 totalRowCount 啟動新的報表工作。

taskRowCount 代表與目前報表具體相關的資料列數,而 totalRowCount 則涵蓋從 Google Analytics 儲存空間擷取的所有資料列總數。

舉例來說,假設目前報表的 taskRowCount 為 20,會顯示前 20 列的資料。同時,totalRowCount 為 30,表示所有 30 列都有資料。taskRowCount 可用於透過分頁瀏覽最初的 20 列。如要擴充報表並納入所有 30 列的資料,可以使用 totalRowCount 建立新報表工作,以便存取 30 列的完整資料集。

處理狀態。

列舉
STATE_UNSPECIFIED 系統絕不會使用未指定的狀態。
CREATING 報表目前正在建立中,日後就會開放使用。在 CreateReport 呼叫後立即建立。
ACTIVE 報表已完成建立,可供查詢。
FAILED 無法建立報表。

方法

create

啟動報表工作建立程序。

get

取得特定報表工作項的報表中繼資料。

list

列出資源的所有報表工作。

query

擷取報表工作內容。