3

基于 GoodData 对实现 Fact 表的出色建议,我已经能够设计一个模型来满足我们客户对跨不同表连接不同属性的要求。我现在遇到的问题是模型指标是高度非规范化的,数据会重复。我目前正在尝试找出一种对结果进行重复数据删除的方法。

例如,我有两个表——第一个是 NAMES 表,第二个是我的事实表:

名称

Val2 姓名
35 约翰
36 比尔
37 莎莉

事实

VAL1 VAL2 分数课程等级

1 35 50 90%

2 35 50 80%

3 35 50 60%

4 36 10 75%

5 37 40 95%

我想做的是以这样的方式编写一个指标,以便我们可以获得消除重复值的 SCORE 平均值。GoodData 非常出色,因为它实际上可以使用 COUNT(VARIABLE1,RECORD) 指标返回独特的结果,但在消除突破信息时,我似乎无法让平均商店保持不变。如果我保留所有字段(包括 VAL2),它会显示所有内容:

VAL2 分数(平均)

35 50

36 10

37 40

平均:33.33

但是当我删除 VAL2 时,我突然失去了记录的“唯一性”。

得分(平均)

40

我想要的是我们上面得到的 33.33 的分数。

我尝试在 SELECT AVG(SCORE) 中使用 BY 语句,但这似乎不起作用。这几乎就像我需要某种 DISTINCT 子句。关于如何获得上面第一个示例中显示的汇总值的任何想法?

4

2 回答 2

3

很高兴在这里提供帮助。我会尝试以下方法:

  • 创建一个中间指标(我们称之为员工评分):

    SELECT MIN( SCORE ) BY ID ALL 在所有其他维度

  • 然后,一旦你定义了这个指标,你应该能够为平均分数创建一个指标,如下所示:

    SELECT AVG(按员工评分)

我们创建第一个指标的原因是强制表格围绕 ID 属性标准化分数,当我们在下一个指标中使用它时消除重复项(我们也可以使用 MAX 或 AVG,没关系)。希望这可以解决您的问题,如果它不起作用,请告诉我,我很乐意提供更多帮助。也可以随时查看 GoodData 的开发者门户,了解有关报告的更多信息:

https://developer.gooddata.com/docs/reporting

最好的,

捷通

于 2013-12-10T14:19:12.813 回答
1

您应该明确检查由 Petr Olmer ( http://www.slideshare.net/petrolmer/in10-how-to-build-a-metric-in-a-metric)制作的“如何在度量中构建度量”演示文稿)。

它可以帮助您更好地理解它。

干杯,

彼得

于 2014-03-20T21:25:08.177 回答