REST Resource: properties.reportTasks

资源:ReportTask

特定的报告任务配置。

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

string

仅限输出。标识符。创建报告任务时分配的资源名称。格式:“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 存储空间中总共有 30 万行,则初始报告任务可能包含前 1 万行,行数上限为 1 万,偏移量为 0。随后,另一个报告任务可以涵盖接下来的 10,000 行,上限为 10,000,偏移量为 10,000。

limit

string (int64 format)

可选。报告中要返回的行数。如果未指定,则返回 10,000 行。无论您请求多少行,该 API 每个请求最多只会返回 25 万行。limit 必须为正数。

如果维度值的数量不如 limit 多,API 返回的行数也可能少于请求的 limit。例如,维度 country 的可取值少于 300 个,因此,如果仅针对 country 生成报告,则即使您将 limit 设置为更大的值,也无法获得超过 300 行的报告。

metricAggregations[]

enum (MetricAggregation)

可选。指标汇总。汇总指标值将显示在 dimensionValues 设置为“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

维度的名称。该名称必须回引用请求的“dimensions”字段中的名称。

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 中的 FilterExpression 具有 AND 关系。

orGroup

object (FilterExpressionList)

orGroup 中的 FilterExpression 具有 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)

用于过滤“in”列表值的过滤条件。

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

DoubleValue

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 维度值会在排序之前转换为数字。例如,在“NUMERIC”排序中,“25”<“100”,而在 ALPHANUMERIC 排序中,“100”<“25”。在所有数值下方,非数值维度值的排序值均相同。

CohortSpec

同类群组报告的同类群组规范。

同类群组报告会为同类群组创建用户留存率时间序列。例如,您可以选择 9 月第一周赢得的用户同类群组,并在接下来的 6 周内跟踪该同类群组。在 cohort 对象中指定了要选择 9 月第一周获取的用户的同类群组。在 cohortsRange 对象中指定了接下来 6 周内该同类群组的跟踪情况。

如需查看示例,请参阅同类群组报告示例

报告响应可能会显示每周的时间序列,例如,您的应用在三周后留住了该同类群组的 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_ 开头。如果未设置,同类群组将按从 0 开始的编号 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 为 1 周(从星期日开始到星期六结束),并且请求包含 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 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"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

检索报告任务的内容。