自定义指标
自定义指标¶
您可以从游戏发送日志或使用自动收集的日志配置指标,并将它们添加到分析中,除了提供的默认指标之外。
以下是指标的配置顺序。
日志的定义和传输¶
要配置指标,必须将必要的配置信息存储在分析中。当配置指标以直接传输游戏日志时,此阶段是必需的。如果您配置指标以自动收集数据,请继续下一步。
要传输游戏日志,请使用日志定义函数定义日志将存储的架构。
完成日志定义后,日志传输必须遵循指定的格式。
使用日志定义函数的ETL模拟功能,如果您希望在将日志传输到服务器或客户端之前配置指标,可以传输示例数据。
确认日志¶
这是查看配置指标所需日志的步骤。通过日志定义功能的数据预览功能,您可以检查每个日志中保存的数据。
为了高效的数据验证和后续处理,我们建议请求Analytics Big Query 权限以直接查看日志。
定义数据源¶
要配置指标,必须指定数据源。BigQuery 数据查询可以通过控制台 > 分析 > 管理 > 数据源菜单访问,并需要 SQL。
您可以通过请求分析大查询权限来编写数据源所需的SQL,如前一步中所述。
源数据生成序列
- 从菜单中选择“注册数据源”。
- 输入所需的数据源名称、日期分类和SQL 查询字段后,点击“下一步”。
- 数据源名称:数据源的描述性名称。
- 日期分类:此设置在使用 SQL 搜索指标中的日期时应用指定的日期值。根据SQL日期搜索类型,必须选择一个值,并根据所选值,将指标中设置的日期值传递给SQL 查询 WHERE子句中指定的保留字。
- 每日:搜索特定天数时
- 每月:搜索特定月数时
- 前一天:如果进行单日搜索,指标的默认日期在首次访问时设置为昨天
- 今天:当仅搜索一天时,首次访问指标时的默认日期为今天
- 手动设置:当不使用指标的日期搜索功能时
- 数据库:选择BIGQUERY。
- SQL 查询:在编写Big Query SQL以查询要暴露给指标的数据时,请考虑以下内容。
- datetime是timestamp数据类型,表示日志的日期值。为了避免性能下降,必须注意不要更改timestamp数据类型。
例如)数据类型的变化与不变化
案例 1)数据类型变化的不正确示例 | where date(datetime) >= '2023-08-01' |
案例 2)数据类型不变化的正确示例 | where TIMESTAMP_TRUNC(dateTime, DAY) >= '2023-08-01' |
where TIMESTAMP_TRUNC(dateTime, MONTH) >= '2023-08' |
-
-
- 如果您想转换为除UTC以外的时区,请在搜索条件的日期值上使用timestamp_add函数,而不是datetime字段。
-
例如)基于KST搜索2023年8月1日
从KST减去九小时并与搜索范围进行比较 | where datetime >= timestamp_add('2023-08-01', interval -9 hour) and datetime < timestamp_add('2023-08-02', interval -9 hour) |
where datetime >=timestamp_add('2023-08-01', interval -9 hour) and datetime < timestamp_add(timestamp_add('2023-08-01', interval -9 hour), interval 1 day) |
-
-
- 根据所选日期分类,在WHERE子句中指定日期值。
-
每日 | UTC | where datetime >= TIMESTAMP('##FROMDT##') and datetime < timestamp_add(TIMESTAMP('##TODT##'), interval 1 day) |
KST | where datetime >= timestamp_add('##FROMDT##', interval -9 hour) and datetime < timestamp_add(timestamp_add('##TODT##', interval -9 hour), interval 1 day) | |
每月 | UTC | where dateTime >= TIMESTAMP(concat('##FROMMM##','-01')) and dateTime < TIMESTAMP(datetime_add(date(concat('##TOMM##','-01')),interval 1 month)) |
KST | where dateTime >= timestamp_add(TIMESTAMP(concat('##FROMMM##','-01')), interval -9 hour) and dateTime < timestamp_add(TIMESTAMP(datetime_add(date(concat('##TOMM##','-01')),interval 1 month)), interval -9 hour) | |
前一天/今天 | UTC | where datetime >= TIMESTAMP('##TODAY##') and datetime < timestamp_add(TIMESTAMP('##TODAY##'), interval 1 day) |
KST | where datetime >= timestamp_add('##TODAY##', interval -9 hour) and datetime < timestamp_add(timestamp_add('##TODAY##', interval -9 hour), interval 1 day) | |
手动设置 | 这不是必需的,因为指标的搜索日期值未传递,但建议在WHERE子句中包含一个datetime字段以提高查询性能。 以下是利用UTC/KST观察从昨天凌晨12点到现在的日志的示例。 | |
UTC | where datetime >= TIMESTAMP_TRUNC(timestamp_add(current_timestamp(), interval -1 day), DAY) | |
KST | where datetime >= timestamp_add(TIMESTAMP_TRUNC(timestamp_add(current_timestamp(), interval -1 day), DAY) , interval -9 hour) |
-
-
- 顶级SELECT子句必须至少包含一个由指标公开的轴和至少一个用作值的字段,字段的alias必须用小写字母定义。此外,字段之间必须有空格。
-
例如)SELECT 示例
案例 1) 错误示例 | SELECT * | 缺少字段名称 |
SELECT yyyymmdd,dau | 字段之间缺少空格 | |
SELECT YYYYMMDD | 字段名称大写 | |
案例 2) 正确示例 | SELECT yyyymmdd, dau | |
选择 yyyymmdd, game, value as dau |
-
-
- 要作为值暴露的字段的数据类型必须是数字。
- 在SQL之前或之后不得有空格。
- 不支持NUMERIC格式,因此需要转换为CAST。
- 在FROM子句中,表名必须以“##companyDataset##.tablename”的格式指定。
- 如果将自定义指标添加到特定游戏的指标中,则该指标可以根据所选游戏在特定游戏的指标中显示。如果在SQL WHERE子句中包含对##appidGroup##的查询,则在查询时,特定游戏的指标中将自动输入所选游戏。
- 例如)WHERE appidGroup in (‘##appidGroup##’)
-
- 在为每个项目指定轴选择和数值选择后,点击下一步。
- 所有项目:在前面的SQL 查询中指定的顶级SELECT子句中列出的字段。
- 轴选择:在配置指标时配置行和列,拖放字段。要修改指标上显示的名称,请在不带空格的情况下用韩文或英文(大写/小写)输入“更改名称”。
- 选择值:在显示指标时显示与每个轴对应的值,拖动并移动字段。单选控件允许配置和选择多个值选择。要修改单选图标上显示的名称,请在不带空格的情况下用韩文或英文(大写/小写)输入“更改名称”。
- 如果需要对齐轴项目,请设置,然后选择下一步和确定以保存数据源。排序顺序可以设置为升序或降序。
定义页面源¶
要配置指标,必须指定页面源。可以通过“控制台 > 分析 > 管理 > 页面源”菜单访问,并需要来自前一阶段的数据源。
页面源创建顺序
- 点击“注册页面源”按钮。
- 配置指标项后,选择下一步。
- 页面标题:指定页面源的名称,用作指标的选项卡菜单。
- 是否包含轴设置:确定是否包含表格的顶部轴。
- 不包含:指定的值字段显示在指标表的顶部。
- 包含:由指标表顶部指定的轴字段单独显示。
例如)基于不包含/包含的选择的曝光指标表。
不包含 | |
包含 |
-
- 数据源信息:选择一个数据源以暴露给指标。
- 是否包含0:在暴露指标值时,是否提供仅包含零的列。
- 是否包含图表:是否额外暴露图表。
- 反转图表X轴对齐:图表的X轴默认按升序排列,但可以更改为降序。
- 是否包含注释:表中是否包含注释。
- 比率颜色显示:如果数据源的字段中指定了“%”或“(增加/减少)”,则增加将以红色显示,减少将以蓝色显示。
- 调整要在指标中显示的表格位置后,选择下一步,然后确定以保存页面源。
- 轴项:在从数据源选择轴时列出的项。
- 值项:在从数据源选择值时列出的项。
- 总显示:此功能允许在表中自动显示总和。
- 无总和:将不显示总和。
- 垂直轴总和:在垂直轴旁边显示总和,为每一行提供总和。
图片)垂直轴总和显示
-
-
- 水平轴总计:总计显示在垂直轴旁边,显示每行的总和。
-
图片)水平轴总计显示
-
-
- 横轴中间总计:类似于横轴总计,但您可以选择将后续的 Σ 值放置在“纵轴之前”或“纵轴之后”,在中间添加一个额外的总计。
-
图片)横轴中间总计 & 纵轴之前
图片) 水平轴临时总计 & 之后的垂直轴
-
-
- 所有总计显示:提供行和列的总计。
- Σ 值位置(适用于多个项目):指定值在表中显示的位置。
- 逐个选择:放置在“指标值”区域的值会逐个在表中显示,并在指标页面顶部的“选择值”区域中暴露。
-
照片)设置为“逐个选择”,以便在指标页面上选择值。
-
-
- 垂直轴之前:值显示在表格左轴区域的右侧。
-
照片) 将值显示为“垂直轴之前”
-
-
- 垂直轴后:值显示在表格左侧的左轴区域。
-
照片)将值显示为“垂直轴后”
-
-
- 水平轴上方:值显示在表格的顶部轴区域上方。
-
照片)将值显示为“水平轴上方”
-
-
- 水平轴下方:值显示在表格的顶部轴区域下方。
-
照片)将值显示为“水平轴下方”
-
- 放置:将形成表格行的项目可以拖动并放置在左侧,而将形成表格列的项目可以拖动到顶部。要暴露的值设置在值项目的中间。
照片)页面源中的轴/值放置
照片)基于页面源的轴/值配置的指标页面配置
-
- 删除所有:您可以同时删除放置的轴和数值。
- SQL 预览:您可以查看数据源的Big Query SQL。
- 预览:您可以预览在指示器上显示的屏幕。
- 在页面源列表中,为新插入的页面源的“已使用/未使用”选项选择“使用”。
- 选择将作为自定义指示器插入的“自定义指示器应用位置”项目的地点或游戏。
- 每个游戏的特定游戏指示器:游戏特定的指示器可以在位置游戏特定指示器 > 自定义指示器中访问,无论选择了哪个游戏。
- 综合指示器:出现在自定义指示器 > 综合指示器的位置。
- 游戏名称:每个游戏的指示器仅在指定的游戏指示器 > 自定义指示器位置显示。
- 要更改综合指示器/游戏特定指示器 > 自定义指示器的选项卡菜单顺序,请在“自定义指示器顺序”选项中调整数字。放置顺序按数字升序排列。
检查指标配置的结果¶
- 一旦页面源定义完成,自定义指标在分析中的注册就完成了。它可以通过“控制台 > 分析 > 游戏特定指标 > 自定义指标”菜单访问,标签的曝光顺序由页面源设置中的“标签排序顺序”配置决定。
- 如果有大量数据暴露给指标,实际数据将以CSV格式提供。
尝试配置自定义指标¶
案例 1. 日常 DAU 指标的配置¶
每日 DAU 可以使用 hive_login_log 日志配置为指标,该日志在登录游戏时自动收集,无需定义和传输日志。示例日志使用 ETL 模拟日志定义功能。
ETL 模拟发送和检查在 hive_login_log 中的示例日志
- 导航到“控制台 > 分析 > 日志定义”
- 选择 hive_login_log 作为搜索功能的日志名称,然后选择搜索按钮。
- 当 hive_login_log 显示时,点击查看模式信息,然后继续到底部的 ETL 模拟部分。
- 输入并确认每个字段的值后,选择“发送示例数据”。
- 通过数据预览检查发送的示例日志。
利用BigQuery构建每日DAU查询
- 在事先获得权限后访问 Big Query。
- 直接在 BigQuery 中执行将用于数据源的查询,使用基于 UTC 的前七天的每日 DAU 查找查询。
SELECT DATE(datetime) as yyyymmdd, appidGroup, count(distinct playerid) as dau
FROM `fluted-airline-109810.analytics_회사코드_live.t_hive_login_log`
WHERE datetime >= TIMESTAMP_TRUNC(timestamp_add(current_timestamp(), interval -7 day), DAY) and dateTime < timestamp_trunc(current_timestamp(), day) and appidGroup in ('appidGroup')
group by yyyymmdd, appidGroup
order by yyyymmdd, appidGroup
定义数据源
- 访问“控制台 > 分析 > 管理 > 数据源”菜单。
- 点击“注册数据源”按钮。
- 输入以下所需信息,然后选择下一步。
- 数据源名称:“案例 1 每日 DAU 数据源”
- 日期分类:选择每日
- 数据库:选择 BIGQUERY
- SQL 查询
SELECT DATE(datetime) as yyyymmdd, appidGroup, count(distinct playerid) as dau
FROM `##companyDataset##.t_hive_login_log`
where datetime >= TIMESTAMP('##FROMDT##') and datetime < timestamp_add(TIMESTAMP('##TODT##'), interval 1 day) and appidGroup in ('##appidGroup##')
group by yyyymmdd, appidGroup
order by yyyymmdd, appidGroup
- 在指定轴和数值选择后,点击下一步。
- 选择轴:选择 appidGroup, yyyymmdd
- 选择数值:选择 dau
- 要保存数据源,选择按 appidGroup, yyyymmdd 升序排序,点击下一步,然后点击 确定。
定义页面源
- 访问“控制台 > 分析 > 管理 > 页面源”菜单。
- 点击“注册页面源”按钮。
- 输入以下信息以进行指标配置,然后点击下一步。
- 页面标题:“案例 1 每日 DAU 页面源”
- 轴设置是否包含:包含
- 数据源信息:选择“案例 1 每日 DAU 数据源”
- 0 包含:包含
- 图表包含:包含
- 反转图表 X 轴对齐:不包含
- 显示比例颜色:未选择
- 按如下所示设置轴和数值位置。
- 位置左侧:yyyymmdd
- 位置顶部:appid
- 值:dau
- 点击预览按钮检查表格和图表是否正确显示。
- 点击确定以保存页面源。
- 在页面源列表中,在“案例 1 每日 DAU 页面源”列表中选择“启用/未使用”。
- 在页面源列表中,在“按天的案例 1 DAU 页面源”列表中选择“应用自定义指标位置”至“所有游戏的游戏指标”。
- 在页面源列表中,在“案例 1 每日 DAU 页面源”列表中指定“自定义指标顺序”为 1。
检查指标配置结果
- 访问“控制台 > 分析 > 游戏特定指标 > 自定义指标”菜单。
- 验证名为“案例 1 每日 DAU 页面来源”的标签是否可见。
- 点击“案例 1 每日 DAU 页面来源”以检查表格和图表是否正确显示。
- 如果指示器暴露了大量数据,实际数据将以 CSV 格式提供。
案例 2. 发送阶段清除日志并配置指示器¶
按照以下步骤传输游戏的stage日志并配置指示器。示例日志使用ETL模拟日志定义功能。
定义阶段清除日志
- 访问“控制台 > 分析 > 日志定义”菜单。
- 选择游戏后,点击“定义日志”按钮。
- 在表名中输入“sample_stage_clear”。
- 在描述中输入“sample log”。
- 在定义字段设置中,输入以下信息。
- 字段名称: stage_clear
- 选择类型: string
- 描述: 阶段是否已清除
- 示例值: success
- 滚动到底部并点击注册。
发送和检查样本日志到 sample_stage_clear 使用 ETL 模拟
- 访问“控制台 > 分析 > 日志定义”菜单。
- 选择搜索功能的日志名称,输入sample_stage_clear,然后点击搜索按钮。
- 当sample_stage_clear被显示时,点击以检查定义的架构信息,并移动到底部的ETL模拟。
- 在每个字段中输入值,然后点击提交。
- 检查通过数据预览发送的示例日志。
访问 Big Query 并创建每日 stage 清除查询
- 在获得Big Query访问权限后访问Big Query。
- 直接在BigQuery中运行要用于数据源的查询,使用基于下面UTC的每日stage清除查询。
SELECT DATE(datetime) as yyyymmdd, stage_clear, count(distinct playerid) as cnt
FROM `fluted-airline-109810.analytics_회사코드_live.t_sample_stage_clear`
WHERE datetime >= TIMESTAMP_TRUNC(timestamp_add(current_timestamp(), interval -7 day), DAY) and dateTime < timestamp_trunc(current_timestamp(), day) and appidGroup in ('appidGroup')
group by yyyymmdd, stage_clear
order by yyyymmdd, stage_clear
定义数据源
- 访问“控制台 > 分析 > 管理 > 数据源”菜单。
- 点击“注册数据源”按钮。
- 在必填字段中输入以下信息,然后点击下一步。
- 数据源名称:“案例 2 stage 清除数据源”
- 日期分类:选择每日
- 数据库:选择BIGQUERY
- SQL 查询
SELECT DATE(datetime) as yyyymmdd, appidGroup, stage_clear, count(distinct playerid) as dau
FROM `##companyDataset##.t_sample_stage_clear`
where datetime >= TIMESTAMP('##FROMDT##') and datetime < timestamp_add(TIMESTAMP('##TODT##'), interval 1 day) and appidGroup in ('##appidGroup##')
group by yyyymmdd, stage_clear
order by yyyymmdd, stage_clear
- 在指定轴选择和数值选择后,点击下一步。
- 选择轴:stage_clear,选择yyyymmdd
- 选择值:选择cnt
- 选择stage_clear,按升序对yyyymmdd进行排序,点击下一步,然后点击OK以保存数据源。
定义页面源
- 访问“控制台 > 分析 > 管理 > 页面源”菜单。
- 点击“注册页面源”按钮。
- 输入以下信息以进行指标配置,然后点击下一步。
- 页面标题:“案例 2 stage 清除页面源”
- 是否包含轴设置:包含
- 数据源信息:选择“案例 2 stage 清除数据源”
- 是否包含 0:包含
- 是否包含图表:包含
- 反转图表 X 轴对齐:不包含
- 显示比例颜色:未选择
- 按照下面所示放置轴和数值。
- 放置左侧:yyyymmdd
- 放置顶部:stage_clear
- 值:cnt
- 为了确定表格和图表是否适当显示,请点击预览按钮。
- 点击OK以保存页面源。
- 在页面源列表中,选择“案例 2 stage 清除页面源”列表中的“启用/禁用”以启用。
- 在页面源列表中,选择“案例 2 stage 清除页面源”下的“自定义指标应用位置”为“每个游戏的指标游戏”。
- 在页面源列表中,将“案例 2 stage 清除页面源”列表中的“自定义指标顺序”设置为 1。
检查指标配置结果
- 前往 "控制台 > 分析 > 游戏特定指标 > 自定义指标"
- 确定标题为 "案例 2 阶段 清除页面源" 的选项卡是否可见。
- 为了确保表格和图表正确显示,请点击 "案例 2 阶段 清除页面源"
- 如果指标暴露了大量数据,实际数据将以 CSV 格式提供。