【问题标题】:Calculating an average metric in GoodData计算 GoodData 中的平均指标
【发布时间】:2013-12-10 14:15:29
【问题描述】:

基于 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 子句一样。关于如何获得上面第一个示例中显示的汇总值的任何想法?

【问题讨论】:

    标签: reporting business-intelligence gooddata


    【解决方案1】:

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

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

      在所有其他维度中按 ID 选择 MIN( SCORE )

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

      SELECT AVG(按员工评分)

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

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

    最好的,

    JT

    【讨论】:

      【解决方案2】:

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

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

      干杯,

      彼得

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-14
        • 2016-01-14
        • 2021-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多