在Tableau中创建直方图

时间:2014-08-22 18:03:09

标签: tableau

我在一家软件公司工作,我正在使用一个数据库来跟踪我们某个游戏中发生的某些事件。每次发生一个跟踪事件时,“事件类型”字段中的文本条目指定它是什么类型的事件 - “用户登录”,“敌人被杀”,“玩家死亡”等。另一个字段,“会话ID” ,“为每个单独的游戏会话分配一个唯一的ID号。因此,如果用户登录游戏,杀死8个敌人,然后再次注销,则每个Enemy Killed事件将具有相同的会话ID。

我正在尝试制作一个直方图,显示拥有x个Enemy Killed事件的会话数。我该怎么做?我是Tableau的原始初学者,所以如果你可以愚蠢地回答我的五级解释,这将很棒。

2 个答案:

答案 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,然后连接到它