Hyperion应用开发随笔内容介绍
hyperion中对象分为3部分(在hyperion中,这些对象可放置在EIS视图上;EIS被称为仪板表。):
数据层:图表对象,如物理表,图、旋转透视表 控制层:控制对象,如命令按钮、单选框等 显示层:显示对象,如图片,线条等 非显示引用: 要引用非EIS视图上的其他对象,可以使用 ActiveDocument.Sections[sect_name],然后根据不同对象使用不同的方法和属性 显示引用: ActiveDocument.Sections["EIS"].Controls.DropDown1要控制另一个报表的显示,如下:
ActiveDocument.Sections[sect_name].Limits[col_name].SelectedValues.RemoveAll(); ActiveDocument.Sections[sect_name].Limits[col_name].SelectedValues.Add(choice); ActiveDocument.Sections[sect_name].Limits[col_name].Operator=bqLimitOperatorEqual; 这样当跳转到该报表时,则显示等于相应的信息 语法采用javascript样式数据层对象在建立时必须确定一个来源,如查询对象来源于连接对象,表对象来源于查询或者另一个表,图、透视表对象来源于表,单击某对象时就可以得知该对象来源于哪里
故在程序中只需对某个根源的数据进行改动,则其相应的子数据也会变动※※※趋势函数使用:
利用趋势函数可以在当前行获得上一行的值 MovingSum( Amount_Sales, 2,'沿行')-Amount_Sales 简单移动平均数 由于平均数过于简单,如果存在极大极小值会影响平均数的结果,故通过简单的移动平均数可以粗略的计算出一个不受极大极小值影响的平均数 权重移动平均数 由于各位的数所代表的重要程度不同,为了避免历史数据对现有数据造成的偏差,可以加大现有数据的权重,避免因历史数据异常导致平均数异常,如12月份的3个月移动平均数=(12月的数×3+11月的数×2+10月的数*1)/(3+2+1) 指数移动平均数 类似于权重,也会给最近的数据给于较高的权重,但是不同于权重的是,它会把前一个的平均数作为计算中的一个元素参与运算,所以其计算出来的结果是累计的,更具有参考价值 计算公式如下: X=常数×(当前值-上一个平均数)+上一个平均值 其中常数=2/(n+1),其中N为平滑系数 MovingDiff (column, window, break_col) 计算差值 MovingMax (column, window, break_col) 计算最大值 MovingMed (column, window, break_col) 计算中值 MovingSum (column, window, break_col) 计算累加 MovingMin (column, window, break_col) 计算最小值