文档

支持

Analytics

Analytics

使用 SQL Data Explorer 查询参数值

Learn how to query custom event parameters in SQL Data Explorer with practical examples.
阅读时间4 分钟最后更新于 1 个月前

简介

使用 SQL Data Explorer(SQL 数据资源管理器)工具分析特定参数的值。 以下是分析参数值的多种方法,其中包括查询的实际示例和注释,以帮助您更好地了解如何在游戏中复制这些查询。

说明

  • 以下每个示例都使用相同的上下文:在一个 RPG 游戏中,玩家可以选择一个角色,开始并完成地牢,在地牢中时使用药水来恢复生命值。
  • 复制这些查询时,请确保替换突出显示的查询项,以便适应您自己的事件名称和参数。

查询

1.特定时间范围内(每天)使用的平均药水量

with potionsStats as (selectEVENT_DATE,EVENT_JSON:potionsUsed::Integer as potionsFROM EVENTS where EVENT_DATE > CURRENT_DATE-7 and EVENT_DATE < current_date and EVENT_NAME=’dungeonCompleted’)select EVENT_DATE as “Date”, round(avg(potions)) as “Average Potions Used”from potionsStatsgroup by EVENT_DATEorder by EVENT_DATE
注意:
  • potionsStats
    是我们的子查询。
  • potionsUsed
    是随
    dungeonCompleted
    事件一起发送的参数,用于记录地牢中使用的药水量。
  • potions
    是我们给 EVENT_JSON:
    potionsUsed
    ::Integer 指定的名称。
  • 7
    定义了我们要分析的时间范围。在本例中,时间范围是过去 7 天。
  • 第 8 行调用:
    • X 轴上的事件日期。
    • potions
      的四舍五入平均值以获得干净的数字,但如果您想查看小数,可以将其移除。
  • Average Potions Used
    为我们在 Y 轴上的四舍五入平均运算指定一个干净的名称。

2.特定时间范围内(总时间范围)使用的平均药水量

如果您想了解每个玩家使用的平均药水量,以便查看某个时间点的消耗量,请参考以下示例。
with potionsStats as (selectEVENT_NAME,EVENT_JSON:potionsUsed::Integer as potionsFROM EVENTS where EVENT_DATE > CURRENT_DATE-7 and EVENT_DATE < current_date and EVENT_NAME='dungeonCompleted')select EVENT_NAME as “Dungeon Completed”, round(avg(potions)) as “Average Potions Used”from potionStatsgroup by 1

3.每个地牢使用的平均药水量

请参考以下示例以更好地了解玩家在游戏中的何处使用药水来平衡地牢。
with potionsAndDungeons as (selectEVENT_JSON:dungeonName::string as dungeonName,EVENT_JSON:potionsUsed::integer as potionsFROM EVENTS where EVENT_DATE > CURRENT_DATE-7 and EVENT_NAME='dungeonCompleted')select dungeonName as “Dungeon”, avg(potions) as "Average potions used"from potionsAndDungeonsgroup by dungeonNameorder by dungeonName
注意:
  • 此示例基于前两个采用了
    potionsUsed
    dungeonCompleted
    的查询。
  • 此示例使用了与
    dungeonCompleted
    事件一起发送的
    dungeonName
    参数(表示已完成的地牢的名称)。此参数将在 Y 轴上使用。

4.在地牢中使用每个角色的百分比

请参考以下示例查看游戏中最受欢迎的角色。
selectEVENT_JSON:characterName::STRING as character,((count(EVENT_JSON:characterName::STRING)) / ( select count(*) from eventswhere EVENT_NAME = 'dungeonCompleted' and EVENT_DATE > current_date-7)) as percentagefrom eventswhere EVENT_NAME = 'dungeonCompleted' and EVENT_DATE > current_date-7group by characterorder by percentage desc
注意:
  • 此示例以
    character
    的形式调用
    characterName
    。这是随
    dungeonCompleted
    事件一起发送的参数,用于记录所选角色。此参数将在 X 轴上使用。
  • 第 3 行和第 4 行将每个角色的总数除以完成的地牢总数,获得 Y 轴上所需的百分比。

5.通过数据透视表计算每个地牢使用的角色数

请参考以下示例以清楚地了解每个地牢使用角色的次数。这将有助于更好地平衡角色和地牢。
selectEVENT_JSON:characterName::INTEGER,EVENT_JSON:dungeonName::STRING,count(EVENT_JSON:dungeonName::STRING) as dungeonCountfrom eventswhere EVENT_NAME = 'dungeonCompleted'and EVENT_DATE > current_date-7group by 1,2
注意: 注释
  • SQL Data Explorer(SQL 数据资源管理器)尚未对表视图进行数据透视,因此我们需要将结果导出为 csv,并在电子表格上创建视图。
  • 此示例调用了角色名称、地牢参数和地牢名称数量。
  • 处理此查询后,您需要:
  1. 使用 Share(共享)按钮将结果导出为 csv。
  2. 在电子表格中打开 csv 文件。
  3. 从数据创建数据透视表。
  4. 从数据透视表创建图表。
\
![](/analytics/media/images/copy-of-sql-excel.png)

\

\
![](/analytics/media/images/copy-of-sql-table.png)

\

\
![](/analytics/media/images/copy-of-sql-query-bar.png)

\