"Business Objects和Reporting Service报表的点滴知识,主要涉及使用Designer构建Universe以及在WebIntelligence RichClient中创建报表。本文基于BusinessObjects XI 3.1 -- BusinessObjects EdgeSeries版本,重点讨论Universe中的measure概念及其应用。"
在Business Objects(BO)中,Universe是连接数据源和报告之间的桥梁,它允许用户通过直观的方式来查询和分析数据。Universe设计的核心是定义对象,包括dimensions(维度)和measures(度量)。Dimensions代表数据的分类或结构,如部门、时间等,而measures则代表可以进行数学运算的数值,如销售额、利润等。
在Universe设计过程中,measure的属性设置至关重要。其中,qualification属性可以设定为dimension、measure或detail之一。"choose how this measure will be projected when aggregated"这一设置用于定义在数据聚合时,该度量如何处理。这在Web Intelligence(WebI)报告中尤其关键,因为它会影响报告中的汇总计算方式。
对于measures的理解不应仅限于聚合计算。它们可以用于各种计算,而不仅仅是总和或平均值。有时,一个列可能同时具备维度和度量的特性,例如日期列。然而,BO的分类机制将它们分为了不同的类型,这可能导致灵活性的限制。
在实际操作中,建议如下:
(A) 数值类型或常规计算列应设为measure类型,但不需要预设的聚集函数,以便能在WebI的图表中使用。
(B) 已经使用聚集函数计算过的列默认为measure类型,同样不应预设聚集函数,以避免隐藏列导致的错误计算。
(C) 如果需要聚集计算,应在WebI报告中直接调用相应的函数。
隐藏列在BO中是一种潜在的问题,因为当显示的维度少于查询的维度时,BO可能会使用默认的聚集函数。为了避免这种问题,可以通过明确设置object的属性来避免默认的聚集计算,提高报表的准确性和可读性。
使用Business Objects进行报表设计时,理解并恰当使用measures的属性和功能是至关重要的。这需要明确地定义计算方式,避免依赖隐含的聚合操作,以确保报告的清晰度和正确性。同时,对于初学者来说,深入理解这些概念可以帮助避免因工具特性不熟悉而导致的误解和错误。