具有计算场比的Tableau LOD固定表达式

时间:2019-01-06 20:57:44

标签: tableau

我有一个Facebook帖子数据集,其中每个帖子的数量为engagements,总数为reach,列出了市场和日期。

作为工作的一部分,我将engagement rate定义为计算字段= SUM(engagements)/SUM(reach)

现在,我想生成一个表格,显示每个市场的参与率相对于视图中所有市场的平均参与率的差异(作为基准)。

我尝试使用固定LOD表达式来实现此目的,但是我无法使其工作。过滤器中包含的所有市场的固定值并不对应于视图中所有市场的平均值。这甚至不是市场参与率的总和,我不知道这是哪里来的。

为了测试固定LOD表达式,我尝试将其与行engagements(以及reachNumber of Records)一起使用,并且Fixed LOD表达式返回以下项的合计之和所有市场都如预期。

我不确定如何获得市场平均参与率。不幸的是,我无法共享数据,因为它是客户端敏感的。

这是按预期工作的测试LOD:

{FIXED [Emea+Emea_Importers], [Platform], [Categories EMEA Brief], [Date in range]: SUM([Engagements])}

虽然这是我需要的那个,但不幸的是它不起作用:

{FIXED [Emea+Emea_Importers], [Platform], [Categories EMEA Brief], [Date in range]: SUM([Engagements])/SUM([Reach])}

我也根据this answer

尝试了以下方法

{FIXED : AVG( {FIXED [Emea+Emea_Importers], [Platform], [Categories EMEA Brief], [Date in range]: SUM([Engagements])/SUM([Reach])})}

但结果还是不正确。

如果有人可以帮助,那就太好了。

1 个答案:

答案 0 :(得分:1)

您要做的是为每个市场创建参与度计算,例如:

SUM({ INCLUDE [MarketName]: SUM(Engagement) / SUM(Reach) })

要获得总体平均值,可以使用LOD,例如:

SUM({ EXCLUDE MarketName: SUM(Engagement) / SUM(Reach) })

然后,您应该能够为差异创建单独的计算,例如:

[Engagement Rate - Market Excluded] - [Engagement Rate - Market Included]

您的表最终看起来像这样:

enter image description here

在上面的示例中,我使用了示例SuperStore数据。

希望这会有所帮助!