我在一家软件公司工作,我正在使用一个数据库来跟踪我们某个游戏中发生的某些事件。每次发生一个跟踪事件时,“事件类型”字段中的文本条目指定它是什么类型的事件 - “用户登录”,“敌人被杀”,“玩家死亡”等。另一个字段,“会话ID” ,“为每个单独的游戏会话分配一个唯一的ID号。因此,如果用户登录游戏,杀死8个敌人,然后再次注销,则每个Enemy Killed事件将具有相同的会话ID。
我正在尝试制作一个直方图,显示拥有x个Enemy Killed事件的会话数。我该怎么做?我是Tableau的原始初学者,所以如果你可以愚蠢地回答我的五级解释,这将很棒。
答案 0 :(得分:1)
已启动Tableau 9.0,您的问题可以在Tableau中完全解决。
您需要了解详细程度计算。它看起来像这样:
{ FIXED [Session ID] : COUNT( IF [Event Type] = 'Enemy Killed'
THEN 1
END )
}
这将计算每个会话有多少次杀戮。您可以使用此字段创建BINS,并计算有多少会话(COUNTD([会话ID]))
答案 1 :(得分:0)
好吧,我的回答将与我最后的答案相呼应。您的数据库尚未准备好进行该分析。
基本上您的数据库应该是:
SessionId EnemiesKilled
1234 13
所以你可以在EnemiesKilled上创建一个直方图。
要做直方图,你可以创建BIN(右键单击字段,创建Bins),但我发现它非常有限,因为它只创建相同宽度的BINS。我通常做的是一堆IF和ELSEIF来手动创建BIN,以更好地适应我的目的。
要将数据库转换为我解释的格式,最好是在Tableau外部操作它并直接连接到它。如果它是SQL,那么GROUPBY会话ID和COUNT个EnemyKilled事件应该可以工作(不完全像这样,但这就是想法)。
要在Tableau上执行此操作,您可以将SessionId拖动到Marks或Rows,为此创建一个表我通常将所有内容放在Marks上并选择条形图,因此Tableau不会浪费时间绘制任何内容)和a计算字段如:
SUM(
IF EventType = "Enemy Killed"
THEN 1
ELSE 0
END
)
然后将数据导出到csv或mdb,然后连接到它