hyperion dashboard

880
Hyperion Solutions Corporation Hyperion ® Intelligence Release 8.2 Object Model and Dashboard Design Guide D832882000

Upload: donthadineshkumar

Post on 10-Mar-2015

942 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Hyperion Dashboard

Hyperion Solutions Corporation

Hyperion® Intelligence™

Release 8.2

Object Model and Dashboard Design Guide

D832882000

Page 2: Hyperion Dashboard

Copyright © 1989–2004 Hyperion Solutions Corporation.

All rights reserved.

“Hyperion” and Hyperion's product names are trademarks of Hyperion. References to

other companies and their products use trademarks owned by the respective

companies and are for reference purpose only.

No portion of this manual may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or information storage and retrieval systems, for any purpose other than the purchaser's personal use, without the express written permission of Hyperion.

The information contained in this manual is subject to change without notice. Hyperion shall not be liable for errors contained herein or consequential damages in connection with the furnishing, performance, or use of this material.

This software described in this manual is licensed exclusively subject to the conditions

set forth in the Hyperion license agreement. Please read and agree to all terms before

using this software.

GOVERNMENT RIGHTS LEGEND: Use, duplication or disclosure by the U.S.

Government is subject to restrictions set forth in the applicable Hyperion license

agreement and as provided in DFARS 227.7202-1(a) and 227.7202-3(a) (1995),

DFARS 252.227-7013(c)(1)(ii) (Oct 1988), FAR 12.212(a) (1995), FAR 52.227-19, or

FAR 52.227-14, as applicable.

Hyperion Solutions Corporation1344 Crossman AvenueSunnyvale, California 94089

Printed in the U.S.A.

Page 3: Hyperion Dashboard

Contents in Brief

Preface

PART I OverviewCHAPTER 1 Dashboards

CHAPTER 2 Hyperion Intelligence Clients Object Model

PART II Scripting ReferenceCHAPTER 3 Dashboard Scripting Reference

CHAPTER 4 Objects

CHAPTER 5 Methods

CHAPTER 6 Properties

CHAPTER 7 List of Constants

CHAPTER 8 Object Model Map

CHAPTER 9 JavaScript Examples

CHAPTER 10 TroubleShooting Scripts

CHAPTER A Designing for the Intelligence iServer

Glossary

Index

Page 4: Hyperion Dashboard

iv Contents in Brief

Page 5: Hyperion Dashboard

Contents

Preface

Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix

Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx

Document Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx

Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx

Where to Find Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi

Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxii

Additional Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiiiEducation Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiiiConsulting Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiiiTechnical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiv

Documentation Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiv

PART I Overview

CHAPTER 1 Dashboards

Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Working with the Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Inserting a Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Renaming an Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Deleting an Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Switching Between Design and Run Modes . . . . . . . . . . . . . . . . . . . . . . . 1-5

Working with Dashboard Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6Inserting Dashboard Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7Deleting Dashboard Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8

External Content in Dashboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Embedded Browser Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10Browsing the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13

Page 6: Hyperion Dashboard

vi Contents

Document Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15Hyperlink Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19

Setting Dashboard Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22

Using Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24Layout Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24

Design Guides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25Rulers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-25Dashboard Section Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-26

Navigation Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-27

Dashboard Menu Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-28

CHAPTER 2 Hyperion Intelligence Clients Object Model

Understanding the Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2

Understanding Hyperion Intelligence Clients Events . . . . . . . . . . . . . . . . . . 2-4Object Level Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Section Level Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Document Level Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8

Associating a Document Level Event . . . . . . . . . . . . . . . . . . . . . . 2-8

Using the Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10Object Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11Scripting Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12Description Pane and Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13

Sample JavaScript Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13

Testing Scripts Using the Execution Window . . . . . . . . . . . . . . . . . . . . . . . 2-14

Checking Errors Using the Console Window . . . . . . . . . . . . . . . . . . . . . . . 2-14

Finding/Replacing Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14

PART II Scripting Reference

CHAPTER 3 Dashboard Scripting Reference

Scripting Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2

Understanding Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3Defining Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3Calling Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4Function Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

Defining Functions in Different Scopes . . . . . . . . . . . . . . . . . . . . 3-5

Page 7: Hyperion Dashboard

Contents vii

Summary of Function Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7Global variable – – – – – . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7Document Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8Section Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

Using JavaScript Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9Conditional Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9

if...else Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9inline if Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10switch Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11

Loop Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14for Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14do...while Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15while Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15label Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16continue Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17

break Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18

Manipulating Objects with JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19for...in Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19with Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20

Microsoft Automation Interfaces and the Object Model . . . . . . . . . . . . . . . 3-21

OLE Automation Controller within JavaScript (JOOLE) . . . . . . . . . . . . . . 3-22

Exporting Scripts to Text Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24

Troubleshooting Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25Space-Saving Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25Case-Sensitive Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26Assignment Operators Versus Comparison Operators . . . . . . . . . . . . . 3-26Conditional Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27Syntax Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29Recalculating Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29Designing Your Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30Code Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31Bypass Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32Getting Help with a Problem Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33

CHAPTER 4 Objects

ActiveDocument (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2

ActiveSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

Page 8: Hyperion Dashboard

viii Contents

AggregateLimits (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

AppendQueries (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

Application (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10

AreaChart (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-12

AvailableValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13

AxisItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-14

AxisLabels (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-15

BarChart (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-16

BarLineChart (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-17

Body (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-18

CategoryItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19

ChartSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-21

Column (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-23

Columns (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24

Connection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-25

Console (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-27

Control (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-28

Controls (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-29

ControlsCheckBox (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-30

ControlsCommandButton (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31

ControlsDropDown (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-32

ControlsListBox (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-33

ControlsRadioButton (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34

ControlsTextBox (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-35

Cookies (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36

CornerLabels (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40

CustomValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42

DashboardSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44

DataLabels (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45

DataModelSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46

Date Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-48

DateNow Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-49

DateTime Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50

DateTimeNow Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51

Page 9: Hyperion Dashboard

Contents ix

DBSpecific (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-52

DefinedJoinPaths (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-53

DefinedJoinPath (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55

DerivableQuery (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-56

DerivableQueries (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-57

DerivedItem (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-58

DerivedItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-59

DerivedTable (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-60

DerivedTables (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-61

DesktopClient (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-62

Dimension (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-63

Dimensions (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-65

DMCatalog (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-66

DMCatalogItem (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67

DMCatalogItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-68

Document (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69

Documents (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-71

Events (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-72

EmbeddedBrowser (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-73

Facts (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-74

Facts (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-75

Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-76

Fields (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-77

FillFormat (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-78

Font (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-79

Footer (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-82

Form (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-83

Formatting (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-89

Group (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-90

Groups (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-91

GroupItem (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-92

GroupItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-93

Header (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-94

HyperLink (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-95

Page 10: Hyperion Dashboard

x Contents

Item (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-96

Items (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-97

Join (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-98

Joins (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-99

JoinsOptions (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-101

LabelsAxis (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-103

LabelValues (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-104

LastPrinted (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-105

LastPrinted Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-106

LastSaved (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-107

LastSaved Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-108

LeftAxis (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-109

Legend (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-110

Legend (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-111

Limit (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-113

Limits (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-115

LimitValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-118

LineChart (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-120

LineFormat (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-121

LocalJoins (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-122

LocalResults (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-123

LocalResultsTopicItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-126

MetaDataConnection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-127

Navigation (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-129

OLAPCatalog (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-130

OLAPConnection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-132

OLAPDimensions (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-133

OLAPLabel (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-134

OLAPLabels (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-135

OLAPLevelOrHierarchy (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-139

OLAPMeasure (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-140

OLAPMeasures (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-141

OLAPQuerySection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-142

OLAPSlicer (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-143

Page 11: Hyperion Dashboard

Contents xi

OLAPSlicers (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-144

OLAPValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-145

OLAPValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-146

PageCount Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-147

PageFooter (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-148

PageHeader (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-149

PageNm (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-150

PageXofY Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-151

Paging (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-152

Parentheses (Collections) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-153

Parentheses (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-155

Path Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-156

PieChart (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-157

PivotFact (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-158

PivotFacts (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-159

PivotLabel (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-160

PivotLabels (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-161

PivotLabelTotal (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-162

PivotLabelTotals (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-163

PivotSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-165

PlugInClient (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-166

QuerySection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-167

Query SQL (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-169

RecentFiles (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-170

ReportCharts (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-171

ReportChart (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-172

ReportFooter (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-173

ReportGroup (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-174

ReportHeader (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-175

ReportName Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-176

ReportPivot (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-177

ReportPivots (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-178

ReportSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-179

ReportTable (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-180

Page 12: Hyperion Dashboard

xii Contents

ReportTables (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-181

Request (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-182

Requests (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-183

Result Limit (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-184

Results (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-185

Results (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-186

RightAxis (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-187

Scheduler (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-188

Section (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-189

Sections (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-191

Sections (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-192

SelectedList (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-193

SelectedValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-194

Session (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-196

Shape (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-198

Shapes (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-199

SharedLibrary (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-200

SortItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-201

SortItems (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-203

SideLabels (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-204

Standard (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-205

TableFact (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-206

TableFacts (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-207

TableSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-208

ThinClient (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-209

Time Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-210

TimeNow Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-211

Toolbar (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-212

Toolbars (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-213

TopLabels (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-214

Topic (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-215

TopicItem (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-216

TopicItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-217

Topics (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-218

Page 13: Hyperion Dashboard

Contents xiii

URL (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-219

UserValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-221

ValuesAxis (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-223

WebClientDocument (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-224

XAxisLabel (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-225

XCategories (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-226

XCategory (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-227

XLabels (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-228

YLabels (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-229

ZAxisLabel (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-230

ZCategories (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-231

ZCategory (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-232

ZLabels (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-233

Adding and Maintaining the UserValue Object . . . . . . . . . . . . . . . . . . . . . 4-234Adding a UserValue object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-234Retrieving a UserValue object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-235Removing a UserValue object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-236

CHAPTER 5 Methods

Activate (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

Add (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

AddAll (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6

AddAllTopics (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7

AddComputed (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

AddComputedItem (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9

AddDrillThroughValue (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11

AddDrillValue (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12

AddExportSection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-13

AddFilter (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16

AddFilterValue (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18

AddTopic (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-20

AddTotal (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21

AddTotals (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-22

Alert (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23

AliasTable (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-24

Page 14: Hyperion Dashboard

xiv Contents

AuditSQL (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-25

AutoSizeHeight (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-27

AutoSizeWidth (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-28

Call (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29

ChartThisPivot (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30

Close (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-31

Connect (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-32

Copy (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-34

CreateConnection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-35

CreateDateGroup (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-36

CreateLimit (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-37

CustomSQLFrom (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-39

CustomSQLWhere (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-41

Disconnect (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-42

DoEvents (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-43

DownloadToResults (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44

DrillDown (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-45

DrillThrough (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-46

DrillUp (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-47

Duplicate (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-48

ExecuteBScript (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-49

Export (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-50

ExportToStream (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-52

FocusSelection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-54

GetCell (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-55

Hide (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-56

HideSelection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57

ImportDataFile (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58

ImportSQLFile (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-59

InterruptQueryProcess (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-60

Item (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-61

ItemIndex (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-63

Layer (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-64

LoadFromFile (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-66

Page 15: Hyperion Dashboard

Contents xv

LoadSharedLibrary (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-67

ModifyComputed (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-68

ModifyRepositoryFileOther (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-69

ModifyRepositoryFileBQY (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-70

ModifyRepositoryFileBQYJob (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-74

ModifyRepositoryFileSQRJob (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-75

Move (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-76

New (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-77

OnActivate (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-78

OnChange (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-80

OnClick (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-81

OnClientClick (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-82

OnClientEnter (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-83

OnClientExit (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-84

OnDeactivate (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-85

OnDoubleClick (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-86

OnEnter (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-87

OnExit (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-88

OnPostProcess (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-89

OnPreProcess (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-90

OnRowDoubleClick (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-91

OnSelection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-92

OnShutdown (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-93

OnStartup (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-94

Open (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-95

OpenURL (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-96

PivotThisChart (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-97

PivotTo (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-98

PrintOut (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-99

Process (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-100

ProcessAll (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-101

ProcessStoredProc (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-102

ProcessToTable (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-103

Quit (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-104

Page 16: Hyperion Dashboard

xvi Contents

Recalculate (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-105

Refresh (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-106

RefreshAvailableValues (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-107

RefreshDataNow (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-108

Remove (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-109

RemoveAll (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-111

RemoveAllTopics (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-112

RemoveExportSection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-113

RemoveFilterValue (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-114

RemoveTopic (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-115

RemoveTotal (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-116

ResetCustomerSQL (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-117

ResizeToBestFit (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-118

RetrieveDimensions (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-119

Save (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-120

SaveAs (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-121

Select (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-122

SendSQL (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-123

SetDrillThrough (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-124

SetODSPassword (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-125

SetPassword (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-126

SetStoredProcParam (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-127

Shell (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-128

ShowAll (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-129

ShowAsChart (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-130

SortByFact (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-131

SortByLabel (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-132

SortNow (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-133

Spring (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-134

SyncWithDatabase (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-135

UnHide (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-136

UnhideAll (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-137

Unselect (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-138

UnSpring (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-139

Page 17: Hyperion Dashboard

Contents xvii

UseAlternateMetadataLocation (Method) . . . . . . . . . . . . . . . . . . . . . . . . . 5-140

Write (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-141

Writeln (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-142

CHAPTER 6 Properties

Accessibility (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2

Active (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4

AdaptiveState (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6

AdjustableScale (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7

Alignment (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8

AllowNonJoinedQueries (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9

API (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10

AttributeDimension (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11

AutoAlias (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12

AutoCommit (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13

AutoFrequency (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-14

AutoInterval (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15

AutoJoin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16

AutoProcess (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-17

AutoResize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18

AutoScale (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19

AvailableValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20

AxisPlotValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21

AxisType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22

BackgroundAlternateColor (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23

BackgroundAlternateFrequency (Property) . . . . . . . . . . . . . . . . . . . . . . . . . 6-25

BackgroundColor (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26

BackgroundShowAlternateColor (Property) . . . . . . . . . . . . . . . . . . . . . . . . 6-28

BeginLimitName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-29

BorderColor (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30

BorderWidth (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32

BottomMargin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33

BrushStyle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34

ChartType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35

Checked (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-36

Page 18: Hyperion Dashboard

xviii Contents

ClientScriptStatus (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-37

Clusterby (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-38

Color (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-39

ColumnType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-40

Connected (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-41

ContainsHybridAnalysisData (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . 6-42

Count (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-43

CubeName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-44

CurrentDir (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-45

CSSExport (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-46

CustomSQL (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-47

DashStyle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-48

Database (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-49

DatabaseList (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-51

DatabaseName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-52

DatabaseTotals (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-53

DataFunction (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-55

DataType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-57

DBLibAllowChangeDatabase (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-58

DBLibApiSeverity (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-59

DBLibDatabaseCancel (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-60

DBLibPacketSize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-61

DBLibServerSeverity (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-62

DBLibUseQuotedIdentifiers (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-63

DBLibUseSQLTable (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-64

DecimalPlaces (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-65

Description (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-66

DHTMLExportBreakRowCount (Property) . . . . . . . . . . . . . . . . . . . . . . . . 6-67

DHTMLVerticalPageBreakUnits (Property) . . . . . . . . . . . . . . . . . . . . . . . . 6-68

Display (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-69

DisplayMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-70

DisplayName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-72

Page 19: Hyperion Dashboard

Contents xix

DrillDownDisplay (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-74

Effect (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-76

EnableAsyncProcess (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-77

Enabled (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-78

EnableForHybridAnalysis (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-79

EnableNullFactsInComputedItems (Property) . . . . . . . . . . . . . . . . . . . . . . 6-80

EnableTransActionMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-81

EndLimitName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-82

ExecuteOnPostProcess (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-83

ExecuteOnPreProcess (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-84

ExecuteOnShutDown (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-85

ExecuteOnStartup (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-86

ExportWithoutQuotes (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-87

Filename (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-88

FilePath (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-89

FillUnderRibbon (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-90

Focus (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-91

Formula (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-92

FullName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-93

GraphicsFileType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-94

Group (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-95

HardwireMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-96

Height (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-97

HorizontalAlignment (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-98

HostName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-99

HTMLBoundaryHeight (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-100

HTMLBoundaryMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-101

HTMLBoundaryWidth (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-102

HTMLDisplayViews (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-103

HTMLExportBreakColCount (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . 6-104

HTMLExportBreakRowCount (Property) . . . . . . . . . . . . . . . . . . . . . . . . . 6-105

HTMLHorizontalPageBreakEnabled (Property) . . . . . . . . . . . . . . . . . . . . 6-106

HTMLHorizontalPageBreakUnits (Property) . . . . . . . . . . . . . . . . . . . . . . 6-107

Page 20: Hyperion Dashboard

xx Contents

HTMLMaxBarsDisplayed (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-108

HTMLPregenerateFirstLastNPages (Property) . . . . . . . . . . . . . . . . . . . . . 6-109

HTMLPregenerateFirstLastNViews (Property) . . . . . . . . . . . . . . . . . . . . . 6-110

HTMLPregenerateMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-111

HTMLSyncScrollingProps (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-113

HTMLVerticalPageBreakEnabled (Property) . . . . . . . . . . . . . . . . . . . . . . 6-114

HTMLVerticalPageBreakUnits (Property) . . . . . . . . . . . . . . . . . . . . . . . . . 6-115

Ignore (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-116

IncludeInProcessAll (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-117

IncludeNulls (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-119

Index (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-120

IntervalFrequency (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-121

KeepWithNext (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-122

KeepTogether (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-123

LabelFrequency (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-124

LabelText (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-125

LastSQLStatement (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-126

LeftMargin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-127

LimitValueType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-128

LogicalOperator (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-129

MarkerBorderColor (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-130

MarkerFillColor (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-131

MarkerSize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-132

MarkerStyle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-133

MaximumBarsDisplayed (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-134

MaximumBarsEnabled (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-135

MetadataPassword (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-136

MetadataUser (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-137

MetaFileChoice (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-138

MinFontSize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-139

MultiSelect (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-140

Name (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-141

Negate (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-143

NumberFormat (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-144

Page 21: Hyperion Dashboard

Contents xxi

ODBCDatabasePrompt (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-145

ODBCEnableLargeBufferMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . 6-146

ODSUsername (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-147

Operator (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-148

Orientation (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-150

Owner (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-151

PageBreak (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-152

ParentName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-153

Password (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-154

Path (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-155

PathSeparator (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-156

Pattern (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-157

PhysicalName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-158

PrintAllViews (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-160

ProcessEventOrigin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-161

ProcessSequenceNum (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-162

Prompt (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-165

QueryCount (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-166

QueryInProcess (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-167

QuerySize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-168

RefreshData (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-169

Repository (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-171

RepositoryBQYSection (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-172

RepositoryBQYToolbarType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-173

RepositoryDocument (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-174

RepositoryFileType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-175

RepositoryJobFilename (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-176

RepositoryJobRun (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-177

RepositoryParams (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-178

RepositorySmartcut (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-179

ResetPrintProperties (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-180

RightMargin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-181

Rotation (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-182

RowCount (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-183

RowLimit (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-184

Page 22: Hyperion Dashboard

xxii Contents

RowLimitActive (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-185

RowNumber (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-186

SaveResults (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-187

SaveWithoutUsername (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-188

ScaleMax (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-189

ScaleMin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-190

ScaleX (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-191

ScaleY (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-192

Scrollable (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-193

ShowScrollbar (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-194

ScrollbarsAlwaysShown (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-195

SelectedIndex (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-196

Shadow (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-197

ShiftPoints (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-198

Show3DObjects (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-199

ShowAdvanced (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-200

ShowAllPositive (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-201

ShowBackPlane (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-202

ShowBarValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-203

ShowBorder (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-204

ShowBrioRepositoryTables (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-205

ShowCatalog (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-206

ShowColumnTitles (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-207

ShowColumnTotal (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-208

ShowCustomMenu (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-209

ShowFullNames (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-210

ShowHorizontalPlane (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-211

ShowIconJoins(Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-212

ShowIntervalTickmarks (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-213

ShowIntervalValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-214

ShowLabel (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-215

ShowLabels (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-216

ShowLegend (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-217

ShowLevelProperties (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-218

Page 23: Hyperion Dashboard

Contents xxiii

ShowLocalResults (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-219

ShowMenuBar (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-220

ShowMetadata (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-221

ShowOutliner (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-222

ShowPartialViewIndicator (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-223

ShowPercentages (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-224

ShowRowNumbers (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-225

ShowSectionTitleBar (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-226

ShowSlicer (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-227

ShowSortLine (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-228

ShowStatusBar (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-229

ShowSubTitle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-230

ShowTickmarks (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-231

ShowTitle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-232

ShowValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-233

ShowValuesAtRight (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-234

ShowVerticalPlane (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-235

Size (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-236

SmartScaling (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-237

SortAscending (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-239

SortDescending (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-240

SortFactName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-241

SortFunction (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-242

SortOrder (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-243

SpecificMetadataLogin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-246

SQLName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-247

SQLNetRetainDateFormats (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-248

StackClusterType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-249

StatusText (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-250

StringRetrieval (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-251

Style (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-252

SubTitle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-253

SuppressDuplicates (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-254

SuppressEmptyRows (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-255

Page 24: Hyperion Dashboard

-xxiv Contents

SuppressMissingRows (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-256

SuppressZeroRows (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-257

SurfaceValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-258

SuspendCalculation (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-259

SuspendRecalculation (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-260

Text (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-261

TextWrap (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-262

TickmarkFrequency (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-263

TimeLimit (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-264

TimeLimitActive (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-265

Title (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-266

TopMargin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-267

TopicName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-268

TrueComputedItemTotals (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-269

Type (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-270

UnionController (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-274

UniqueRows (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-275

URL (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-276

Username (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-277

ValueSource (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-278

VariableLimit (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-279

VariableSlicerMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-280

Version (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-281

VerticalAlignment (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-282

View (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-283

Visible (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-284

Width (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-285

WindowState (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-286

CHAPTER 7 List of Constants

CHAPTER 8 Object Model Map

Object Model Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2

Application Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3

Active Document Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4

Page 25: Hyperion Dashboard

Contents -xxv

Query Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5

Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6

Chart Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7

Results, Report, and Pivot Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-8

Table and OLAPQuery Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9

CHAPTER 9 JavaScript Examples

Displaying and Entering Values in a Text Box . . . . . . . . . . . . . . . . . . . . . . . . 9-2

Retrieving and Setting the Properties of an Object . . . . . . . . . . . . . . . . . . . . 9-3

Enabling and Disabling Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4

Controlling the Visibility of Graphics and Controls . . . . . . . . . . . . . . . . . . . 9-5

Creating an OCE (connection file) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6

Displaying a Connection Login Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6

Downloading Data Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7

Displaying a Table Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7

Adding Topics to a Data Model Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7

Setting up Topic Object Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8

Adding Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8

Adding Items to the Request Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-9

Adding a Computed Column to a Query Request Line . . . . . . . . . . . . . . . . . 9-9

Creating and Setting Variable Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10

Using a BrioQuery 5.5 Limit Dialog Box andStoring Selected Value in Text Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10

Turning off the Page Headers for the First Page in the Report . . . . . . . . . . 9-11

Turning off the Prompt To Save Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . 9-11

CHAPTER 10 TroubleShooting Scripts

Space-Saving Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2

Case-Sensitive Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3

Assignment Operators Versus Comparison Operators . . . . . . . . . . . . . . . . 10-4

Conditional Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-5

Syntax Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-7

Recalculating Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-8

Designing Your Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9

Code Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11

Page 26: Hyperion Dashboard

-xxvi Contents

Bypass Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11

Getting Help with a Problem Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12

CHAPTER A Designing for the Intelligence iServer

Architecture of the Intelligence iServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3

HTML Pregeneration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3Partial Document Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3Distributed Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3Disk Caching of BQY Documents . . . . . . . . . . . . . . . . . . . . . . . . A-4

Highlights of the Intelligence iServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4

Summary of Design Considerations by Section . . . . . . . . . . . . . . . . . . . . . . A-6General Features Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6Query and DataModel Sections Design and Use . . . . . . . . . . . . . . . . . . A-7Results and Table Sections Design and Use . . . . . . . . . . . . . . . . . . . . . . . A-7Pivot Section Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8Chart Section Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8Dashboard Section Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9Report Section Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10

Locating Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11Console Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11Error Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11try-catch block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11

Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12Control Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12

Graphics Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13

Borders and Background/Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13

Embedded Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14

Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17Document Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17Dashboard Section Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17Dashboard Object Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17

Client-Side JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18Client Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18Client-Side Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-20Section Level Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-21

Page 27: Hyperion Dashboard

Contents -xxvii

Text Box Events and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-21

Alert Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-22

Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23Excluded Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23Standard Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23Paging Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-24Event Controls for Toolbar Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25Intelligence iServer Document Display . . . . . . . . . . . . . . . . . . . . . . . . . A-25Personal Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26Pre-Generated HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26Section 508 Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26

Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-27Primary Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-27

Object Model Exclusion List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-28

User Embedded HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-33

Glossary

Index

Page 28: Hyperion Dashboard

-xxviii Contents

Page 29: Hyperion Dashboard

Preface

Welcome to the Hyperion Intelligence Clients Object Model and Dashboard Design Guide. This preface discusses the following topics:

■ “Purpose” on page xxix

■ “Audience” on page xxx

■ “Document Structure” on page xxx

■ “Related Documents” on page xxx

■ “Where to Find Documentation” on page xxxi

■ “Conventions” on page xxxii

■ “Additional Support” on page xxxiii

■ “Documentation Feedback” on page xxxiv

Purpose

The book describes how to create custom applications in the Dashboard section, how to use JavaScript to script and control Hyperion Intelligence Clients and web clients documents, how JavaScript programs are interpreted by the Hyperion Intelligence Clients engine, how JavaScript programs are used to provide dynamic control of a Hyperion Intelligence Clients document, how documents enhanced with JavaScript are able to respond to user interaction, and how JavaScript is used within Hyperion Intelligence Clients and the web client to respond to user events and the document lifecycle.

Page 30: Hyperion Dashboard

xxx Preface

AudienceThis book is written for developers who create documents using Hyperion Intelligence Clients Designer, Explorer and web clients (those users with “Data Model and Analyze, or Query and Analyze priviledges) and who need to create front-ends using the Dashboard functionality.

The reference sections are written for all levels of users who need detailed information on Hyperion Intelligence Clients and web clients elements and JavaScript.

Document StructureObject Model and Dashboard Design Guide is one of four books that explain how to use Hyperion Intelligence Clients (see “Related Documents” on page xxx). This book contains two main parts:

■ Part I, “Overview,” provides an overview of the Dashboard section and introduces the Hyperion Intelligence Clients object model and JavaScript, an object-oriented programming language.

■ Part II, “Scripting Reference,” describes the structure of applications scripted in Hyperion Intelligence Clients and provides general reference and troubleshooting information. It is also a complete reference to Hyperion Intelligence Clients’s objects, methods, and properties, and to the Hyperion Intelligence Clients object model.

Related DocumentsIn addition to the Object Model and Dashboard Design Guide, Hyperion Intelligence includes the following documentation:

Hyperion Intelligence Getting Started Guide provides an overview of Hyperion Intelligence Clients and explains the user interface and basic commands. It includes how to retrieve data, how to query new data and change existing queries, and how to query a single database as well as multiple databases. It also covers how to work with query results.

Page 31: Hyperion Dashboard

xxxi

Hyperion Intelligence Data Analysis and Reporting describes how to use the Designer and Explorer powerful reporting features —pivots, charts, and tables—and how to use the Report Designer to create spectacular reports. It also explains common report features such as printing, drill-down, and the spotlighter.

Hyperion Intelligence Administrator’s Guide explains data modeling, including how to modify existing data models, and create new data models. It also discusses metadata definitions and database connectivity.

Where to Find DocumentationAll Hyperion Intelligence Clients documentation is accessible from the following locations:

■ Online help is accessible from the product that it documents. Start the product and click the Help button or menu command.

■ The Brio Software Web site is located at http://www.hyperion.com.

■ Access to the Hyperion Download Center is through http://hyperion.subscribenet.com.

To access documentation from the Brio Software Web site:

1 Log on to http://www.hyperion.com.

2 Select the Support link and type your username and password to log on.

Note New users must register to receive a username and password.

3 Follow the on-screen instructions.

To access documentation from the Hyperion Download Center:

1 Log on to http://hyperion.subscribenet.com.

2 In the Login ID and Password text boxes, enter your assigned login ID name and password. Then click Login.

Page 32: Hyperion Dashboard

xxxii Preface

3 If you are a member on multiple Hyperion Download Center accounts, select the account that you want to use for the current session.

4 Follow the on-screen instructions.

To order printed documentation:

1 Visit the Brio Software Web site at http://www.hyperion.com.

2 In the United States, call Brio Software Customer Support at 877-901-4975.

3 From outside the United States, including Canada, call Brio Software Customer Support at 203-703-3600. Clients who are not serviced by support from North America should call their local support centers.

ConventionsThe following table shows the conventions that are used in this document:

Table 1 Conventions Used in This Document

Item Meaning

➤ Arrows indicate one-step procedures.

Bold Bold highlights options, buttons, or tabs that you need to choose and text that you need to type.

CAPITAL LETTERS Capital letters denote commands and various IDs.

For example: CLEARBLOCK command

[Ctrl + 0] Keystroke combinations shown with the plus sign (+) indicate that you should press the first key and hold it while you press the next key. Do not type the plus sign.

Example text Courier font indicates that the example text is code or syntax. Courier font is also used for file names, directory/folder names, and path names.

For example: Sample1.bqy is located in the \HYPERION_HOME\Samples directory.

Page 33: Hyperion Dashboard

4-xxxiii

Additional SupportIn addition to providing documentation and online help, Hyperion offers the following product information and support. For details on education, consulting, or support options, visit Hyperion’s Web site at http://www.hyperion.com.

Education ServicesHyperion offers instructor-led training, custom training, and eTraining covering all Hyperion applications and technologies. Training is geared to administrators, end users, and information systems (IS) professionals.

Consulting ServicesExperienced Hyperion consultants and partners implement software solutions tailored to clients’ particular reporting, analysis, modeling, and planning requirements. Hyperion also offers specialized consulting packages, technical assessments, and integration solutions.

Courier italics Courier italic text indicates a variable field in command syntax. Sub-stitute a value in place of the variable shown in Courier italics.

Mouse orientation This document provides examples and procedures using a right-handed mouse. If you use a left-handed mouse, adjust the proce-dures accordingly.

Menu options Options in menus are shown in the following format. Substitute the appropriate option names in the placeholders, as indicated.

Menu name→Menu command→Extended menu command

For example: 1. Select File→Desktop→Accounts.

Table 1 Conventions Used in This Document (Continued)

Item Meaning

Page 34: Hyperion Dashboard

4-xxxiv Preface

Technical SupportHyperion provides enhanced electronic-based and telephone support to clients to resolve product issues quickly and accurately. This support is available for all Hyperion products at no additional cost to clients with current maintenance agreements.

Documentation FeedbackHyperion strives to provide complete and accurate documentation. We value your opinions on this documentation and want to hear from you. Give us your comments by going to http://www.hyperion.com/services/support_programs/doc_survey

/index.cfm.

Page 35: Hyperion Dashboard

P A R T I

IOverview

Page 36: Hyperion Dashboard
Page 37: Hyperion Dashboard

1 Dashboards

A Dashboard is a customizable document front-end that makes it easy for developers to build and deploy analytic applications and for end users to access information.

This chapter provides an overview of the Dashboard section and explains how to create and work with Dashboard sections, and how to use Dashboard objects and properties.

In This Chapter Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2

Working with the Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4

Working with Dashboard Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-6

External Content in Dashboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-9

Setting Dashboard Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-22

Using Design Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-24

Dashboard Menu Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-28

Page 38: Hyperion Dashboard

1-2 Dashboards

Dashboard SectionThe Dashboard section provides a streamlined, push-button approach to querying a database. Through the Dashboard section, application designers can quickly combine report sections and enhanced Dashboard controls to build and deploy analytic applications that deliver prepackaged business content, including:

■ Simple forms to collect multiple input parameters for a report

■ Executive dashboard applications, complete with visual drill-down from high-level metrics to underlying data content

■ Browser-style navigation pages to assist users in maneuvering around and between documents

Hyperion Intelligence Clients and the web client (with Query and Analyze and DataModel and Analyze adaptive state privileges) allows developers to customize the Dashboard section to create an interface that focuses on precisely those views of the data that are relevant to the end user. When end users open a bqy document, the customized Dashboard section appears as the document front-end. The user can navigate the Dashboard section with a click of a button, enter parameters, and run reports without any in-depth knowledge of the data structure or the Hyperion Intelligence Clients application. Each button click, item selection, or navigation sequence invokes a script which the Hyperion Intelligence Client and web client application processes in the background.

Page 39: Hyperion Dashboard

Dashboard Section 1-3

F igure 1-1 Dashboard Section

You customize an Dashboard section by dragging objects from the Catalog pane to the Content pane, and then attaching scripts to them that are executed in response to an event or action.

Ruler Units of Measurement Ruler Design/Run Alignment Resizing Layers

Section Pane

Graphic Items

Embedded Dropdown list

Embedded Graphic

Embedded Text

Embedded Browser

Embedded Chart Section

Sections

Embedded PictureEmbedded Command Button

Catalog Pane

Control Items

Content Pane

Page 40: Hyperion Dashboard

1-4 Dashboards

Working with the Dashboard SectionLike other report sections, the Dashboard section is a section you add to a bqy document. The Dashboard section always appears at the top of the Section pane.

Inserting a Dashboard SectionWhen you add a new Dashboard section, it is listed after any existing Dashboard sections.

To insert a new Dashboard section:

Renaming an Dashboard SectionThe first Dashboard section inserted in a document is given the default section name of Dashboard. Subsequent Dashboard sections are numbered sequentially, for example, Dashboard2, Dashboard3, Dashboard4, and so on.

To rename an Dashboard section:

1 In the Section pane, select the Dashboard section you want to rename.

2 Choose Edit→Rename Section.

The Section Label dialog box appears.

3 Enter a new name in the Label field and click OK.

Deleting an Dashboard SectionTo delete an Dashboard Section:

1 In the Section pane, select the Dashboard section you want to delete.

2 Choose Edit→Delete Section.

The Delete Section dialog box appears.

➤ Choose Insert→New Dashboard.

Page 41: Hyperion Dashboard

Working with the Dashboard Section 1-5

3 Click Delete.

Switching Between Design and Run ModesThe Dashboard section has two modes:

■ Design mode – Used when designing the Dashboard section. In Design mode, the objects available for inclusion in the Dashboard section are displayed in the Catalog pane.

■ Run mode – Used when deploying the Dashboard section to end users. This is the default mode for all Dashboard sections. The Catalog pane is empty in Run mode.

All Dashboard sections are always in the same mode. Hyperion Intelligence Clients documents open by default with Dashboard sections in Run mode. Changing one Dashboard section to Design mode changes all Dashboard sections to Design mode.

To toggle between Design mode and Run mode:

Choose Dashboard→Design Mode.

Page 42: Hyperion Dashboard

1-6 Dashboards

Working with Dashboard ObjectsThere are a variety of embeddable objects to help you construct a custom Dashboard section, including:

■ Sections – Results, Chart, Pivot, Table, and OLAP sections from the active document. When you embed an existing section in an Dashboard section, the section is automatically resized to fit. You can resize the embedded section in the Dashboard Content pane if you wish. In addition, data in embedded sections are automatically updated to reflect any changes made in the original section.

Note In Run mode, active embedded tables and results have the Sort Ascending and Sort Descending options available on the shortcut menu. You can also resize Table and Results columns.

■ Graphics – Lines, rectangles, ovals, and pictures for which you can set colors and border properties. Table 1-1 lists the graphics objects available in the Catalog pane of the Dashboard section.

■ Controls – Widgets to include in the application interface for which you can set fonts and default values. Controls provide users a way to interact with the application and can be populated with values at design time or dynamically populated using JavaScript. Table 1-2 lists the Dashboard control objects and their suggested use.

Table 1-1 Dashboard Graphic Objects

Graphic Object Description

Line Creates a line that you can rotate.

Hz Line Creates a horizontal line.

Vt Line Creates a vertical line.

Rectangle Creates a rectangle.

Round Rectangle Creates a rectangle with rounded corners.

Page 43: Hyperion Dashboard

Working with Dashboard Objects 1-7

Inserting Dashboard ObjectsTo embed an object in an Dashboard section:

1 Choose Dashboard→Design Mode. [Ctrl+D]

2 In the Catalog pane, expand the folder that contains the object you want to insert.

3 Click the object you want to insert and drag it to the Content pane.

To insert control and graphic objects:

1 Choose Dashboard→Design Mode. [Ctrl+D]

2 Go to the Dashboard Menu.

3 Choose Dashboard→Insert Graphic→Option or Insert Control→Option.

Select a graphic or control object from the menu.

4 Click the Content pane to insert the control or graphic.

Oval Creates an oval.

Text Label Creates a text label that you can use as a caption.

Picture Allows you to insert bitmaps (.bmp extension).

Table 1-2 Dashboard Control Objects

Control Object Suggested Use

Command Button To initiate or activate a process.

Radio Button To select one from a group of choices.

Check Box To toggle an option on/off or true/false. A check box either contains a check mark or is empty.

List Box To list multiple values from which users can make one or more selec-tions.

Drop Down To list multiple values from which users can make only one selection.

Text Box To gather and display user input.

Table 1-1 Dashboard Graphic Objects (Continued)

Graphic Object Description

Page 44: Hyperion Dashboard

1-8 Dashboards

Deleting Dashboard ObjectsTo delete embedded sections, controls, and graphics:

1 Choose Dashboard→Design Mode. [Ctrl+D]

2 In the Content pane, select the object you want to delete.

To select multiple objects, press and hold [Ctrl] while selecting objects. Notice the selection handles that appear.

3 Choose Dashboard→Remove Selected Items. [Ctrl+D]

Page 45: Hyperion Dashboard

External Content in Dashboards 1-9

External Content in DashboardsExternal web based content can be brought into your dashboard in combination with your analytical reports sections to deliver a powerful tool for your enterprise report. You can embed a stock ticker, calendar, document objects (BQYs, BQY Jobs and SQR jobs) or launch the content of a URL based hyperlink in a separate window.

Page 46: Hyperion Dashboard

1-10 Dashboards

Intelligence Clients and the web client provide you with two controls for working with external content, including:

■ Embedded Browser control – This control is essentially an instance of a web browser window, positioned at an arbitrary location (and size) on the Dashboard page. It is similar to an embedded section object, except that the content is anything that can be referenced externally via a URL (and rendered in a web browser window), rather than a section. In addition, there are no recognizable events in the embedded browser. That is, you can not create scripts on this object.

■ Hyperlink control - A URL based hyperlink control. The content may be displayed in a pop-up window or the current window.

Embedded Browser ControlAn embedded browser control renders and executes in all Hyperion Intelligence environments (Designer, Explorer, the web client, and Intelligence iServer).

Like the other Dashboard controls, the Embedded Browser control shares the same standard attributes and behaviors as an existing Dashboard control as demonstrated below:

■ an Embedded Browser control is added to the Dashboard section (via Designer/Explorer or web client Dashboard design mode) by dragging an instance of the control from catalog pane, sizing it, and setting properties.

■ an Embedded Browser control uses the same common properties: Name, Visible, Locked, Tab order, Accessibility, cut/copy/paste, auto alignment/sizing.

An Embedded Browser control has additional properties that are similar to embedded sections, including:

■ Show Scrollbars

■ Reference to the content – For the embedded section, the reference is the name of a chart, pivot, or table that is contained in the BQY. For the Embedded Browser control, the reference is a URL. If the content is some generic URL from the web (such as a stock ticker), the designer can reference by simply entering the URL directly. If the content is a document

Page 47: Hyperion Dashboard

External Content in Dashboards 1-11

in the repository, then the designer can optionally select the document and desired parameters via easy to use GUI controls (which create the appropriate Smartcut URL “under-the-covers”).

To create a new instance of an Embedded Browser control:

1 Choose Insert→New Dashboard to add a new Dashboard section to the document.

Inserting a new Dashboard section changes the document to Design mode. The Content is blank and the Catalog pane displays the sections, graphics, and control objects available for embedding in an Dashboard.

2 Expand the Controls folder in the Catalog pane.

3 Drag the Embedded Browser control from the Catalog pane to the Content pane.

4 Double-click the control object to display the Objects dialog box.

5 Type a new entry in the Name field.

Enter a name that identifies the unique name of the embedded browser object. The default for the name is “EmbeddedBrowser” followed by a unique number identifying the Embedded Browser object.

6 Type a new entry in the Title field.

Page 48: Hyperion Dashboard

1-12 Dashboards

The Title field is only used when the Dashboard section in printed.

7 Select the Visible check box to display the Embedded Browser control when the Dashboard section is executed.

If the check box is not selected, the Embedded Browser control is hidden. The default is checked.

8 Select the Locked check box to prevent the Embedded Browser control from being moved or deleted in the Dashboard Design mode. The default value is unchecked.

9 Choose the scroll bar option to indicate when scroll bars get displayed on the Embedded Content control from the Show Scrollbar dropdown.

Available scroll bar options are:

■ Always

■ Never

■ Automatic

Automatic is the default scroll bar option.

10 To explicitly define the URL of the content to be displayed in the Embedded Browser, type the URL address in the URL field.

When the embedded browser is rendered, the URL is used “as is” (the server information is not prepended in any circumstance).

You can reference Repository content by entering an explicit URL. In this case the URL is treated like any other external reference (there is no special authentication support).

It is important to plan how well the content of the URL appears in the Embedded Browser. It is possible that an action from within the embedded content could result in the entire browser being replaced rather than just the contents of the Embedded Browser control.

11 To select a repository document (and associated properties) or object to be displayed in the Embedded Browser control or HyperLink object, select the Repository check box and specify the following:

Document – Use the document text box to manually enter the path and name of the desired Repository document.

Page 49: Hyperion Dashboard

External Content in Dashboards 1-13

Browse – Click the Browse button to interactively browse the repository for the desired document by way of the Foundation Browse dialog. To manually enter the path and name of the desired Repository document, see the Document textbooks.

Options – Launches the Document Options dialog from which a user can select display properties for a selected Intelligence iServer document. For more information, see Document Options“Document Options” on page 15.

12 Click OK.

Browsing the RepositoryWith the proper authentication, you can select a desired document to embed from the Foundation Browse Repository dialog. Authentication is provided through an Authentication Service, which checks a user’s credentials at login time, and allows or disallows the user to connect. In addition, it determines the user’s group membership, which along with the user’s roles, affects what content and other system objects (resources) the user can view and modify.

If a user is already authenticated to a Global Service Manager (GSM), then no additional dialogs are required, and the Foundation Browse dialog is displayed automatically. Authentication is assumed for web client and Intelligence iServer documents since they receive a URL “stamp” when created, which provides the necessary access to a GSM

If a Designer/Explorer user has not yet been authenticated, then the user is prompted to enter a valid server address on the "Connect to Server" dialog (Tools/”Connect to Foundation”). When the user chooses “Connect” (and the connection succeeds), the server address will be persisted in the Windows registry. This server address can subsequently be used as the default server address if no valid address can be gleaned from the session or the BQY.

Once a valid server address is determined, the Designer/Explorer application contacts the data access servlet and the user is presented with an authentication dialog. Once the user's credentials are validated, the user is authenticated and the Foundation Browse Repository dialog is displayed.

To login into the Repository:

1 Select the Repository checkbox on the Objects dialog box.

2 Click the Browse button.

Page 50: Hyperion Dashboard

1-14 Dashboards

The Connect to Server dialog is displayed.

3 Enter a valid server address on the Connect to Server dialog and click Connect.

The Hyperion Performance Suite Login dialog is displayed as shown below.

4 Type your user id and password and click Login.

Once the user has been successfully authenticated, the Browse Listing is displayed.

Page 51: Hyperion Dashboard

External Content in Dashboards 1-15

5 Navigate to the folder which contains the repository object you want to embed.

6 Double click the object to select it.

Make sure that the full path name and object name appear to the right of the Selection field.

7 Click Apply.

The document name is displayed in the Document text entry field of the Object dialog.

Document OptionsUse the Document Options dialog to select display properties for a selected document to be viewed in the Intelligence iServer. The parameters you enter here prepare a Smartcut (a URL reference to a Hyperion Foundation 8 object in the repository, for example BQY document or job).

Page 52: Hyperion Dashboard

1-16 Dashboards

There are four document types available for display in the Intelligence iServer:

■ BQY

■ BQY Job

■ SQR Job

■ Other

Note If a Hyperlink control display type is "New Window" or "Current Window",

then the Document Options dialog looks and behaves as described in the

Embedded Browser control section..

If Designer/Explorer or the web client is able to determine the document type prior to displaying this dialog, then this field presets to the appropriate document type, and no other document type choices are available.

Otherwise, the default is “Other”, and you can switch to one of the other three options.

Depending on the document, specific options are available as shown below:

Table 1-3 BQY Document Type Display Options

Option Description

Document Type Select BQY for Hyperion Intelligence Clients BQY documents.

Section Specify which BQY section should be displayed. This option is only available for BQY documents.If Designer/Explorer and the web client application is able to determine the list of (Intelligence iServer enabled) sections prior to displaying the options dialog, then the list will be displayed in a dropdown. The default section name should match the BQY’s default (i.e. whatever section would display if the user opened the BQY via Intelligence iServer icon in the browse application).If the section list could not be determined, then a blank text entry field will be displayed. The user can then manually enter the name of the desired section. If the field is left, then the default section will be displayed when the Browse Window control is executed.

Toolbar Specify which Intelligence iServer’s toolbar is displayed. Valid choices are “Standard”, “Paging” or “None.”

Other Parameters Specify any key value pairs for the document. This set of controls enables a user to add additional parameters to the URL. This could for example be used to add SQR Job parameters, or BQY limits.

Page 53: Hyperion Dashboard

External Content in Dashboards 1-17

Table 1-4 BQY Job Document Type Display Options

Option Description

Document Type Select BQY Job for a Hyperion Intelligence Clients BQY Job.

FileName Specify the name of the file that should be displayed from a BQY job output collection. This option is only available when “Document Type” is “BQY Job”. Only files from the latest output collection may be referenced.If the Designer/Explorer or web client is able to determine the list of files available in the job output collection, then the list is displayed in a dropdown. If the filename list can not be determined, then the an empty edit control is displayed. If the document type is BQY Job, and no filename is entered (edit control case only), then the BQY in the job output collection is the initial selected value.

Section Specify which BQY section should be displayed. This option is only available for BQY documents.If Designer/Explorer or the web client application is able to determine the list of (Intelligence iServer enabled) sections prior to displaying the options dialog, then the list is displayed in a dropdown. The default section name matches the BQY’s default (that is, whatever section displays if the user opened the BQY via Intelligence iServer icon in the browse application).If the section list can not be determined, then a blank text entry field is displayed. The user can then manually enter the name of the desired section. If the field is left blank, then the default section is displayed when the Browse Window control is executed.

Toolbar Specify which Intelligence iServer’s toolbar is displayed. Valid choices are “Standard”, “Paging” or “None.”

Run Job Specify if the job should be executed. This option is only available when “Document Type” is “BQY Job” or “SQR Job”. Default is unchecked.

Other Parameters Specify any key value pairs for the document. This set of controls enables a user to add additional parameters to the URL. This could for example be used to add BQY limits.

(edit box) To add a URL parameter, the user must enter the parameter into the edit control, and click on the “Add” button. When the URL is formed this parameter will be tacked onto the end of the URL as is (except that special character substitution will be done), so the user must understand the proper URL syntax for these parameters.

To remove a parameter from the list the user may select the target parameter(s), hit the “Remove” button.

Page 54: Hyperion Dashboard

1-18 Dashboards

Table 1-5 SQR Job Document Type Display Options

Table 1-6 Other Display Options

Option Description

Document Type Select SQR Job for a Hyperion Intelligence Clients SQR Job.

FileName Specify the name of the file that should be displayed from a SQR job output collection. This option is only available when “Document Type” is “SQR Job”. Only files from the latest output collection may be referenced.

If Designer/Explorer or the web client is able to determine the list of files available in the job output col-lection, then the list is displayed in a dropdown.

If the filename list can not be determined, then the an empty edit control is displayed.

If the document type is SQR Job, and no filename is entered (edit control case only) then the HTML in the job output collection should be the initial selected value.•

Run Job Specify if the job should be executed. This option is only available when “Document Type” is “BQY Job” or “SQR Job”. Default is unchecked.

Other Parameters Specify any key value pairs for the document. This set of controls enables a user to add additional parameters to the URL. This could for example be used to add BQY limits.

(edit box) To add a URL parameter, the user must enter the parameter into the edit control, and click on the “Add” button. When the URL is formed this parameter will be tacked onto the end of the URL as is (except that special character substitution will be done), so the user must understand the proper URL syntax for these parameters.

To remove a parameter from the list the user may select the target parameter(s), click the “Remove” button.

Option Description

Document Type Select Other as a document type to add additional parameters to the URL.

Other Parameters Add any additional parameters in this field. For example, you could add SQR Job parameters, or BQY limits.

To add a URL parameter, the user must enter the parameter into the edit control, and click on the “Add” button. When the URL is formed this parameter will be tacked onto the end of the URL as-is (except that special character substitution will be done), so the user must understand the proper URL syntax for these parameters.

To remove a parameter from the list the user may select the target parameter(s), hit the “Remove” button.

Page 55: Hyperion Dashboard

External Content in Dashboards 1-19

Hyperlink ControlA hyperlink control behaves in much the same manner as a Embedded Browser control, except that its URL based content is displayed in either the current window, top window, new window, named window, or no window. It has additional properties that are similar to a Text label graphic, and the OpenURL method.

A hyperlink control is added in much the same manner as a Embedded Browser control, except that the control in the catalog pane is named "Hyperlink".

To create a new instance of an Embedded Browser control:

1 Choose Insert→New Dashboard to add a new Dashboard section to the document.

Inserting a new Dashboard section changes the document to Design mode. The Content is blank and the Catalog pane displays the sections, graphics, and control objects available for embedding in an Dashboard.

2 Expand the Controls folder in the Catalog pane.

3 Drag the Hyperlink control from the Catalog pane to the Content pane.

4 Double-click the control object to display the Objects dialog box.

5 Type a new entry in the Name field.

Enter a name that identifies the unique name of the embedded browser object. The default for the name is “Hyperlink”.

Page 56: Hyperion Dashboard

1-20 Dashboards

6 Type a new entry in the Title field.

The title field is only used when the dashboard section in printed.

7 Select the Visible check box to display the hyperlink control when the Dashboard section is executed.

If the check box is not selected, the hyperlink control is hidden. The default is checked.

8 Select the Locked check box to prevent the hyperlink control from being moved or deleted in the Dashboard Design model. The default value is unchecked.

9 Select where to display the contents of the hyperlink control from the Display In dropdown list.

Valid “Display In” options are:

■ New Window – A new pop-up window is created every time the hyperlink is pressed. This is the default setting. All browser menus and toolbars are hidden. This maps to the OpenURL OM method's "_blank" target.

■ Current Window – If the execution application is the web client, or Intelligence iServer, then the content replaces the entire Intelligence iServer content area (i.e. excluding surrounding browse application frames). In Designer a pop-up window will display.

Page 57: Hyperion Dashboard

External Content in Dashboards 1-21

■ Top Window – If the execution application is the web client, or Intelligence iServer, then the content replaces the top-most HTML window. This maps to the OpenURL OM methods "_top" target.

■ Named Window – A "named" pop-up window is created. If the named window is already present, then the URL replaces the existing content of the named window. When this option is selected, a "Target window" edit control will appear below the dropdown, in which the user can enter the desired window name. This maps to the Open URL OM method's user specified target name option.

10 To explicitly define the URL of the content to be displayed in the Hyperlink control, type the URL address in the URL field.

When the Hyperlink control is rendered, the URL is used “as is” (the server information is not prepended in any circumstance).

You can reference Repository content by entering an explicit URL. In this case the URL is treated like any other external reference (there is no special authentication support).

It is important to plan how well the content of the URL appears in the Hyperlink control. It is possible that an action from within the hyperlink content could result in the entire browser being replaced rather than just the contents of the Hyperlink control.

11 To select a repository document (and associated properties) to be displayed in the Hyperlink, select the Repository checkbox and specify the following:

Document – Use the document textbooks to manually enter the path and name of the desired Repository document.

Browse – Click the Browse button to interactively browse the repository for the desired document by way of the Foundation Browse dialog. To manually enter the path and name of the desired Repository document, see the Document text box.

Options – Launches the Document Option from which a user can select display properties for a selected Intelligence iServer document. If the display type is "New Window" or "Current Window", then this dialog looks and behaves as described in the Embedded Browser control section. For more information, see “Document Options” below.

12 Click OK.

Page 58: Hyperion Dashboard

1-22 Dashboards

Setting Dashboard PropertiesUse the Properties dialog box to set properties for an entire Dashboard section or for specific objects within an Dashboard section. Many Dashboard objects have unique properties. For instance, a radio button has a Radio Group property and a list box has a Multiple Selection property. Tab-order properties are section-wide but are accessible in the Properties dialog boxes for both the overall Dashboard section as well as for the individual objects.

To set properties in an Dashboard section:

1 For the Dashboard section’s properties, make sure that no objects are selected in the Dashboard Content pane.

2 For specific object properties, select the object in the Dashboard Content pane.

3 Choose Dashboard→Properties

The Properties dialog box appears. The active tab depends on the selection made prior to invoking the dialog box.

4 Click through the tabs to set properties for the selected object.

5 Click OK to apply the selected settings and close the Properties dialog box.

Available properties include:

■ Alignment – Horizontal and vertical alignment, and text wrapping and rotation.

■ Border and Background – Border color, width, style, and shadow, and background color and pattern.

■ Font – Font family, style, size, effects (underline, overline, double overline), and color.

■ Object –Name, title, visible, enable (control objects only), locked, scroll bars always shown, and auto-size. For embedded sections, view-only, active, or hyperlink.

■ Picture –File name, size, and effects for Dashboard background and graphic object pictures.

■ Tab Order –Object path that end users follow when they press the [Tab] in Run mode.

■ Accessibility –User defined and auto generated descriptive 508 text for each embedded section or graphic.

Page 59: Hyperion Dashboard

Setting Dashboard Properties 1-23

■ Values –User-defined values that populate list box, drop down, or text box controls.

Detailed information on each of these properties is presented in the online help.

Page 60: Hyperion Dashboard

1-24 Dashboards

Using Design ToolsHyperion Intelligence Clients gives you complete control of your Dashboard section setup and provides a number of layout and navigation tools that assist you in designing effective, high-quality custom applications.

Layout ToolsA rich set of layout aids is available to help you easily create professional looking Dashboard sections. All the layout tools are available from the Dashboard Menu or the Dashboard Section Toolbar.

Design GuidesDesign guides are horizontal and vertical lines that you place in your report to help you line up objects. Design guides are similar to grids in that objects automatically snap to align to the design guides.

If rulers are visible, click the ruler and drag one or more design guides from both the horizontal and vertical rulers.

Page 61: Hyperion Dashboard

Using Design Tools 1-25

To toggle the display of design guides:

A check mark appears next to Design Guides to indicate they are visible. Choose the option again to clear the check mark and remove the design guides.

GridsHyperion Intelligence Clients and the web client provide a layout grid that automatically snaps all objects to the closest grid spot.

To toggle the display of the grid:

A check mark appears next to Grid to indicate the grid is visible. Choose this option again to clear the check mark and remove the grid from view.

RulersHorizontal and vertical rulers help you line up items based on precise units of measure. Available units of measurement include inches, centimeters, and pixels, which you select by clicking the measure indicator at the intersection of the top and left rulers.

To toggle the display of the ruler:

A check mark appears next to Ruler to indicate the ruler is visible. Choose this option again to clear the check mark and remove the ruler from view.

➤ Choose Dashboard→Design Guides.

➤ Choose Dashboard→Grid.

➤ Choose Dashboard→Ruler.

Page 62: Hyperion Dashboard

1-26 Dashboards

Dashboard Section ToolbarThe Dashboard Section toolbar provides icons that enable you to quickly maneuver multiple Dashboard objects.

■ Design/Run Mode – Toggles between Design and Run modes.

■ Align – Aligns several objects at the same time. Objects are aligned to the first object you select. Select the first object, then hold down [Ctrl] and select the remaining objects. Click the arrow on the Align icon and choose an alignment option: left, center, right, top, middle, or bottom.

■ Make Same Size – Resizes the selected objects to the same size. Objects are resized to match the first object you select. Select the first object, then hold down [Ctrl] and select the remaining objects. Click the arrow on the Make Same Size icon and choose a resizing option: width, height, or both.

■ Layer – Stacks a single object in relative position to other objects. Layer include four rearrangement options: Bring To Front, Send To Back, Bring Forward, and Send Backward. Use this feature to layer multiple objects so that only the sections of the objects you want visible are shown.

Design/Run ModeAlignMake Same SizeLayer

Page 63: Hyperion Dashboard

Using Design Tools 1-27

Navigation ToolbarUse the Navigation toolbar to return to an Dashboard section from another section when the Section catalog, Section title bar, toolbars, and menus have been turned off.

The Navigation toolbar is hidden by default, but you can use scripts to enable it. When activated, it is available in all sections and includes the Back, Forward, and Dashboard Home buttons.

Use the following scripts to work with the Navigation toolbar. The first script turns on the Navigation toolbar. The second script turns on all toolbars with the exception of the Navigation toolbar. The third script turns off all toolbars.

Example 1: //Syntax for turning on Navigation toolbarToolbars["Navigation"].Visible=true;

Example 2: //Syntax for turning on all toolbars except the Navigation toolbar

j=Toolbars.Count

for (i=1; i<=j; i++) {if (Toolbars[i].Name != "Navigation") {Toolbars[i].Visible=true}

}

Example 3: //Syntax for turning off all toolbarsj=Toolbars.Count

for (i=1; i<=j; i++) {Toolbars[i].Visible=false

}

Page 64: Hyperion Dashboard

1-28 Dashboards

Dashboard Menu Command ReferenceTable 1-7 provides a quick reference to the commands available on the Dashboard menu and lists any related shortcuts.

Table 1-7 Dashboard Menu Commands

Command DescriptionKeyboard Shortcut

Shortcut Menu

Design Guides Toggles the design guides on and off.

Grid Toggles the grid on and off.

Rulers Toggles the rulers on and off.

Insert Graphic Allows you to insert a graphic element.

Insert Control Allows you to insert a control button or box.

Remove Selected Items

Deletes the selected item.

Scripts Displays the Script Editor. [F8] ✔

Properties Displays the property menu for the selected item. ✔

Home Dialog Allows you to designate a particular Dashboard section as the home Dashboard section. The default is the Dashboard section first created.

Design Mode Toggles between the design and run mode. [Ctrl+D]

Page 65: Hyperion Dashboard

2 Hyperion Intelligence Clients Object Model

The object model is the cornerstone for scripting a customized interface, or Dashboard, to enterprise data with JavaScript. The object model and the built-in Script Editor provide quick and easy access to all levels of the Hyperion Intelligence Clients interface.

This s describes the object model and the scripting tools available to the application designer, and explains how to automate Dashboard sections using Hyperion Intelligence Clients events.

In This Chapter Understanding the Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-2

Understanding Hyperion Intelligence Clients Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4

Using the Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10

Sample JavaScript Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-13

Testing Scripts Using the Execution Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14

Checking Errors Using the Console Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14

Finding/Replacing Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14

Page 66: Hyperion Dashboard

2-2 Hyperion Intelligence Clients Object Model

Understanding the Object ModelThe object model is a hierarchical representation of Hyperion Intelligence Clients and the web client objects and the actions and attributes used to manipulate those objects. It consists of a collection of objects, each of which has its associated methods (actions) and properties (attributes).

Objects can include the application, documents, sections, limits, connections, graphics, controls, catalog items, topics, request lines, results columns, chart labels, pivot side labels, facts, menu bars, status bars, toolbars, and so on.

Page 67: Hyperion Dashboard

Understanding the Object Model 2-3

Methods include create, activate, open, close, save, add, copy, remove, process, export, recalculate, and so on. For example, a data results object (the results of a query to a database or a table containing results data) has a recalculate method. This method (or action) refreshes (or recalculates) data based on updated parameters in the document.

Properties of objects include an object name, value, alignment, color, and so on. You can view properties or set (modify) the value of a property. For example, all graphics objects have a “visible” property. You can check to see if the property is set to true, suggesting that the object is visible. Or, you can set the property to false, making the object invisible.

Table 2-1defines basic terminology for the object model.

Typically, the object model is manipulated by the JavaScript language from inside an Dashboard section to build self-contained analytic applications. On Windows systems, the object model is also accessible via Automation Interfaces (OLE Automation) that allow the Hyperion Intelligence Clients application to be controlled by external applications such as Excel, VB, C++, Delphi, or any application capable of making OLE Automation calls.

Table 2-1 Object Model Terminology

Term Definition Example

Hyperion Intelligence Clients Example

Object Something that is perceived as an entity and referred to by a name.

Tree, leaf, fruit Application, section, document

Method What it can do; action that is executed when an object receives a message.

Grow, bear fruit, drop leaves

Activate, Copy, Add

Property Characteristic quality or distinctive fea-ture; attribute.

Name, color, growing pattern

Active, Visible, Type

Collection Group of objects. Grove Documents

Constant A value that does not change or vary. Number Constants

Page 68: Hyperion Dashboard

2-4 Hyperion Intelligence Clients Object Model

Understanding Hyperion Intelligence Clients EventsCustom applications (that is, Dashboard sections) developed using Hyperion Intelligence Clients and the web client are event driven. An event is an action recognized by a Hyperion Intelligence Clients document, section, or Dashboard object. Hyperion Intelligence Clients and the web client event-driven applications execute scripts in response to an event, such as clicking a button or opening a document. When an event occurs, Hyperion Intelligence Clients and the web client invoke the script attached to the event. The order in which your application executes events depends on what the user does; there is no set sequence of actions.

Note Hyperion Intelligence Clients and the web client use JavaScript as its scripting language since the release of Hyperion Intelligence Clients version 6.0. Documents scripts created using the older Brio scripting language are automatically converted to JavaScript when the document is first opened.

Hyperion Intelligence Clients and the web client have a set of predefined events. You determine how these events respond by attaching a script to the event. For example, if you want a button to perform an action when clicked, you attach a script that defines your action to the OnClick event associated with the button.

Hyperion Intelligence Clients predefines events as follows:

■ Object Level Events – Events associated with Dashboard objects.

■ Section Level Events – Events associated with Dashboard sections.

■ Document Level Events – Events associated with Hyperion Intelligence Clients and the web client documents.

Page 69: Hyperion Dashboard

Understanding Hyperion Intelligence Clients Events 2-5

Object Level EventsTable 2-2 describes the predefined events associated with Dashboard objects (embedded sections, graphics, and controls).

Note All events starting with “OnClient” are executed in the client browser, and not on the server. For more information, see Client-Side JavaScript.

All events starting with “OnClient” are executed in the client browser, and not on the server.

Table 2-2 Object Level Events

Event Objects Supporting Event Action That Invokes Event

OnClick Sections: Hyperlinked embedded section (not applicable for view-only or active embedded sections)

Graphics: Line, horizontal line, vertical line, rectangle, round rectangle, oval, text label, picture

Controls: Command button, radio button, check box, list box

Clicking on a section, graphic, or control.

OnDoubleClick Controls: List box Double-clicking on a value in the list box.

OnSelection Controls: List box Selecting a value in a list box.

OnChange Controls: Text box Changing data in a text box.

OnEnter Controls: Text box Entering a text box.

OnExit Controls: Text box Leaving a text box.

OnRowDoubleClick Sections: Active embedded Results or Table sec-tions (not for view-only or hyperlinked sections)

Double-clicking on a row from an active embedded Results/Table section.

OnClientClick Graphics: Line, horizontal line, vertical line, rectan-gle, round rectangle, oval, text label, picture

Controls:command button, radio button, check box, list box

Clicking on a section, graphic, or control.

Page 70: Hyperion Dashboard

2-6 Hyperion Intelligence Clients Object Model

In addition to the overall object level events, graphic objects and control objects have specific predefined events with which they are associated, as shown in Table 2-3 and Table 2-4.

OnClientDoubleClick Controls: list box Clicking on a section, graphic, or control

OnClientEnter Control: Text Box Entering a text box.

OnClientExit Control: Text Box Leaving a text box.

Table 2-3 Events Associated with Graphic Objects

Graphic Object Event

Line OnClickOnClientClick

Horizontal Line OnClickOnClientClick

Vertical Line OnClickOnClientClick

Rectangle OnClickOnClientClick

Round Rectangle OnClickOnClientClick

Oval OnClickOnClientClick

Text Label OnClickOnClientClick

Picture OnClickOnClientClick

Table 2-2 Object Level Events (Continued)

Event Objects Supporting Event Action That Invokes Event

Page 71: Hyperion Dashboard

Understanding Hyperion Intelligence Clients Events 2-7

Section Level EventsSection level event are events associated with Dashboard sections. The predefined section level events and the actions that invoke the events are:

■ OnActivate – Entering an Dashboard section.

■ OnDeactivate – Exiting an Dashboard section.

■ OnClientActivate – Entering an Dashboard section.

■ OnClientDeactivate – Exiting an Dashboard section.

Table 2-4 Events Associated with Control Objects

Control Object Event

Command Button OnClick

Radio Button OnClick

Check Box OnClick

List Box OnClick, OnDoubleClick

Drop Down OnSelection

Text Box OnEnter, OnExit, OnChange

Page 72: Hyperion Dashboard

2-8 Hyperion Intelligence Clients Object Model

Document Level EventsDocument level events are events associated with Hyperion Intelligence Clients and the web client documents. The predefined document level events and the actions that invoke the events are:

■ OnStartUp – Opening a .bqy document.

■ OnShutDown – Closing a .bqy document.

■ OnPreProcess – Before a query is processed.

■ OnPostProcess – After a query is processed.

The execution of document events can be enabled or disabled by using options on the Script Editor programmatically through the Object Model.

Caution OnShutDown events execute before any prompts in the Save dialog box.

Associating a Document Level Event By default the desktop and the web client application invoke the script attached to a document level event when the event is triggered. For example, the OnStartup document event is triggered when a .bqy document is opened.

On the other hand, the Hyperion Scheduler does not invoke the script attached to a document level event until the user sets the document level event for the .bqy document manually. The option to set the document level event is a user preference and can be set based on how the document is to be deployed (on the desktop, on the Intelligence iServer or in the web client).

To associate a document level event:

1 Choose File→Document Scripts.

The Script Editor appears. Document is selected by default in the Object drop-down box and OnStartup is selected by default in the Event drop-down box.

2 In the Event Trigger drop-down box, choose the document level event that you want to associate with the .bqy document

OnStartup is selected by default in the Event Trigger drop-down box.

3 In the Enable For drop-down box, check the type of document the event is to be associated with.

!

Page 73: Hyperion Dashboard

Understanding Hyperion Intelligence Clients Events 2-9

Available types of document include: All Clients (Designer/Explorer), Thin Client (Intelligence iServer) and Plug-in Client (Scheduler). To remove a document level event association, leave the check box blank next to the selected type of document.

Page 74: Hyperion Dashboard

2-10 Hyperion Intelligence Clients Object Model

Using the Script EditorUse the built-in Script Editor to add scripts to events. You can open the Script Editor for a selected object, an active Dashboard section, or a document.

To add a script to a document event:

To open the Script Editor from within the Dashboard section:

To open the Script Editor for a selected object:

The Script Editor contains the Object browser, the Description pane, the Events drop-down menu, and the Scripting pane.

➤ Choose File→Document Scripts to open the Script Editor from any section other than the Dashboard section.

➤ In Design mode, choose Dashboard→Scripts. [F8]

➤ Choose Dashboard→Scripts. [F8]

Control Object Scripting Pane

Object Browser

Description Pane

Event Trigger

Page 75: Hyperion Dashboard

Using the Script Editor 2-11

Object BrowserThe Script Editor provides an Object browser in the left pane, where it displays the object model, listing all available objects, properties, and methods. At the top of the object model hierarchy is Application, which represents the entire Hyperion Intelligence Clients application and contains application-wide settings and options, methods, and properties. (For a compete flowchart of the object model, see Chapter 8, “Object Model Map.”)

Clicking any object or collection in the Object browser displays methods and properties, as well as internal objects. Double-clicking a method or property automatically generates scripts in the scripting pane of the Script Editor.

The Application object contains a Documents collection as well as an ActiveDocument collection. In the active document Sample1.bqy, methods and properties are available in two places in the object model hierarchy:

■ Application→Documents→Sample1.bqy

■ Application→ActiveDocument

A script that accesses multiple open documents should use the Documents path to the methods and properties of a specific document. A script that affects only the currently active document can use the ActiveDocument path.

Methods and Properties for the Active Document Sample1.bqy

Control Object Event TriggerCut, Copy, Paste and Find/Replace icon

Page 76: Hyperion Dashboard

2-12 Hyperion Intelligence Clients Object Model

Scripting PaneUse the Scripting pane to enter scripts that are attached to specific object events (such as mouse clicks, button clicks, and so on.). Use JavaScript to control the logic and flow of your application. Use the object model to access objects, properties, and methods. Double-click an item in the Object browser and a reference to the object, property, or method automatically appears at the cursor location in the Script Editor.

Above the Script Editor area is a drop-down menu that includes all available events associated with the selected document, section, or object. Beside the drop-down menu is the Event Trigger drop-down menu. This menu displays the events for the control object, which is recognized as the action that will invoke the script attached to the event.

After selecting the appropriate event, you can start typing in JavaScript and referencing the object model. If you need to see or edit the script that extends beyond the boundaries of the Scripting pane, use the horizontal and vertical scroll bars.

Use the Cut icon to take out selected script from the editor and send it to the Clipboard (a temporary storage place). With each subsequent copy or cut, the Clipboard contents are overwritten.

Use the copy icon to place a copy of the selected scripted on the Clipboard.

Use the Paste icon to place the contents of the Clipboard at the insertion point. Script, which already exists at the insertion point, will be moved. Selected script will be replaced when the Paste command is used.

Use the Find/Replace icon to search for and replace script and all instances of a word, for example, you can replace "Chart" with "Pivot".

You can cut, copy, and paste embedded sections, controls, or graphic objects in an Dashboard section.

Page 77: Hyperion Dashboard

Sample JavaScript Script 2-13

Description Pane and Online HelpWhen you select an item in the object model hierarchy, a brief description of the item appears in the Description pane. For example, selecting the Active Document Properties item displays the description Object/Document ActiveDocument.

To display Help text for specific items in the object model:

The online help dialog box opens and displays information on the specific method or property selected, such as the type of argument expected. Online help is also accessible from the Help menu.

Sample JavaScript ScriptEach level of the object model has a Methods folder that contains actions (methods) applicable to an object at that level. You can “write” a script using these methods by finding the object in the Object browser and double-clicking the associated method.

➤ Select the item, then click Help.

Page 78: Hyperion Dashboard

2-14 Hyperion Intelligence Clients Object Model

Testing Scripts Using the Execution WindowYou can immediately test a script by adding it to the Execution window. For example, instead of closing and re-opening a document to test it’s OnStartup script, copy and paste the script into the Execution window and press [Enter].

Checking Errors Using the Console WindowThe Console window records all error messages that occur from the time Hyperion Intelligence Clients starts until the application is closed or the window is cleared (with Edit→Clear).

Finding/Replacing ScriptThe Script Editor Find/Replace function allows you to search an entire script for strings, punctuation marks, and numbers. You can retrieve matches by treating each word as a prefix or as whole word only. Further differentiation can be made by applying a case-sensitive constraint (upper and lower case word matches).

The replace component of this function allows you to replace the first or multiple occurrence(s) of a string, punctuation mark.

Page 79: Hyperion Dashboard

Finding/Replacing Script 2-15

To find and replace:

1 Click anywhere in the Find What field and enter your search text.

To replace the matched search text with other text, click anywhere in the Replace With field and enter the replacement text.

You can either type the entry or paste it.

2 To match the entire search text entirely, click the Match Whole Word Only field.

3 To match the exact case of the search text, click the Match Case field.

Table 2-5 Find/Replace Definitions

Field Definition

Find What Enter the search criteria that you wish to search on. The search criteria can either be a string, punctuation mark or number. When you make an entry in this field without matching the whole word or case, search criteria acts as a prefix. That is, “report” matches “reporting”, “reporter” and “reported.” This function does not support wildcats.

Replace With Enter the replacement text for match.

Match Whole Word Instructs the Find/Replace feature to match only the entire text that matches exactly your search criteria. For example, “report” will only match “report”. It will not match “report” “reporting”, “reporter” and “re-ported.”

Match Case Instructs the Find/Replace feature to match only the text that matches the uppercase or lowercase letters of your search cri-teria. For example, if you specify “Chart”, then an entry must match the word “Chart” with a capital C. – that is, “Chart” will only match “Chart”.

Direction Specify the direction from which to initiate the search be-ginning at the insertion point. You can start the search in an upward or downward direction. By default, the direction is from downward.

Replace Finds, then replaces the first occurrence of a match. This allows you to confirm whether or not you want to make the replacement.

ReplaceAll Replaces all occurrences of a match

Close Closes the Find/Replace window.

Page 80: Hyperion Dashboard

2-16 Hyperion Intelligence Clients Object Model

4 Select the direction from which to initiate the search in the Direction field.

5 To find and replace the next occurrence of the search text, click Replace.

To find and replace all occurrences of the search text, click ReplaceAll.

When the Find/Replace feature has finished executing, the following message is displayed: "Reached the end of the script. All instances of search item replaced" or “Reached the end of the script. Cannot find Search item”.

Page 81: Hyperion Dashboard

P A R T I I

IIScripting Reference

Page 82: Hyperion Dashboard
Page 83: Hyperion Dashboard

3 Dashboard Scripting Reference

This chapterprovides reference information on using JavaScript with Hyperion Intelligence Clients and the web client.

In This Chapter Scripting Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-2

Understanding Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3

Using JavaScript Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9

Manipulating Objects with JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-19

OLE Automation Controller within JavaScript (JOOLE). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-22

Exporting Scripts to Text Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-24

Troubleshooting Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-25

Page 84: Hyperion Dashboard

3-2 Dashboard Scripting Reference

Scripting ApplicationsWhen you use Hyperion Intelligence Clients to create an application, the application can comprise one or more Hyperion Intelligence Clients documents and may contain one or more of the components listed in Table 3-1.

On Windows platforms, you can launch script commands from the command line. Script commands launched from the command line require the -jscriptcmd flag. For example, to launch the Hyperion Intelligence Clients application, you would type:

brioqry.exe –jscriptcmd "Application.Documents.Open ("c:\\temp\\briodoc.bqy")"

Table 3-1 Components of Scripted Applications

Component Description

Startup/Shutdown Scripts Scripts that run when a document is opened or closed.

To prevent a startup script from running, hold down [Ctrl] while opening the document.

Dashboard Shapes and Controls

User Interface components that enable users to interact with the application.

Computed Columns Scripts that run within the context of a Results or Table section column.

Custom Menu Items Special menu items that allow scripts to run from any section.

Page 85: Hyperion Dashboard

Understanding Functions 3-3

Understanding FunctionsFunctions are one of the fundamental building blocks of JavaScript. A function is a JavaScript procedure: a set of statements that performs a specific task. To use a function, you must define it before your script can call it.

Defining FunctionsA function definition consists of the function keyword, followed by:

■ The name of the function

■ A list of arguments to the function, enclosed in parentheses and separated by commas

■ The JavaScript statements that define the function, enclosed in curly braces { }

For example, to define a simple function named square, enter:

function square(number) {return number * number;

}

The function square takes an argument called number. The function consists of one statement that indicates to return the argument of the function multiplied by itself. The return statement specifies the value returned by the function, for example:

return number * number

All parameters are passed to functions by a value. The value is passed to the function, but if the function changes the value of the parameter, the change is not reflected globally or in the calling function. If you pass an object as a parameter to a function and the function changes the object’s properties, that change is visible outside the function. For example:

function myFunc(theObject) {theObject.make="Toyota"

}mycar = {make:"Honda", model:"Accord", year:1998}x=mycar.make // returns Hondamuffin (mycar) // pass object mycar to the functiony=mycar.make // returns Toyota (property was changed by the function)

Page 86: Hyperion Dashboard

3-4 Dashboard Scripting Reference

Calling FunctionsIn a Hyperion Intelligence Clients analytical application, you can call any function that is defined in the current script context. You can also use functions that have been defined globally or at a higher scope than the current context.

Note Use caution when working with global variables. These are visible throughout Hyperion Intelligence Clients, including to computed column calculations and Report section expressions.

Defining a function does not execute it. Defining the function simply names the function and specifies what to do when the function is called. Calling the function actually performs the specified actions with the indicated parameters. For example, you would call the function square as follows:

square(5)

The preceding statement calls the function with an argument of 5. The function executes its statements and returns the value 25.

The arguments of a function are not limited to strings and numbers. You can also pass whole objects to a function.

A function can be recursive, that is, it can call itself. For example, here is a function that computes factorials:

function factoring) {if ((n == 0) || (n == 1))

return 1else {

result = (n * factorial(n-1) )return result}

}

You could then compute the factorials of 1 through 5 as follows:

a=factorial(1) // returns 1b=factorial(2) // returns 2c=factorial(3) // returns 6d=factorial(4) // returns 24e=factorial(5) // returns 120

Page 87: Hyperion Dashboard

Understanding Functions 3-5

Function ScopeFunctions are accessible within the scope in which they are created unless they are explicitly defined in a different scope. This means that a function which is defined in the OnClick() event handler of a command button can only be called by other statements in the same event handler. Example 1 shows two command buttons in an Dashboard section, MyButton and YourButton.

Example 1 // MyButtonfunction square(value){return value*value;}Alert (‘’The square of 3 equals ‘’+ square(3))

// YourButtonvar retVal = square(3) // generates a runtime errorAlert (‘’The square of 3 equals ‘’+ retVal)

The square function is only visible in the context of MyButton. As a result, a call to the square function from YourButton generates a runtime error.

Defining Functions in Different ScopesTo make your functions visible to other scripts throughout the application, you must explicitly define the scope in which your function will be visible. This can be accomplished a number of different ways:

1. Using the with statement to set the current scope of a script.

2. Dynamically adding methods to objects.

3. Assigning a function to a global variable.

When you use the with statement to set the current scopes, functions defined within the with statement become visible for that object. Example 2 shows one method for expressing the two command buttons.

Page 88: Hyperion Dashboard

3-6 Dashboard Scripting Reference

Example 2 // MyButtonWith (YourButton){

function square(value){

return value*value;}Alert (“The square of 3 equals “+ square(3))

}

// YourButtonvar retVal = square(3)Alert (“The square of 3 equals “+ retVal)

By explicitly defining the square function within the context of the YourButton object, you make the function visible to the scripts that are running behind that button. Using this syntax is not restricted to objects within Dashboard. Any object from the object model can be used in conjunction with the with statement.

Example 3 shows another way to accomplish the same behavior as Example.

Example 3 // MyButtonFunction square(value)

{return value*value;

}Alert (“The square of 3 equals “+ square(3))YourBut-ton.square = square;

// YourButtonvar retVal = square(3)Alert (“The square of 3 equals “+ retVal)

Page 89: Hyperion Dashboard

Understanding Functions 3-7

In Example 3, a new method is dynamically added to the YourButton object. Any scripts running in the context of this object will have access to the dynamically created square function.

Taking this one step further, you could create a global variable that is associated with the function as shown in Example 4.

Example 4 // MyButtonFunction square(value)

{return value*value;

}Alert (“The square of 3 equals “+ square(3)) MyGlobal-Function = square;

// YourButtonvar retVal = MyGlobalFunction(3)Alert (“The square of 3 equals “+ retVal)

In Example 4, creating a variable named MyGlobalFunction without using the var statement places that variable in the topmost scope. This makes it global.

Summary of Function TypesThere are several ways to create function components depending on how you want the function to execute:

Global variable – – – – –

When you declare a function at the top level of a script, other functions can read and modify it. It is treated as universally accessible since other functions can read and change it (the global variable stays in memory when you close the document).

You must carefully consider how and where you use a global variable in your script. A change made to a single component of the variable carries over to all other variables which reference it.

To call a function using a global variable, type:

glMyFunction(myParam)

Page 90: Hyperion Dashboard

3-8 Dashboard Scripting Reference

Document VariableDocument variables belong and depend on the document script in which they are included. That is, a document variable is erased when the document is closed or you define another value for the variable. You can call a function in one of two ways from the same document:

myFunction(myParam)

orActiveDocument.myFunction(myParam)

Section VariableSection variables exist in the section and document in which they are included. Use a section variable when you need to specify elements defined from different Dashboard section, each of which declare functions with the same name.

You can call a function in this way by typing:

ActiveDocument.Sections["Dashboard"].myFunction(myParam)

The (myParam) can be defined in two ways:

this.Parent.myFunction=myFunction

In this example, “this.Parent” is the parent object of the “this” which could bea Fields or Shapes object. This is the object to which the script belongs.

or

this.myFunction=myFunction

In this example the object belongs to the OnActivate or OnDeactivate method of the section and “this” is the section object.

Page 91: Hyperion Dashboard

Using JavaScript Statements 3-9

Using JavaScript StatementsThis section explains how JavaScript uses conditional and loop statements to allow the execution order of a script to change based on the state of objects or the user selection. It also discusses how to use break statements to alter the execution of these control structures.

Conditional StatementsA conditional statement is a set of commands that executes if a specified condition is true. The conditional statements supported by JavaScript are:

■ if...else Statements

■ inline if Statements

■ switch Statements

if...else StatementsIf a logical condition is true, use the if statement to perform certain actions. If a logical condition is false, use the optional else clause to perform other action. Example 5 shows a typical if statement.

Example 5 if (condition) {statements1

}else {

statements2 }

The condition can be any JavaScript expression that evaluates to true or false. The statements to be executed can be any JavaScript statements, including deeper nested if statements. If you want to use more than one statement after an if or else statement, you must enclose the statements in curly braces {}.

Do not confuse the primitive Boolean true and false values with the Boolean object true and false values. Any object whose value is not undefined or null, including a Boolean object whose value is false, evaluates to true when passed to a conditional statement, for example:

var b = new Boolean(false);

Page 92: Hyperion Dashboard

3-10 Dashboard Scripting Reference

if (b) // this condition evaluates to true

Note The words if and else must be in lowercase. If you type an uppercase “i” or “e”, you get a “missing syntax” error. A then statement is implied for values enclosed in the curly braces “{ }”. If you type the word “then” in a statement, an error message is returned.

You can also an if...else statement to stop a script if it encounters a selected condition, for example:

if(cellvalue==0){ Alert("Cell has no value") }else{ (execute remainder of code here) }

inline if StatementsThe inline if statement is an alternative to the if...else statement. It uses the conditional operator (?) to represent the “if” portion of the statement; the (:) implies the “else” portion. It takes these three operands:

condition ? expr1 : expr2

where:

■ condition – An expression that evaluates to true or false

■ expr1, expr2d – Expressions with values of any type.

If condition is true, the operator returns the value of expr1; otherwise, it returns the value of expr2.

You should place the condition in parentheses, with each expression in single or double quotes:

((condition == value)?'expr1':'expr2')

Note You can eliminate the condition parentheses as shown below, but omitting the quotes for strings may lead to problems:

(condition?'expr1':'expr2')

It is not necessary to place quotes around numbers.

(condition?2:10)

Page 93: Hyperion Dashboard

Using JavaScript Statements 3-11

For example, to display a different message based on the true or false value of the isMember variable, you could use this statement:

( isMember ? 'Member' : 'Not a member')

In this case, if the isMember variable evaluates to true, then the operator returns the string Member. If isMember does not evaluate to true, then the operator returns the string Not a Member.

You can also use the comparison operator:

((isMember == 'Yes' ) ? 'Member' : 'Not a member')

In this case, if the value of the variable isMember evaluates as equal to the string Yes, then the operator returns the string Member. If isMember does not evaluate as equal to the string Yes, then the operator returns the string Not a Member.

If you want to nest inline if statements, (that is, use an inline if statement as an expression for another inline if statement), enclose the nested inline if statements in parentheses:

(1 != 1 ? 'Not Equal' : (1 < 1 ? 'Less Than': 'Equal') )

In this case, if 1 evaluates as not equal to 1, the second inline if statement is evaluated as part of the first inline if statement’s else clause. If 1 evaluates as less than 1, the operator returns the string Less Than. Since 1 is equal to 1, the operator returns the string Equal from the else clause of the second inline if statement.

Note When you open a version 5.5 document in the 6.x version of Hyperion Intelligence Clients and the document contains computed columns with nested if...else statements, the Intelligence Client JavaScript engine will convert the if...else syntax to the inline if statement syntax. The conversion process will not alter the meaning or value of the original if...else statement.

switch StatementsA switch statement allows a program to evaluate an expression and attempts to match the expression’s value to a case label. If a match is found, the program executes the associated statement. Example 6 shows an example of a switch statement.

Page 94: Hyperion Dashboard

3-12 Dashboard Scripting Reference

Example 6 switch (expression){case label :

statement;break;

case label : statement;break;

...default : statement;

}

The program first looks for a label matching the value of the expression and then executes the associated statement. If no matching label is found, the program looks for the optional default statement. If a matching label is found, the program executes the associated statement. If no default statement is found, the program continues execution at the statement following the end of switch.

The optional break statement associated with each case label ensures that the program breaks out of switch once the matched statement executes and continues execution at the statement following switch. If break is omitted, the program continues execution at the next statement in the switch statement.

In Example 7, if expr evaluates to “Bananas,” the program matches the value with case Bananas and executes the associated statement. When break is encountered, the program terminates switch and executes the statement following switch. If break were omitted, the statement for case Cherries would also be executed.

Example 7 switch (expr) {case "Oranges" :

Console.Writeln("Oranges are $0.59 a pound."); break;

case "Apples" :Console.Writeln("Apples are $0.32 a pound.");break;

case "Bananas" : Console.Writeln("Bananas are $0.48 a pound."); break;

case "Cherries" :Console.Writeln("Cherries are $3.00 a pound.");break;

default :Console.Writeln("Sorry, we are out of " + i + ".");

Page 95: Hyperion Dashboard

Using JavaScript Statements 3-13

}Console.Writeln("Is there anything else you'd like?");

Page 96: Hyperion Dashboard

3-14 Dashboard Scripting Reference

Loop StatementsA loop is a set of commands that repeatedly executes until a specified condition is met. JavaScript supports the following Loop statements:

■ for Statements

■ do...while Statements

■ while Statements

■ label Statements

■ continue Statements

Note label is not itself a looping statement, but is frequently used with these statements. In addition, you can use the break and continue statements within loop statements.

The for...in statement executes statements repeatedly but is used for object manipulation. For more information, see “Manipulating Objects with JavaScript” on page 3-19

for StatementsThe for loop repeats until a specified condition evaluates to false. The JavaScript for loop is similar to the Java and C for loop.

for ([initialExpression]; [condition]; [incrementExpression]) {

statements}

When a for loop executes, the following occurs:

1. The initializing expression initialExpression, if any, is executed. This expression usually initializes one or more loop counters, but the syntax allows an expression of any degree of complexity.

2. The condition expression is evaluated. If the value of condition is true, the loop statements execute. If the value of condition is false, the for loop terminates.

3. The statements execute.

4. The update expression incrementExpression executes and control returns to Step 2.

Page 97: Hyperion Dashboard

Using JavaScript Statements 3-15

do...while StatementsThe do...while statement repeats until a specified condition evaluates to false. A do...while statement looks as follows:

do {statement

} while (condition)

The statement executes once before the condition is checked. If the condition returns true, the statement executes again. At the end of every execution, the condition is checked. When the condition returns false, execution stops and control passes to the statement following do...while.

In the following example, the do...while loop iterates at least once and reiterates until it is no longer less than five.

do {i+=1;Console.Writeln(i);

} while (i<5);

while StatementsA while statement executes as long as a specified condition evaluates to true, for example:

while (condition) {statements

}

If the condition becomes false, the statements within the loop stop executing and control passes to the statement following the loop.

The condition test occurs before the statements in the loop are executed. If the condition returns true, the statements are executed and the condition is tested again. If the condition returns false, execution stops and control is passed to the statement following while.

In Example 8, the while loop repeats as long as n < 3:

Example 8 n = 0x = 0while( n < 3 ) {

n ++x += n

}

Page 98: Hyperion Dashboard

3-16 Dashboard Scripting Reference

With each iteration, the loop increments n and adds that value to x. Therefore, x and n take on the following values:

■ After the first pass: n = 1 and x = 1

■ After the second pass: n = 2 and x = 3

■ After the third pass: n = 3 and x = 6

After completing the third pass, the condition n < 3 is no longer true, so the loop terminates.

In Example 9, the while loop is an infinite loop that never terminates; that is, it executes forever because the condition never becomes false.

Example 9 while (true) {Alert("Hello, world") }

label StatementsA label provides a statement with an identifier that lets you refer to it elsewhere in your program. For example, you can use a label to identify a loop, and then use the break or continue statements to indicate whether a program should interrupt the loop or continue its execution.

The syntax of the label statement looks like this:

label : statement

The value of label may be any JavaScript identifier that is not a reserved word. The statement that you identify with a label may be any type.

In Example 10, the label markLoop identifies a while loop.

Example 10 markLoop:while (theMark == true){

doSomething();}

Page 99: Hyperion Dashboard

Using JavaScript Statements 3-17

continue StatementsThe continue statement can be used to restart a while, do...while, for, or label statement.

In a while or for statement, continue terminates the current loop and continues execution of the loop with the next iteration. In contrast to the break statement, continue does not entirely terminate the execution of the loop. In a while loop, it jumps back to the condition. In a for loop, it jumps to the increment expression.

In a label statement, continue is followed by a label that identifies a label statement. This type of continue restarts a label statement or continues execution of a labeled loop with the next iteration. The continue statement must be in a looping statement identified by the label used by continue.

The syntax of the continue statement looks like this:

1. continue

2. continue [label]

Example 11 shows a while loop with a continue statement that executes when the value of I is three. Thus, n takes on the values one, three, seven, and twelve.

Example 11 i = 0n = 0while (i < 5) {

i++if (i == 3)

continuen += I

}

In Example 12, a statement labeled checkiandj contains a statement labeled checkj. If continue is encountered, the program terminates the current iteration of checkj and begins the next iteration. Whenever continue is encountered, checkj reiterates until its condition returns false. When false is returned, the remainder of the checkiandj statement is completed, and checkiandj reiterates until its condition returns false. When false is returned, the program continues at the statement following checkiandj.

Page 100: Hyperion Dashboard

3-18 Dashboard Scripting Reference

If continue had a label of checkiandj, the program would continue at the top of the checkiandj statement.

Example 12 checkiandj : while (i<4) {

Console.Writeln(i + ""); i+=1; checkj :

while (j>4) {Console.Writeln(j + ""); j-=1; if ((j%2)==0);

continue checkj;Console.Writeln(j + " is odd.");

} Console.Writeln("i = " + i + "");Console.Writeln("j = " + j + "");

}

break StatementsUse the break statement to terminate a loop, switch, or label statement.

When you use break with a while, do...while, for, or switch statement, break terminates the innermost enclosing loop or switch immediately and transfers control to the following statement.

When you use break within an enclosing label statement, it terminates the statement and transfers control to the following statement. If you specify a label when you issue the break, the break statement terminates the specified statement.

The syntax of the break statement looks like this:

1. break

2. break [label]

The first form of the syntax terminates the innermost enclosing loop, switch, or label; the second form of the syntax terminates the specified enclosing label statement.

Example 13 iterates through the elements in an array until it finds the index of an element whose value is theValue.

Page 101: Hyperion Dashboard

Manipulating Objects with JavaScript 3-19

Example 13 for (i = 0; i < a.length; i++) {if (a[i] = theValue);

break;}

Manipulating Objects with JavaScriptJavaScript uses for...in and with statements to manipulate objects. Review the following for information on:

■ for...in Statement

■ with Statement

for...in StatementThe for...in statement iterates a specified variable over all of the properties of an object. For each distinct property, JavaScript executes the specified statements. A for...in statement looks like this:

for (variable in object) {statements }

The function in Example 14 takes as its argument an object and the object’s name. It then iterates over all the object’s properties and returns a string that lists the property names and their values.

Example 14 function dump_props(obj, obj_name) { var result = "" for (var i in obj) { result += obj_name + "." + i + " = " + obj[i] + "" } result += "<HR>" return result}

For an object car with properties make and model, the result would be:

car.make = Fordcar.model = Mustang

Page 102: Hyperion Dashboard

3-20 Dashboard Scripting Reference

with StatementThe with statement establishes the default object for a set of statements. JavaScript looks up any unqualified names within the set of statements to determine if the names are properties of the default object. If an unqualified name matches a property, then the property is used in the statement; otherwise, a local or global variable is used.

A with statement looks like this:

with (object){statements

}

In Example 15, the with statement specifies that the Math object is the default object. The statements following the with statement refer to the PI property and the cos and sin methods without specifying an object. JavaScript assumes the Math object for these references.

Example 15 var a, x, yvar r=10 with (Math) {

a = PI * r * rx = r * cos(PI)y = r * sin(PI/2)

}

Page 103: Hyperion Dashboard

Microsoft Automation Interfaces and the Object Model 3-21

Microsoft Automation Interfaces and the Object ModelThe object model is typically manipulated by the JavaScript language from inside an Dashboard section to build self-contained analytical applications.

Because Hyperion Intelligence Clients is an OLE Automation server, on Microsoft Windows systems, the object model can be addressed by Microsoft Automation Interfaces.

You can use Microsoft Automation Interfaces to control Hyperion Intelligence Clients in external applications such as Excel, Visual Basic, C++, or any application that can make OLE Automation calls. The object model is exposed through the BrioQuery.tbl file located in the system32 directory.

F igure 3-1 Using the Intelligence Client object model from the Visual Basics for Applications editor within Excel 97

Page 104: Hyperion Dashboard

3-22 Dashboard Scripting Reference

OLE Automation Controller within JavaScript (JOOLE)Hyperion Intelligence Clients is an OLE Automation controller. On Windows systems, Hyperion Intelligence Clients can control external applications (that is, programmable ActiveX objects) that are OLE Automation servers. By making OLE Automation calls, Hyperion Intelligence Clients can access functionality exposed by other OLE Automation Servers. Examples of OLE Automation Servers include MS Excel and MS Visual Basic.

To write a JOOLE object reference you can define it with the following syntax:

var <variableName> = new JOOLEObject(<ProgId>)

<ProgID> is a string that shows the installed object that you want to reference and which the Hyperion Intelligence client or web client passes as a reference to the object, such as Excel.Application. <ProgID> is stored in the registry and consists of a string defined as Project.ClassName.

It is recommended that JOOLE calls stored in plugin scripts be implemented on Internet Explorer.

JOOLE is Windows operating systems inclusive only.

Tip You cannot embed OLE objects inside a Hyperion Intelligence Clients document. Likewise, Hyperion Intelligence Clients is not an OLE Server that produces OLE objects you can embed in OLE Containers.

Example 16 shows you how to invoke a new Excel Worksheet from a command button created in an Dashboard section and write "Hello World" to rows 2 and 3 in column B.

Example 16 Excel = new JOOLEObject("Excel.Application"); Excel.Visible = true;Excel.Workbooks.Add;Excel.Sheets.Item(1).Cells.Item(2).Item(2).Value = "Hello";Excel.Sheets.Item(1).Cells.Item(2).Item(3).Value = "World";Print(Excel.Sheets.Item(1).Cells.Item(2).Item(2).Value);

Page 105: Hyperion Dashboard

OLE Automation Controller within JavaScript (JOOLE) 3-23

Example 17 shows you how to invoke Outlook from a commandbutton created in an Dashboard section, and write “Mail generatedautomatically” in the body of the email. Note that Outlook will launcha message which warns that a program is trying to automatically sendan email to the user. The user can either accept or decline the email.

Example 17 var olApp = new JOOLEObject("Outlook.Application") var olNote = olApp.CreateItem(0) olNote.To = "[email protected]"olNote.Subject = "JOOLEObject mail Example"olNote.Body = "This is an automatically generated note."//olNote.Attachments.Add (filepath)olNote.Send

If you are using JOOLE to start Outlook on Windows XP, use the following script:

var obj = Application.Shell("c:\\program Files\\outlook express\\msimn.exe")

Example 18 shows you how to invoke an existing Word document called “Hello.doc” from a command button created in an Dashboard section,, display it and then print it automatically.

Example 18 /Create Word Object word = new JOOLEObject("Word.Application");// Make is Visible word.Visible = true;//Open the desired file word.Documents.Open("c:\\Brio\\Hello.doc");// Set Options word.Options.PrintBackground = false;//Start Printing word.ActiveDocument.PrintOut();

Example 19 shows you how to create and write text to a text file (.txt)from your BQY file. The text file assumes the name of the BQY but appends the characters “_trace” and replaces the BQY extension with a .txt extension. For example if your BQY is name “DashboardText.bqy”, then the Hyperion Intelligence Client or web client creates the text file named “DashboardText_trace.txt”.

Page 106: Hyperion Dashboard

3-24 Dashboard Scripting Reference

Example 19 var oleApp = new JOOLEObject("Scripting.FileSystemOb-ject")var myPath=ActiveDocument.Path.slice(0,-4)+"_trace.txt"var traceDoc=oleApp.CreateTextFile(myPath)traceDoc.WriteLine("hello from Brio")traceDoc.Close()

Exporting Scripts to Text FilesUse the Export Scripts To Text File feature to export JavaScript code and associated events contained in a BQY file into a text file (.txt). Hyperion Intelligence Clients categorizes the text file by object name and events, and includes document and custom menu item scripts.

To export a script to a text file:

1 Choose File→Export→Scripts To Text File.

The Export Script dialog box appears.

2 Specify the file name and location, and then click Save.

Page 107: Hyperion Dashboard

Troubleshooting Scripts 3-25

Troubleshooting ScriptsWhen a script fails to execute due to a syntax or runtime error, you need to debug the code. Finding errors may take time depending on the length and complexity of the code. One way to prevent errors is by observing the protocols that JavaScript requires. This section explains what you need to know to help prevent and locate errors in your scripts.

Space-Saving VariablesOne exception to the Code Entry rule is: If you plan to repeatedly use an object model path, define it as a variable to save space and keep your script compact.

For example, instead of typing:

ActiveDocument.Sections["Query"].DataModel.Connection.Username = "brio"ActiveDocument.Sections["Query"].DataModel.Connection.SetPassword("brio")ActiveDocument.Sections["Query"].DataModel.Connection.Connect

try this:

DMPath = ActiveDocument.Sections["Query"].DataModel.ConnectionDMPath.Username = "brio"DMPath.SetPassword("brio")DMPath.Connect

You must remember to treat space-saving variables like the actual object model paths. That is, insert periods between object model segments and do not add unnecessary spaces.

Also, it is generally a good idea to only include objects as part of the path. That is, make sure that your variable does not have any methods or properties segments for the object with which you want to work. For example:

LPath = ActiveDocument.Sections["Query"].LimitsLPath.Activate()

is incorrect because ActiveDocument.Sections["Query"].Limits does not have an Activate() method.

However, this script is correct:

LPath = ActiveDocument.Sections["Query"]LPath.Activate()

Page 108: Hyperion Dashboard

3-26 Dashboard Scripting Reference

Case-Sensitive CodeJavaScript is case sensitive and distinguishes between uppercase (capital) and lowercase (small) letters. Rules to remember include:

■ All JavaScript statements (for example, var, if…else, while, switch, and so on) start with a lowercase letter. This script will fail because var is capitalized:

Var StringName = "John Smith"

■ All JavaScript core operators start with an uppercase letter, for example new Date(). This script fails because Date is in lowercase.

new date()

■ All object model Path segments start with a capital letter, for example ActiveDocument.Sections["Dashboard"].Activate().

Both of these commands will cause the script to fail because the ActiveDocument segment is not properly capitalized.

activeDocument.Sections["Dashboard"].Activate()

Activedocument.Sections["Dashboard"].Activate()

■ You must refer to variables exactly as you define them. If you define a variable as:

var StringName

then you must always refer to it as StringName, not Stringname or stringName or stringname.

Assignment Operators Versus Comparison OperatorsJavaScript makes a distinction between Assignment and Comparison Operators.

This is an assignment operator:

myvar = 5

This is a comparison operator:

if (myvar == 5)

A common error is to switch the two. Keep them separate. Be particularly careful when you are assigning argument values to methods.

Page 109: Hyperion Dashboard

Troubleshooting Scripts 3-27

DMPath = ActiveDocument.Sections[”Query”].DataModel.Connection//This works…DMPath.SetPassword(“brio”)

//This does not!!!!DMPath.SetPassword = "brio"

The last line of script assigns the value “brio” to DMPath.SetPassword, which is probably not what you want to do.

Conditional TestsWhen using if statements, avoid impossible conditional tests. For example, the following script will always return “myvar is not 5!” even though myvar is 5. This is because the condition will always evaluate to false. In this case, 5 is not the same as “five.”

var myvar = 5if ( myvar == "five")

{Alert("myvar = 5!")}

else{Alert("myvar is not 5!")}

It is especially important to know exactly how a variable reports in your condition. The Console.Writeln() and Alert() methods are especially useful in diagnosing problems like this. Note that the JavaScript core operator String is used only to format myvar for the Console window:

var myvar = 5Console.Writeln(String(myvar))

if ( myvar == "five"){Alert("myvar = 5!")}

else{Alert("myvar is not 5!")}

If you are comparing the value you selected in a list box or a drop-down box to another value, make sure you know what value you are getting back before you compare it to something else. You especially want to avoid mixing up the placement of the item you selected in the control with the item’s actual value.

Page 110: Hyperion Dashboard

3-28 Dashboard Scripting Reference

Sometimes it is a bit tricky to get the value you want back from one of these control boxes. Remember that list boxes have selected lists that may contain multiple values, while drop-down boxes have a selected that can contain only one value.

For example, if you have values of 4, 9, 15, 25, and 36 in your drop-down box, and you select 36, the script below returns myvar is 5!, which seems wrong.

This happens because the DropDown1.SelectedIndex returns the placement in the drop-down box of the item you selected. Your choice of 36 is the fifth item in the drop-down box. Note that the console window reports “5”.

var myvar = DropDown1.SelectedIndexConsole.Writeln(String(myvar))if ( myvar == 5)

{Alert("myvar = 5!")}

else{Alert("myvar is not 5!")}

Now let’s say you have a drop-down box that contains the values of “one,” “two,” “three,” “four” and “five.” The script below returns myvar = five! when you select “five.” However this is only because your choice “five” is the fifth choice in the drop-down box. However, the fifth choice is not necessarily equal to five. You can end up comparing the wrong things.

DropDown1 = ActiveDocument.Sections["Dashboard"].Shapes.DropDown1var myvar = DropDown1.SelectedIndexConsole.Writeln(String(myvar))if ( myvar == 5)

{Alert("myvar = five!")}

else{Alert("myvar is not five!")}

The script below returns the actual value you see in the drop-down box. Let’s assume again that you have a drop-down box that contains the values of “one,” “two,” “three,” “four” and “five:”

DropDown1 = ActiveDocument.Sections["Dashboard"].Shapes.DropDown1var myvar = DropDown1[DropDown1.SelectedIndex]Console.Writeln(String(myvar))if ( myvar == "five")

{

Page 111: Hyperion Dashboard

Troubleshooting Scripts 3-29

Alert("myvar = 5!")}

else{Alert("myvar is not 5!")}

Syntax ReferenceOn the bottom left of the Script Editor, directly above the Help button, is the Description pane. The Description pane shows you the necessary syntax for any item you select in the Object browser.

For example, in the Object browser, navigate to Application→ActiveDocument→Sections→Query→Methods, then select the Activate(). The Description pane reads:

void Activate()

This indicates that the Activate() method does not take any arguments.

Now click on the Export() method. The Description pane reads:

void Export(String Filename, BqExportFileFormat FileFormat, [optional] Boolean IncludeHeaders)

This indicates that the Export() takes three arguments, two required arguments and an one optional.

For more detailed information, click Help to open the online help for the Export() Method topic.

Recalculating ResultsA script that includes limits may execute slowly because it has to recalculate a complete data set each time there is a modification. You can use the SuspendRecalculate property to prevent a Results limit from recalculating after each modification.

In the following example, limit values are dynamically selected at a list box, but the recalculation occurs only after the last value is selected.

Sections[sect_name].Limits[limit_col].SuspendRecalculation = true;Sections[sect_name].Limits[limit_col].SelectedValues.RemoveAll();for(I = 1; I <= ListBox2.SelectedList.Count;I++){NewLimitValue = ListBox2.SelectedList[I];newname += ListBox2.SelectedList[I]

Page 112: Hyperion Dashboard

3-30 Dashboard Scripting Reference

Sections[sect_name].Limits[limit_col].SelectedValues.Add(NewLimitValue);}Sections["Results"].Limits["1"].SuspendRecalculation = false;Sections[sect_name].Limits[limit_col].Ignore=false; // Trigger recalculation now

Designing Your ScriptJavaScript is an interpreted, not a compiled, language and it evaluates and runs each line of code in sequence. If JavaScript finds a problem with a line of code as it attempts to run it, it simply stops. Although the Hyperion Intelligence Clients Script Editor syntax checker catches some obvious syntax errors, many errors may go unnoticed until run time.

You should identify whether each line of code will execute or fail. While it may seem like a lot of work to identify each line of code in this fashion, it pays off in time saved developing your scripts. It is also an essential technique for identifying problems in your scripts. You can check the legitimacy of your scripts using the Console window.

The Console window is used to display error messages and alert values generated by the JavaScript interpreter. During a script debugging cycle, you can write messages to the Console window to track the state of variables and the progress of the script. If a syntax error is detected (and not a runtime error), the error and the line number in which it has occurred appear in the console window. Use the line number to move directly to the line where the error has occurred in the Script Editor.

You can access the Console window from any section within the document; it it remains open until you close it.

The Console window also displays the buffer of all error messages that occur from when Hyperion Intelligence Clients is started. Thus, the Console window may display information that is no longer of value to you. You can choose Edit→Clear to clear the buffer contents. When the Console window is closed, the buffer size is 1,000 bytes. When the Console window is open, the buffer size is 641 bytes.

There are two major techniques to write to the Console window: the Console.Write()/ Console.Writeln() methods, and the Alert() method.

Page 113: Hyperion Dashboard

Troubleshooting Scripts 3-31

The Console.Write() and Console.Writeln() methods are essentially identical. Both write to the Console window, which you can open by choosing View→Console Window. Console.Write() does not add a carriage return at the end of a line, while Console.Writeln() does add a carriage return.

Note Console.Writeln() is spelled with a lowercase L and N, which is an abbreviation for Write Line.

Console.Writeln() is the preferred technique for most users. It allows the script to run without user interaction, and the Console windows keeps a record of each line as it is written to the Console.

In some cases, the Console.Writeln() method is less desirable. Quickview, for example, does not have a Console window. Additionally, the web client’s Console window must be closed when a script runs.

If you wish to step through a tricky section of code in your script, you should use the Alert() method.

Whichever method you use, you need to identify the beginning and end of each script as well as each line of code before it executes. In the following example, the script moves to the Query section and removes any limits.

Console.Writeln("Start Query Script")Console.Writeln("Step1")ActiveDocument.Sections["Query"].Activate()Console.Writeln("Step2")ActiveDocument.Sections["Query"].Limits.RemoveAll()Console.Writeln("Step3")Console.Writeln("End Query Script")

Based on the above script, the Console window displays:

Start Query ScriptStep1Step2Step3End Query Script

Code EntryWhenever possible, use the Object browser click to add code to the Script Editor, rather than manually typing in the JavaScript. Sometimes errors occur because you have typed an extra space or a period instead of a comma.

Page 114: Hyperion Dashboard

3-32 Dashboard Scripting Reference

You can also use cut-and-paste to enter code. For example, if you define a variable as DashboardName, and then later retype it as Dashboardname (see “Case-Sensitive Code” on page 3-26 for more information), the difference in case will cause a failure. Avoid such problems by carefully cutting and pasting whenever possible.

Bypass ErrorsThe try-catch block is borrowed from Java and is used to bypass errors. general syntax for a try-catch block is:

try{do something}catch(errorname){do something with the error}finally{do something else}

For example:

QPath = ActiveDocument.Sections["Query"].Limitstry{QPath.Activate()}catch(e){Alert(e.toString())}finally{Alert("We're Done!")}

The try-catch block generally does not catch definition errors, but shows an error in the Console window at the lowercase “d” in “date()”:

try{Alert(new date())}catch(e){Alert(e.toString())}finally{Alert("We're Done!")}

Page 115: Hyperion Dashboard

Troubleshooting Scripts 3-33

Getting Help with a Problem ScriptIf you have followed all the practices described in this section and you are still not able to get your script to do what you want it to do, consider opening a call with Hyperion Solutions Customer Support at 1-877-901-4975 or email Hyperion at http://www.hyperion.com.

Hyperion Solutions Customer Support engineers will need to see your actual BQY document that contains the script at issue. This is necessary due to the possibility of typos, and because of the relationship between a script and an individual BQY document.

If your data is confidential, consider duplicating your BQY file using the sample script that ships with Hyperion Intelligence Clients. Alternatively, you might consider saving the file without results, or if results are necessary to the function of the script, you may consider limiting your results sets to only a few rows. To set this option, choose Query→Query Options.

The sooner you can locate the problem and the exact point of failure in your script, the sooner Hyperion Solutions Customer Support can analyze the issue and suggest solutions.

Be sure to specify in which section of the BQY document the problem script resides, and within which control it can be found.

Remember that a problem in one script may be as a result of something defined in a different script.

Hyperion Solutions Customer Support may need to evaluate your document start up scripts and your Dashboard section scripts, as well as the script in the particular control that is causing the problem. For this reason, we strongly recommend you use the Console.Writeln() method to identify each of your lines of code in each of your scripts to the Console window. This may make the problem self-evident.

Page 116: Hyperion Dashboard

3-34 Dashboard Scripting Reference

Page 117: Hyperion Dashboard

4 Objects

All elements in BQY documents are seen as objects, each of which can have certain properties and methods. Objects also can be organized into collections.This chapter provides an alphabetical reference to the objects and collections available in BQY documents.

Page 118: Hyperion Dashboard

4-2 Objects

ActiveDocument (Object)

Member of: Application Object

Description: The ActiveDocument object represents the document that the user is currently viewing.

Tip The ActiveDocument.Save() method saves a document to your local machine and not to the server.

Syntax: To access the active document, specify the following syntax:

Application.ActiveDocument

To access any document, specify the following syntax:

Application.Documents["Document Name.bqy"]

Example: The following example shows you how to save the document with a new file name and close the document.

ActiveDocument.SaveAs("d:\\Brio Docs\\Updated File.bqy")ActiveDocument.Close()

Methods: Activate(), AddExportSection(String SectionName), Close([optional] Boolean SaveChanges), Export([optional], String Filename, [optional], BqExportFileFormat FileFormat, [optional] Boolean IncludeHeaders, [optional] Boolean Prompt), InterruptQueryProcess(), OnPostProcess(), OnPreProcess(), OnShutdown(), OnStartup(), RemoveExportSection(), Save([optional] Boolean bCompressed), SaveAs[(optional] String Filename, [optional] Boolean bCompressed, [optional] Boolean Prompt]

Properties: Read-write: Property Active as Boolean, Property Name as String, Property ShowCatalog as Boolean, Property ShowSectionTitleBar as Boolean

Read only: Property Path as String, Property ProcessEventOrigin as BqProcessEventOriginType, QueryInProcess as String

Collections: Sections as Section, Events as Event, UserValues as UserValues

Page 119: Hyperion Dashboard

ActiveSection (Object) 4-3

ActiveSection (Object)

Member of: Application Object

Description: Each document object keeps track of its sections and the ActiveSection object represents the current section object while that section is active. It consists of the name of the current section.

Syntax: To expose the ActiveSection object, specify the following syntax:

ActiveSection

Example: The following example shows you how to activate the "SalesPivot" section, and duplicate it. Intelligence Clients duplicates the section and adds a new section label to the Sections Catalog. The new section label is based on the original section label name, but shows the section label number. For example if you duplicated the chart three times, the section pane would show: Chart, Chart2, and Chart3.

ActiveDocument.Sections["SalesPivot"].Activate()ActiveSection.Duplicate()

Methods: Activate(), Copy(), Duplicate(), Export([optional], String Filename, [optional], BqExportFileFormat FileFormat, [optional] Boolean IncludeHeaders, [optional] Boolean Prompt), OnActivate(), OnDeactivate(), PrintOut9[optional] Number FromPage, [optional] Number ToPage, [optional] Number Copies, [optional], String Filename, [optional] Boolean Prompt), Recalculate(), Remove{}

Properties: Read-write: Property Active as Boolean, Property Name as String, Property ShowOutliner as Boolean, Property Type as BqSectionType, Property Visible as Boolean

Collections: UserValues as UserValues, Shapes as ControlsCommandButton

Page 120: Hyperion Dashboard

4-4 Objects

AggregateLimits (Collection)

Member of: QuerySection Object

Description: The AggregateLimits collection represents those items that allow you to set a limit on a Request item that was computed using a data function in the Query section.

When an aggregate limit has been set on a Request item, a divider appears on the Limit line, and the limit icon is placed to the right of the divider in the user interface. The divider indicates that the limit applied in the SQL Having clause.

The AggregateLimits collection is identical to the Limits collection except it is used only for aggregate limits and the AvailableValues Collection is not available for use. For more information on regular limits and computed item limits, see the Limits (Collection).

Syntax: In terms of structure and content, the AggregateLimits collection is identical to the Limits (Collection). One difference is that the AggregateLimits collection is used only for aggregate limits and not regular or computed item limits. Another difference is that the AvailableValues property (also know as the ShowValue button in the user interface) is not available for computed or aggregate items.The syntax for aggregate limit items is:Request.DisplayName (without reference to the Data Function.)References to limit objects can be either by number or name.

Computed Item Limit Computed item limits and regular item limits share the identical syntax and collections. The one exception is the argument used with the CreateLimit(limit_item) method. The limit_item argument type is a string for both regular limit items and computed items, and refers to the limit item on the limit line. The regular limit item reference is a Topic.TopicItem.

For example, in a "Products" table and a "Product_Line" column, the reference is:

CreateLimit("Products.Product_Line")

Page 121: Hyperion Dashboard

AggregateLimits (Collection) 4-5

The syntax for the computed item limits is:

Request.DisplayName.

For example, in a “DoubleSales”computed item on the Request line, the reference is:CreateLimit(“Request.DoubleSales”). References to limit objects can be either by number or name.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to create a new aggregate limit, add values to the aggregate limit, display the name of the aggregate limit and then add the limit to the limit line:

// Aggregate Limit var MyLimit = ActiveDocument.Sections["Query"].AggregateLimits.CreateLimit("Request.Dealer Price");MyLimit.Operator =bqLimitOperatorLessThan;MyLimit.CustomValues.Add("150");MyLimit.SelectedValues.Add("150");MyLimit.DisplayName = "Price";ActiveDocument.Sections["Query"].AggregateLimits.Add(MyLimit);

Example 2: This example shows you how to create a new computed item limit, add values to the computed item limit, display the name of the computed limit, and then add the limit to the limit line:

//Computed Item Limitvar MyLimit = ActiveDocument.Sections["Query"].Limits.CreateLimit("Request.TotalSales");MyLimit.Operator=bqLimitOperatorGreaterThan;MyLimit.CustomValues.Add("5000");MyLimit.SelectedValues.Add("5000");//MyLimit.DisplayName = "Price";ActiveDocument.Sections["Query"].Limits.Add(MyLimit);

Page 122: Hyperion Dashboard

4-6 Objects

Example 3: This example shows you how to create a new limit called “Dealer Price,” add values to the limit, and limit and then add the regular item limit to the limit line:

//Regular Limitvar MyLimit = ActiveDocument.Sections["Query"].Limits.CreateLimit("PCW_ITEMS.Dealer_Price");MyLimit.Operator =bqLimitOperatorGreaterThan;MyLimit.CustomValues.Add("130");MyLimit.SelectedValues.Add("130");//MyLimit.DisplayName = "Price";ActiveDocument.Sections["Query"].Limits.Add(MyLimit)

Methods: Add(Limit As Limit), CreateLimit(LimitItem As String) As Limit, Item(NameOrIndex) As Limit, RemoveAll()

Properties: Read-only: Property Count As Number

Collections: SelectedValues As LimitValues, CustomValues As LimitValues

Page 123: Hyperion Dashboard

AppendQueries (Collection) 4-7

AppendQueries (Collection)

Member of: QuerySection object

Description: The AppendQueries (Collection) represents those items that allow you to merge multiple queries in a combined Results set.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Syntax: To expose the AppendQuery collection, specify the following syntax:

ActiveDocument.Sections["Query"].AppendQueries

An item of the AppendQuery collection includes the following methods and properties:

ActiveDocument.Sections["Query"].AppendQueries[1].Remove()ActiveDocument.Sections["Query"].AppendQueries[1].Name=StringActiveDocument.Sections["Query"].AppendQueries[1].UnionController=BqUnionController

The Requests collection includes the following methods and properties:

ActiveDocument.Sections["Query"].AppendQueries.Requests.Add(String, String)ActiveDocument.Sections["Query"].AppendQueries.Requests.AddComputedItem(String, String, BQDataType)ActiveDocument.Sections["Query"].AppendQueries.Requests.Item(Value)ActiveDocument.Sections["Query"].AppendQueries.Requests.RemoveAll()ActiveDocument.Sections["Query"].AppendQueries.Requests.Count

An item of the Requests collection includes the following methods and properties:

ActiveDocument.Sections["Query"].AppendQueries.Requests[1].Remove()ActiveDocument.Sections["Query"].AppendQueries.Requests[1].DataType

Page 124: Hyperion Dashboard

4-8 Objects

ActiveDocument.Sections["Query"].AppendQueries.Requests[1].DisplayName ActiveDocument.Sections["Query"].AppendQueries.Requests[1].SQLNameActiveDocument.Sections["Query"].AppendQueries.Requests[1].Visible

The Limits collection under the AppendQuery item includes the following methods and properties:

ActiveDocument.Sections["Query"].AppendQueries.Limits.Add(Limit)ActiveDocument.Sections["Query"].AppendQueries.Limits.CreateLimit(String)ActiveDocument.Sections["Query"].AppendQueries.Limits.Item(Value)ActiveDocument.Sections["Query"].AppendQueries.Limits.RemoveAll()ActiveDocument.Sections["Query"].AppendQueries.Limits.Count

Example 1: This example shows you to how to append a query using the Union operator.

ActiveDocument.Sections["Query"].AppendQueries.Add()ActiveDocument.Sections ["Query"].AppendQueries[1].UnionController=bqUnion

Example 2: This example shows you how to add "Periods" and "Quarters" to the Request line, and how to remove the second request line item.

ActiveDocument.Sections["Query"].AppendQueries.Requests.Add("Periods","Quarters")ActiveDocument.Sections["Query"].AppendQueries.Requests[2].Remove()

Example 3: This example shows you how to place a limit on the "Periods" request line item and how to add the value "Quarter 1" to the limit value.

MyLimit=ActiveDocument.Sections["Query"].AppendQueries.Limits.CreateLimit ("Periods")ActiveDocument.Sections["Query"].AppendQueries.Limits[1].SelectedValues.Add("Q1")ActiveDocument.Sections["Query"].AppendQueries.Limits.Add(MyLimit)

Example 4: This example shows you how to count the number of items in the AppendQueries collection.

QueryCount = ActiveDocument.Sections["Query"].AppendQueries.Count

Example 5: This example shows you how to name the appended query "MyQuery".

ActiveDocument.Sections["Query"].AppendQueries[1].Name="MyQuery"

Example 6: This example shows you how to add "Periods" and "Quarters" and "Periods and "Year" to the Request line. The third line of syntax removes the second request line items.

ActiveDocument.Sections["Query"].AppendQueries.Requests.Add("Periods","Quarter")ActiveDocument.Sections["Query"].AppendQueries.Requests.Add("Periods","Year")ActiveDocument.Sections["Query"].AppendQueries.Requests[2].Remove()

Page 125: Hyperion Dashboard

AppendQueries (Collection) 4-9

Example 7: This example shows you how to return the data type, display name, SQL name, and make the base object visible.

RequestDT=ActiveDocument.Sections["Query"].AppendQueries.Requests[1].DataTypeRequestDN=ActiveDocument.Sections["Query"].AppendQueries.Requests[1].DisplayNameRequestSQLName=ActiveDocument.Sections["Query"].AppendQueries.Requests[1].SQLNameRequestVisible=ActiveDocument.Sections["Query"].AppendQueries.Requests[1].Visible

Example 8: This example shows you place a limit on the "Period" and "Quarter" request line items; use the equal operator in the expression, add the value Quarter 1 to the limit value; name the limit expression "MyLimit"; and count the number of items in the limits collection.

MyLimit=ActiveDocument.Sections["Query"].AppendQueries.Limits.CreateLimit("Periods.Quarter")ActiveDocument.Sections["Query"].AppendQueries.Limits[1].Operator= bqLimitOperatorEqualActiveDocument.Sections["Query"].AppendQueries.Limits[1].SelectedValues.Add("Q1")ActiveDocument.Sections["Query"].AppendQueries.Limits.Add(MyLimit)ActiveDocument.Sections["Query"].AppendQueries.Limits.Count

Example 9: This example shows you how to remove all items from the request line and return a count of items from the request collection. The last line shows you how to remove item number 1 from the request line.

ActiveDocument.Sections["Query"].AppendQueries.Requests.RemoveAll()ActiveDocument.Sections["Query"].AppendQueries.Requests.CountActiveDocument.Sections["Query"].AppendQueries[1].Remove()

Methods: Add (), Item(NameOrIndex As Value) As AppendQueries

Properties: Count As Number

Collections: Requests As Requests, Limits As Limit

Constants BqUnionController

bqUnion

bqUnionAll

This is the UnionController Constant Definition:typedef enum BqUnionController{bqUnion = 1,bqUnionAll,} BqUnionController;

Page 126: Hyperion Dashboard

4-10 Objects

Application (Object)

Description: This object represents the entire Intelligence Clients application. The Application object contains:

■ Application-wide settings and options

■ Methods that return top level objects, such as ActiveDocument

■ Properties that return top level objects, such as ActiveDocument

Note The following object model syntax is not supported in an Intelligence iServer BQY document:

■ Application.Alert()

■ Application.CreateConnection()

■ Application.DoEvents()

■ Application.LoadSharedLibrary()

■ Application.Quite()

■ ApplicationShell()

■ Application.ShowMenuBar

■ Application.ShowStatusBar

■ Application.StatusText

■ Application.Visible

■ Application.WindowState

Example 1: In this example, the quit method is called from the Application object.

Application.Quit()

Example 2: The following example shows you how to display the Paging Toolbar if the application is Intelligence iServer. If the application is not Intelligence iServer, then the Standard Toolbar is displayed.

if (Application.Type = bqAppTypeThinClient){Toolbars["Paging"].Visible = true

Page 127: Hyperion Dashboard

Application (Object) 4-11

}else{Toolbars["Standard"].Visible = true}

Note The Application.Quit() method applies only to Intelligence Clients and not the web client.

Methods: Number Alert(String Prompt, [optional] StringTitle, [optional] StringButton1Text, [optional] String Button2Text, [optional] String Button3Text) Function CreateConnection() As Connection, Function DoEvents(), ExecuteBScript(Script As String), Function LoadSharedLibrary(Name As String) As SharedLibrary, OpenURL(Location as String,Target as String), Quit([Optional] Boolean PromptBeforeQuitting), SendSQL(OceName As String, Username As String, Password As String, SQLString As String), Function Shell(String Command, [optional] String Arguments) As Long,

Properties: Read-only: Property ActiveDocument As Document, Property Console As Console, Property CurrentDir as String, Property Documents As Documents, Property Name As String, Property PathSeparator As String, Property RecentFiles As RecentFiles, Property Toolbars As Toolbars, Property Type as BQAppType, Property Version As String

Read-write: Property CurrentDir As String, Property Name as StringProperty DisplayAlerts As BqAlertLevel, Property ResetPrintProperties as Boolean, Property ShowMenuBar As Boolean, Property ShowStatusBar As Boolean, Property StatusText As String, Property Visible As Boolean, Property WindowState As BqWindowStateWindowState

Collections: Documents as Documents, Toolbars as Toolbars, RecentFiles as RecentFiles

Objects: ActiveDocument as Document, Console as Console, ActiveSection As Section, Session as Session

Page 128: Hyperion Dashboard

4-12 Objects

AreaChart (Object)

Member of: ChartSection

Description: The AreaChart object represents all of the properties of an area chart.

Example: This example shows you how to set an Area chart to fill the area under the Ribbon. The example assumes that “Chart” is the name of Chart report in the active document.

ActiveDocument.Sections["Chart"].AreaChart.FillUnderRibbon = true

Properties: Read-write: Property FillUnderRibbon As Boolean

Page 129: Hyperion Dashboard

AvailableValues (Collection) 4-13

AvailableValues (Collection)

Applies To: Limit object

Description: Returns a collection of values that represent the entire list of valid criteria for a limit. Refer to the LimitValues collection for more information.

Note The Add (Method) is not available for the AvailableValues collection since the values are obtained from the database. For the CustomValues (Collection), Add() adds an additional value to the list. For the SelectedValues (Collection), Add() adds a value to the selected list. The AddAll (Method) of the SelectedValues collection selects all values of either AvailableValues or CustomValues collections depending on what is selected..

Action: Read-only

Example: This example shows you how to take every value from the AvailableValues collection and add them to the SelectedValues collection. This is essentially the same as performing a select all values and transferring the selection in the Limit User Interface:

LimitCount = ActiveDocument.Sections["Results"].Limits[1].AvailableValues.Countfor (i=1;i<=LimitCount;i++){MyVal = ActiveDocument.Sections["Results"].Limits[1].AvailableValues[i]ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(MyVal)}

Methods: Add(Value ValueItem), AddAll(), Item(Number Index), RemoveAll()

Properties: Property Count as Number, Read Only

Page 130: Hyperion Dashboard

4-14 Objects

AxisItems (Collection)

The AxisItems collection has been changed to the CategoryItems collection. For more information, see CategoryItems (Collection).

Page 131: Hyperion Dashboard

AxisLabels (Collection) 4-15

AxisLabels (Collection)

Member of: ChartSection Object

Description: The AxisLabels collection is a collection of labels for a specific chart axis. It maps directly to the Chart outliner.

The AxisLabels collection is instantiated three times for each Chart Section Object in the form: XLabels, YLabels, and ZLabels.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to determine the number of labels on the X-axis.

ActiveDocument.Sections["AllChart"].XLabels.Count

Example 2: In this example, the labels on the Axis have been changed to left justified and rotated vertically.

ActiveDocument.Sections["Chart"].XLabels.Orientation = bqChartLabelOrientationVertical ActiveDocument.Sections["Chart"].XLabels.Justification = bqLeftJustified

Methods: DrillInto(ItemNameOrIndex, DrillName As String), FocusSelection(ItemArray), HideSelection(ItemArray), UnhideAll()

Properties: Read-only: Property Count As Number

Page 132: Hyperion Dashboard

4-16 Objects

BarChart (Object)

Member of: ChartSection Object

Description: The BarChart object represents all of the properties of a bar chart.

Example: This example shows you how to enable the bar values of a bar chart.

ActiveDocument.Sections["Chart"].BarChart.ShowBarValues = true

Properties: Read-write: Property ClusterBy As BqClusterBarType, Property ShowBarValues As Boolean, Property StackClusterType as BqBarLineType

Page 133: Hyperion Dashboard

BarLineChart (Object) 4-17

BarLineChart (Object)

Member of: ChartSection Object

Description: The BarLineChart object represents all BarLineChart properties.

Example: This example shows you how to change the properties of a barline chart.

ActiveDocument.Sections["Chart"].BarLineChart.ShowBarValues = trueActiveDocument.Sections["Chart"].BarLineChart.StackClusterType=bqBarLineClusterActiveDocument.Sections["Chart"].BarLineChart.ClusterBy = bqClusterByYActiveDocument.Sections["Chart"].BarLineChart.IgnoreNulls = falseActiveDocument.Sections["Chart"].BarLineChart.ShiftPoints = bqShiftCenter

Properties: Read-write: Property ClusterBy As BqClusterBarType, Property IgnoreNulls As Boolean, Property ShiftPoints As BqBarLineShift, Property ShowBarValues As Boolean, Property StackClusterType As BqBarLineType

Page 134: Hyperion Dashboard

4-18 Objects

Body (Object)

Member of: ReportSection object

Description: The Body object represents the attributes that you want to display (and often repeat) in the body section of the report.

Example: This example shows you how to spring and unspring a table and chart in the body section.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Spring("Chart")ActiveDocument.Sections["Report"].Body.Charts["Chart"].UnSpring()

Methods: None

Properties: Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean

Objects: LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Page 135: Hyperion Dashboard

CategoryItems (Collection) 4-19

CategoryItems (Collection)

Member of: ChartSection Object

Description: The CategoryItems collection is a collection of items for a specific Chart axis. It maps directly to the Chart outliner.

The CategoryItems collection is instantiated three times in a Chart Section in the form: XCategories, Facts, and ZCategories.

Tip All collections have a method named "Item(NameOrIndex)." This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the "[]" can be used in place of the call to the "Item()" method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: In this example, a chart is built from scratch using the request items specified in the query. First, all the items in the outliner are removed, and then each specific item is added to the outliner.

ActiveDocument.Sections["Chart"].XCategories.RemoveAll()ActiveDocument.Sections["Chart"].Facts.RemoveAll()ActiveDocument.Sections["Chart"].XCategories.Add("Year")ActiveDocument.Sections["Chart"].Facts.Add("Unit Sales")

or

for (I=1;I< ActiveDocument.Sections["Chart"].XCategories.Count; I++)ActiveDocument.Sections["Chart"].XCategories.Remove(I)

for (I=1;I< ActiveDocument.Sections["Chart"].Facts.Count; I++)ActiveDocument.Sections["Chart"].Facts.Remove(I)ActiveDocument.Sections["Chart"].XCategories.Add("Year")ActiveDocument.Sections["Chart"].Facts.Add("Unit Sales")

Page 136: Hyperion Dashboard

4-20 Objects

Methods: Add(ItemName As String), AddComputedItem(Name As String, Expression As String, [Index As Number]), Item(NameOrIndex) As AxisItem, Remove(NameOrIndex), RemoveAll()

Properties: Read-only: Property Count As Number, Property AxisType As BqChartAxisType

Page 137: Hyperion Dashboard

ChartSection (Object) 4-21

ChartSection (Object)

Member of: Sections Collection, Document Object (ActiveSection)

Description: The ChartSection object represents a chart section.

Example: This example activates the “Sales Chart” section, turns on the legend, changes the title to “International Sales Report”, changes the chart type to a horizontal bar chart, and then exports the chart to an HTML file named “intlchrt.htm.”

myChart = ActiveDocument.Sections["Sales Chart"]myChart.Activate()myChart.ShowLegend = truemyChart.Title = "International Sales Report"myChart.ChartType = bqChartTypeHorizontalBarmyChart.Export("c:\\html\\intlchrt.htm",bqExportFormatHTML,true)

Methods: Activate(), Copy(), Duplicate(), Export([Filename As String], [FileFormat As BqExportFileFormat], [IncludeHeaders As Boolean], [Prompt as Boolean]), PivotThisChart() As PivotSection, PrintOut([FromPage As Number], [ToPage As Number], [Copies As Number], [Filename As String], [Prompt As Boolean]), Recalculate(), RefreshDataNow(), Remove()

Properties: Read-only: Property Active As Boolean, Type As BqSectionType

Read-write: Property ChartType As BqChartType, Property Name As String, Property HTMLBoundaryHeight as Number, Property HTMLBoundaryMode as Boolean, Property HTMLBoundaryWidth as Number, Property RefreshData as BqRefreshData, Property Show3DObjects As Boolean, Property ShowBackPlane as Boolean, Property ShowBorder As Boolean, Property ShowHorizontalPlane As Boolean, Property ShowLegend As Boolean, Property ShowOutliner As Boolean, Property ShowSubTitle As Boolean, Property ShowTitle As Boolean, Property ShowVerticalPlane As Boolean, Property SubTitle As String, Property Title As String, Property Visible As Boolean

Collections: XCategories As CategoryItems, Facts As CategoryItems, ZCategories As CategoryItems, XLabels As AxisLabels, YLabels As AxisLabels, ZLabels As AxisLabels, UserValues as UserValues

Page 138: Hyperion Dashboard

4-22 Objects

Objects: AreaChart As AreaChart, BarChart As BarChart, BarLineChart As BarLineChart, LabelsAxis As LabelsAxis, Legend as Legend, LineChart As LineChart, PieChart As PieChart , ValuesAxis As ValuesAxis, Legend As Legend

Page 139: Hyperion Dashboard

Column (Object) 4-23

Column (Object)

Member of: TableSection Object, ResultsSection Object

Description: The Column object represents an individual column within a Table or Results section.

Example 1: This example shows how to populate a Dropdown list control in an Dashboard section with data from a Results column. This example assumes that you have two controls in your Dashboard section, a button named “CommandButton” and a dropdown list named “Dropdown.”

//Code behind the "CommandButton" var NumRows = ActiveDocument.Sections["Results"].RowCountfor (I =1 ; I <= NumRows;I++)DropDown.Add(ActiveDocument.Sections["Results"].Columns[1].GetCell(I))

Example 2: This example shows how to change the number format of all numeric columns in a Results section.

var NumColumns=ActiveDocument.Sections["SalesResults"].Columns.Countfor (I=1; I<=NumColumns;I++){var MyCol=ActiveDocument.Sections["SalesResults"].Columns.Item(I)MyCol.ResizeToBestFit() if (MyCol.DataType = bqDataTypeNumber)

MyCol.NumberFormat = "0.00"}

Methods: CreateDateGroup(), GetCell(nRow as Number), Remove(), ResizeTo BestFit()

Properties: Read-only: Property ColumnType As BqColumnType, Property DataType As BqDataType, Property Index As Number, Property Name As String

Read-write: Property Alignment As BqHorizontalAlignment, Property NumberFormat As String, Property SupressDuplicates As Boolean, Property TextWrap As Boolean, Property Visible As Boolean

Page 140: Hyperion Dashboard

4-24 Objects

Columns (Collection)

Member of: TableSection Object, ResultSection Object

Description: The Columns collection is a collection of columns within a Table or Results section.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows how to add a computed column, named “MyComputed,” in the Results section. This example includes both strings and numeric calculations in the same computed columns.

var MyResults = ActiveDocument.Sections["Results"]var NumColumns = MyResults.Columns.Countvar Expression = ("Number of Columns="+Number(NumColumns+1))MyResults.Columns.AddComputed("MyComputed", Expression)

Methods: Add(Name As String) As Column, AddComputed(Name As String, Expression As String) As Column, Item(NameOrIndex) As Column, ModifyComputed(NameOrIndex, Expression As String) As String, RemoveAll()

Properties: Read-only: Property Count As Number

Page 141: Hyperion Dashboard

Connection (Object) 4-25

Connection (Object)

Member of: Global object or Data Model object

Description: The Connection object represents either a Connection File (OCE) or the connection to a database. Each Data Model object has an associated connection object that describes the Data Model’s connection to the database. The connection object can also represent a Data Model’s MetaData connection information. Lastly, a connection object can be a stand-alone object, which represents an OCE. This object can be created by calling the CreateConnection (Method).

Example 1: This example shows you how to connect a Data Model to its associated database and then process a query. This example assumes that a connection file is already associated with the Data Model.

//Check to make sure the connection has an associated OCEif(ActiveDocument.Sections["Query"].DataModel.Connection.Filename != ""){with(ActiveDocument.Sections["Query"].DataModel.Connection){Username = "brio"SetPassword("BrioBrio")Connect()}ActiveDocument.Sections["Query"].Process()}else{Alert("Your DataModel does not have an OCE","Information")}

Example 2: This example shows you how to create an OCE from scratch and save it to a local file.

var myConmyCon = Application.CreateConnection()myCon.Api =bqApiSQLNetmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")//Now use this connection in a datamodelActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

Page 142: Hyperion Dashboard

4-26 Objects

Method Connect(), Disconnect(), Open(Filename As String), Save(), SaveAs(Filename As String), SetPassword(Password As String), UseAlternateMetadataLocation(Value As Boolean, [MetadataOce As String])

Properties: Read-only: Property Connected As Boolean, Property Filename As String

Read-write: Property AllowNonJoinedQueries As Boolean, Property Api As BqApi, Property AutoCommit As Boolean, Property Database As BqDatabase, Property DataBaseList As String, Property DBLibAllowChangeDatabase As Boolean, Property DBLibApiSeverity As Number, Property DBLibDatabaseCancel As BqDbLibCancelMode, Property DBLibPacketSize As Number, Property DBLibServerSeverity As Number, Property DBLibUseQuotedIdentifiers As Boolean, Property DBLibUseSQLTable As Boolean, Property EnableAsyncProcess As Boolean, Property EnableTransactionMode As Boolean, Property HostName As String, Property MetadataPassword As String, Property MetadataUser As String, Property MetaFileChoice As String, Property ODBCDatabasePrompt As Boolean, Property ODBCEnableLargeBufferMode As Boolean, Property SaveWithoutUsername As Boolean, Property ShowAdvanced As Boolean, Property ShowBrioRepositoryTables As Boolean, Property ShowMetadata As Boolean, Property SpecificMetadataLogin As Boolean, Property SQLNetRetainDateFormats As Boolean, Property StringRetrieval As Boolean, Property TimeLimit As Number, Property Username As String

Page 143: Hyperion Dashboard

Console (Object) 4-27

Console (Object)

Member of: Application Object

Description: The Console object represents the console window.

Note The following object model syntax is not supported in an Intelligence iServer BQY document:

■ Console.Write()

■ Console.WriteLn()

Example 1: This example shows you how to display the names of all the sections in a document to the console window. Each section name can print on a new line by using the Carriage Return “\r” and New Line “\n” characters. The method used is Write (Method).

for(I=1 ; I <= ActiveDocument.Sections.Count; I ++) Console.Write (ActiveDocument.Sections[I].Name+"\r\n")

Example 2: This example shows you how to print the names of document sections on individual lines. Each name is printed on a new line by using the Writeln method.

Console.Writeln(ActiveDocument.Name +"'s sections are: ")for (j=1 ; j < ActiveDocument.Sections.Count ; j++) Console.Writeln("Section #"+j +" = " +ActiveDocument.Sections[j].Name)

Method: Write(OutputData), Writeln (OutputData and new line after the inserted text)

Page 144: Hyperion Dashboard

4-28 Objects

Control (Object)

Member of: Controls Collection

Description: The Control object represents an individual control. All controls are inherited from this basic object. As a result, the Control object itself is not called.

Page 145: Hyperion Dashboard

Controls (Collection) 4-29

Controls (Collection)

Member of: DashboardSection Object

Description: The Controls collection contains all the control objects for a specific Dashboard section. This collection is used to gain access to an Dashboard sections control. The Controls collection returns a specific control object. Each control object has generic methods and properties, which are the same for all controls, and methods and properties that are specific to the type of control returned.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to enable all disabled controls in a particular Dashboard section:

var ControlCount = ActiveDocument.Sections["Dashboard"].Controls.Countfor (I = 1 ; I <= ControlCount; I++) {// if the control is disabled then enable it if (ActiveDocument.Sections["Dashboard"].Controls[I].Enabled != true)

ActiveDocument.Sections["Dashboard"].Controls[I].Enabled = true}

Method: Item(NameOrIndex) As Control

Properties: Read-only: Property Count As Number

Page 146: Hyperion Dashboard

4-30 Objects

ControlsCheckBox (Object)

Member of: Controls Collection, DashboardSection Object

Description: The ControlsCheckBox object represents an Dashboard checkbox. A check box control is a user-interface control that allows the end-user to make simple yes/no type choices. It has two states: checked and unchecked.

Example: This example shows you how to change the text associated with the checkbox control and to determine if it is checked and visible. The following script assumes that there is a checkbox control named “CheckBox” in an Dashboard section.

CheckBox.Text = "Click here to change the value"//if the CheckBox is not being shown, show it.if (CheckBox.Visible != true) CheckBox.Visible = trueif(CheckBox.Checked == true) Alert("Checkbox is Checked","Info")else Alert("Checkbox is Not Checked","Info")

Method: OnClick()

Properties: Read-only: Property Name As String, Property Type as BqShapeType

Read-write: Property Alignment As BqHorizontalAlignment, Property Checked As Boolean, Property Enabled As Boolean, Property Text As String, Property Type As BqShapeType, Property VerticalAlignment As BqVerticalAlignment, Property Visible As Boolean

Objects: Fill As Fill, Font As Font

Page 147: Hyperion Dashboard

ControlsCommandButton (Object) 4-31

ControlsCommandButton (Object)

Member of: Controls Collection, DashboardSection Object

Description: The ControlsCommandButton object represents an Dashboard button.

Example: This example shows you how to change the text, the font type, and the font size of a Command button.

CommandButton.Text = "Click Here"CommandButton.Font.Name = "Courier"CommandButton.Font.Size = 12

Method: OnClick()

Properties: Read-only: Property Name As String, Property Type As BqShapeType

Read-write: Property Alignment As BqHorizontalAlignment, Property Enabled As Boolean, Property Text As String, Property VerticalAlignment As BqVerticalAlignment, Property Visible As Boolean

Object: UserValues collection, Font As Font

Page 148: Hyperion Dashboard

4-32 Objects

ControlsDropDown (Object)

Member of: Controls Collection, DashboardSection Object

Description: The ControlsDropDown object represents an Dashboard dropdown list object. The Dropdown list control is a user-interface control that allows the user to select one item from a list of items.

Example: This example shows how to populate a dropdown list control from an existing query limit.

// Connect to the database to ensure showvalues will workActiveDocument.Sections["Query"].DataModel.Connection.Username = "brio"ActiveDocument.Sections["Query"].DataModel.Connection.SetPassword("BrioBrio")ActiveDocument.Sections["Query"].DataModel.Connection.Connect()//Load the list of Available ValuesActiveDocument.Sections["Query"].Limits[1].RefreshAvailableValues()var ValueCount = ActiveDocument.Sections["Query"].Limits[1].AvailableValues.Count

//Remove All Items from the DropDown DropDown.RemoveAll() for (I = 1; I <= ValueCount; I ++){DropDown.Add(ActiveDocument.Sections["Query"].Limits[1].AvailableValues[I])}

Method: Add(Value As String), Item(Index As Number), OnClick(), OnSelection(), Remove(Index As Number), RemoveAll(), Select(Index As Number)

Properties: Read-only: Property Name As String, Property Type As BqShapeType

Read-write: Property Alignment As BqHorizontalAlignment, Property Count As Number, Property Enabled As Boolean, Property SelectedIndex As Number, Property Text As String, Property VerticalAlignment As BqVerticalAlignment, Property Visible As Boolean

Object: UserValues collection, Font As Font

Page 149: Hyperion Dashboard

ControlsListBox (Object) 4-33

ControlsListBox (Object)

Member of: Controls Collection, DashboardSection Object

Description: The ControlsListBox object represents an Dashboard list box. A list box is a user-interface control that allows a user to select one or more items from a list.

Example: This example shows you how to clear the values in a listbox and repopulate it with values from a results column. This example uses JavaScript’s built in sorting functions. This feature sorts the data before populating the control.

Note JavaScript Arrays are 0 based; all Collections are 1 based.

ListBox.RemoveAll()MyArray = new Array()RowCount = ActiveDocument.Sections["Results"].RowCount//GetCell Returns the value of an individual cell in a Columnfor (j = 1; j <= RowCount; j++)

MyArray[j] = ActiveDocument.Sections["Results"].Columns[1].GetCell(j)//Use JavaScripts built in Array sorting to sort the valuesSortedArray = MyArray.sort()// Add all the sorted items to the listbox controlfor (j = 0; j< MyArray.length;j++)ListBox.Add(SortedArray[j])

Methods: Add(Value As String), Item(Index As Number) As String, OnClick(), OnDoubleClick(), Remove(Index As Number), RemoveAll(), Select(Index As Number), Unselect(Index As Number)

Properties: Read-only: Property Count As Number, Property Name As String, Property Type As BqShapeType

Read-write: Property Alignment As BqHorizontalAlignment, Property Enabled As Boolean, Property MultiSelect As Boolean, Property Text As String, Property VerticalAlignment As BqVerticalAlignment, Property Visible As Boolean

Objects and Collection UserValues collection, Font As Font, SelectedList As SelectedList

Page 150: Hyperion Dashboard

4-34 Objects

ControlsRadioButton (Object)

Member of: Controls Collection, DashboardSection Object

Description: The ControlsRadioButton object represents an Dashboard radio button. A radio button is a user-interface control that allows the user to select one value from a group of options. Radio buttons individually exhibit the same behavior as checkboxes; however, when they are grouped, their behavior changes. When radio buttons are grouped together, only one button may be selected at any time.

Example: This example shows you how to determine which Radio button has been selected from a group of buttons.

NumControls = ActiveDocument.Sections["Dashboard2"].Shapes.Countfor (I = 1; I <= NumControls;I++){if (ActiveDocument.Sections["Dashboard2"].Shapes[I].Group == "ButtonGroup")if(ActiveDocument.Sections["Dashboard2"].Controls[I].Checked==true) Alert("Radio Button"+ ActiveDocument.Sections["Dashboard2"].Controls[I].Name +" Is checked")}

Methods: OnClick()

Properties: Read-only: Property Group As String, Property Name As String, Property Type as BqShapeType

Read-write: Property Alignment As BqHorizontalAlignment, Property Checked As Boolean, Property Enabled As Boolean, Property Text As String, Property VerticalAlignment As BqVerticalAlignment, Property Visible As Boolean

Objects: UserValues collection, Fill As Fill, Font as Font

Page 151: Hyperion Dashboard

ControlsTextBox (Object) 4-35

ControlsTextBox (Object)

Member of: Controls Collection, Dashboard Section Object

Description: The ControlsTextBox represents an Dashboard textbox. Each text box in an Dashboard tab has a unique name. Use this name to reference the object when scripting.

Example 1: This example shows you how to change the text in a Textbox control and how to enable a Textbox control. This script assumes that it is being run from the same Dashboard section as the Textbox control named "TextBox."

TextBox.Text = "Hello World"if (TextBox.Enabled == false) TextBox.Enabled = true

Example 2: This example shows you how to populate an Dashboard text box with a value from the query limit line.

MyLimit = ActiveDocument.Sections["Query"].Limits[1].SelectedValues[1]

ActiveDocument.Sections["Dashboard"].Shapes["TextBox1"].Text = MyLimit

Methods: OnChange(), OnClick(), OnEnter(), OnExit()

Properties: Read-only: Property Name As String, Property Type As BqShapeType

Read-write: Property Alignment As BqHorizontalAlignment, Property Enabled As Boolean, Property Password As Boolean, Property Scrollable As Boolean, Property Text As String, Property VerticalAlignment As BqVerticalAlignment, Property Visible As Boolean

Page 152: Hyperion Dashboard

4-36 Objects

Cookies (Collection)

Member of: Session Object

Description: The cookies collection represents a list of key value pairs, stored as cookies, in the current browser. Cookies are small nuggets of text (less than 4K) which are stored in a Web browser to enable persistent data storage. The cookies collection provides read-only access to the cookies stored in the current browser. Since cookies are browsers based, this collection only applies to the web client. However, the cookies collection is exposed in the client server products to assist in developing web client scripts.

Cookies are a common way to store bits of information to be used across browser sessions and across different browser pages. Cookies are used to personalize information, eliminate the need to reenter an ID, and offer an easy way to tailor a site so that its contents are fresh.

In Windows, cookies are store in the cookies.txt. On the Mac, cookies are stored in the MagicCookie file. Unix stores cookie data in cookies. Data is transferred to the cookie only after a user exits IE or Netscape, and the file is read into the browser’s memory when it is launched. The limit of cookies that IE or Netscape allows is 300. If the cookie is intended to survive a current session, the cookie writer creates an expiration day. The contents of a cookie may include:

■ the server domain where the cookie was created (each cookie is specific to a domain)

■ useful data on where you can find a secure HTTP connection to reference the cookie if a secure connection is required

■ the URL’s pathname capable of accessing the cookie

■ the cookies expiration date

■ name of the cookie entry

■ any string data which has been associated with the cookie.

You set a cookie by defining a name and value for the cookie. You use a JavaScript assignment operator with the document.cookie property to write cookie information to the cookie file as show below:

document.cookie = “cookieName=cookieValue”

Page 153: Hyperion Dashboard

Cookies (Collection) 4-37

A cookie must include a name and a string value, which cannot include semicolons, commas or character spaces.

You may optionally assign the following values:

■ expires=TimeInGMTString

■ path=pathName

■ domain=domainName

■ secure

JavaScript retrieves cookie data contained in one string and includes the entire name-value pair.

Note The Session.Cookie.Add () and Session.Cookie.Item() object model syntax are not supported in an Intelligence iServer BQY document.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows how to display the value of the BRIOUSER cookie in an alert box.

var Username = Session.Cookies["BRIOUSER"]Alert("The username entered on the OnDemand Server login is: "+Username,"ODSUSername")

Page 154: Hyperion Dashboard

4-38 Objects

Example 2: This example shows how to test scripting in the client server version by creating temporary values in the cookies collection. Note: Added key value pairs to the cookies collection does NOT write them back to the web browser.

//Add some test cookies Session.Cookies.Add("MyCookie","MyValue") Session.Cookies.Add("ApplicationName",Application.Name)//Write out the values to the console window Console.Write (Session.Cookies["MyCookie"]) Console.Write (Session.Cookies["ApplicationName"])

Example 3: This example shows how to test scripting in the client server version by creating temporary values in the cookies collection.

Note Added key value pairs to the cookies collection does NOT write them back to the Web browser.

//Add some test cookies Session.Cookies.Add("MyCookie","MyValue")Session.Cookies.Add("ApplicationName",Application.Name)//Write out the values to the console windowConsole.Write (Session.Cookies["MyCookie"])Console.Write (Session.Cookies["ApplicationName"])

Example 4: In the following example, a cookie value is passed from an html form to an web client in document where it is read as part of a text label object

The techniques described here are implemented in part in HTML and in part in Hyperion Intelligence Clients JavaScript inside an web client document. Both the html document and BQY must be published in the Browse Module. Since cookies reside where they have been created, both the html and BQY file must also reside on the where the cookies are stored to work properly.

The sample html that you will use to pass a cookie value, displays a text entry on an HTML page, and when pressing the link it sets a cookie named “Region” to hold the value entered as text. The href in the link sends a message to the web model to load the named web client document and pass the value. Thhe cookie value is passed and read on the OnActivate event.

The source code for the cookie.htm file is defined as:

<html><script>function setCookie(cookieName, cookieValue){

Page 155: Hyperion Dashboard

Cookies (Collection) 4-39

document.cookie = cookieName + "=" + cookieValue + "; path=/"}</script><body><form name=cookieForm>Region = <input name=Region> (clicking the link will set the cookie to whatever you type in)<br>

<A href='http://elearn.brio.com/Brio/dataaccess/Browse?REQUEST_TYPE=GET_DOCUMENT&DOC_UUID=000000f5be51264d-0000-0404-40a02b5e&DOC_VERSION=1&JScript=enable'

onClick="setCookie('Region',document.cookieForm.Region.value)">click here to load the document</a>

</form></body></html>

The script used to collect the cookie value on an OnActivate event in the Dashboard section is defined as:

TextLabel.Text = "The value of the cookie 'Region' is " + Session.Cookies["Region"];

Methods: Add(String Key, String Value), Item (Key as string)

Properties: Read-only: Property Count As Number

Page 156: Hyperion Dashboard

4-40 Objects

CornerLabels (Object)

Member of: PivotSection Object, OLAPQuerySection object

Description: The CornerLabels object represents the Pivot report's corner labels feature. Corner labels mirror the names of the values in the Pivot Outliner in the actual pivot. Using the CornerLabels object you can include corner labels on your pivot report and specify their position (none, top, side, or both).

Example 1: In this example, corner labels are displayed on the side of the pivot report.

LabelActiveDocument.Sections"Pivot"].CornerLabels.Display= BqPivotLabelDisplaySide

Example 2: In this example, corner labels are displayed on the top of the pivot report.

ActiveDocument.Sections["Pivot"].CornerLabels.Display= BqPivotLabelDisplayTop

Example 3: In this example, corner labels are displayed on both the top and side of the pivot report.

ActiveDocument.Sections["Pivot"].CornerLabels.Display= BqPivotLabelDisplayBoth

Example 4: In this example, corner labels are not displayed.

ActiveDocument.Sections["Pivot"].CornerLabels.Display= BqPivotLabelDisplayNone

Example 5: The following example shows you how to use an if...else statement to retrieve and display the corner label display setting in a text box.

var display = ActiveDocument.Sections["OLAPQuery"].CornerLabels.Displayif (display == bqPivotLabelDisplayBoth){TextBox9.Text = "Both";}else if (display == bqPivotLabelDisplayNone){TextBox9.Text = "None";}else if (display == bqPivotLabelDisplaySide){TextBox9.Text = "Side";}else if (display == bqPivotLabelDisplayTop){TextBox9.Text = "Top";

Page 157: Hyperion Dashboard

CornerLabels (Object) 4-41

}

Properties: Read-write: Property Display as BqPivotLabelDisplay

Constants: BQPivotLabelDisplay, which includes the following values:

■ bqPivotLabelDisplayBoth

■ bqPivotLabelDisplayNone

■ bqPivotlabelDisplaySide

■ bqPivotLabelDisplayTop

Page 158: Hyperion Dashboard

4-42 Objects

CustomValues (Collection)

Member of: Limit Object

Description: The CustomValues collection is a collection of values, which represents from a custom list that has been supplied associated with a limit. When a user opens the limit to choose new values, the user can choose a limit

You can retrieve the value of a custom limit by accessing the CustomValue collection.

Note The Add (Method) is not available for the AvailableValues collection since the values are obtained from the database. For the CustomValues (Collection), Add() adds an additional value to the list. For the SelectedValues (Collection), Add() adds a value to the selected list. The AddAll (Method) of the SelectedValues collection selects all values of either AvailableValues or CustomValues collections depending on what is selected..

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Page 159: Hyperion Dashboard

CustomValues (Collection) 4-43

Example: This example shows you how to take every value from the AvailableValues collection and add them to the SelectedValues collection. This is essentially the same as performing a select all values and transferring the selection in the Limit User Interface.

LimitCount = ActiveDocument.Sections["Results"].Limits[1].AvailableValues.Countfor (i=1;i<=LimitCount;I++){MyVal = Add(ActiveDocument.Sections["Results"].Limits[1].AvailableValues[i]ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(MyVal)}

Methods: Add(Value ValueItem), AddAll(), Item(Number Index), RemoveAll()

Properties: Read-only: Property Count as Number

Page 160: Hyperion Dashboard

4-44 Objects

DashboardSection (Object)

Member of: Sections Collection

Description: The DashboardSection object represents an Dashboard section.

Note All section objects are inherited from a base section object. For this reason some sections have methods and properties which don't necessarily apply to them. Methods and properties, which don't apply, throw exceptions..

Example: This example shows how to access the list of controls in an Dashboard section. It also shows you how to rename the section, and how to show or hide the section.

MyDashboard = ActiveDocument.Sections["Dashboard"]Console.Write("Number of Controls = "+MyDashboard.Controls.Count)Console.Write("The First Control is Named: "+MyDashboard.Controls[1].Name)MyDashboard.Name = "My Dashboard Section"//If the section is hidden then show itif (MyDashboard.Visible == false) MyDashboard.Visible = true

Methods: Activate(), Duplicate(), Export(Filename As String, FileFormat As BqExportFileFormat, [IncludeHeaders As Boolean]), Paste(), PrintOut([FromPage As Long], [ToPage As Long], [Copies As Long], [Filename As String]), Remove()

Properties: Read-only: Property Active As Boolean, Property LastPrinted As Date, Property Type As BqSectionType

Read-write: Property Index As Long, Property Name As String, Property Visible As Boolean

Collections: Controls as Controls, Shapes As Shapes

Page 161: Hyperion Dashboard

DataLabels (Object) 4-45

DataLabels (Object)

Member of: PivotSection Object, OLAPQuery object

Description: The DataLabels object represents the Pivot or OLAPQuery’s report's data labels feature. Data labels are the column and row heading on the top and sides of the pivot report and define the categories by which the numeric values are organized. Using the DataLabels object you can include datalabels on your pivot report and specify their position (none, top, side, or both).

Example 1: In this example, data labels are displayed on the side of the pivot report.

ActiveDocument.Sections["Pivot"].DataLabels.Display= BqPivotLabelDisplaySide

Example 2: In this example, data labels are displayed across the top of the pivot report.

ActiveDocument.Sections["Pivot"].DataLabels.Display= BqPivotLabelDisplayTop

Example 3: In this example, data labels are displayed on both the top and side of the report.

ActiveDocument.Sections["Pivot"].DataLabels.Display= BqPivotLabelDisplayBoth

Example 4: In this example, data labels are not displayed.

ActiveDocument.Sections["Pivot"].DataLabels.Display= BqPivotLabelDisplayNone

Example 5: In this example, data labels are not displayed.

ActiveDocument.Sections["Pivot"].DataLabels.Display= BqPivotLabelDisplayNone

Properties: Read-write: Property Display as BqPivotLabelDisplay

Constants: BQPivotLabelDisplay, which includes the following values:

■ bqPivotLabelDisplayBoth

■ bqPivotLabelDisplayNone

■ bqPivotlabelDisplaySide

■ bqPivotLabelDisplayTop

Page 162: Hyperion Dashboard

4-46 Objects

DataModelSection (Object)

Member of: QuerySection Object

Description: The Data Model object represents the underlying Data Model for a Query Section or DataModelSection object. The Data Model object contains information about the connection, table catalog, etc. It can be accessed from either the Data Model or Query sections.

Example 1: This example shows you how to set some basic properties of a Data Model. It turns off AutoJoin and AutoAlias, limits queries to 20 minutes and enables joins between iconized topics. Using the with statement enables you to call methods and properties for an object without fully qualifying it.

with (ActiveDocument.Sections["Query"].DataModel){

AutoAlias = falseAutoJoin = falseTimeLimit = 20ShowIconJoins = true

}

Example 2: This example shows you how to build a Data Model using the Table Catalog object. This example assumes that you are already connected to a database.

with (ActiveDocument.Sections["Query"].DataModel){Topics.RemoveAll()AutoJoin = false//Create two new topics from tables in table catalogCatalog.Refresh()Table1 =Catalog.CatalogItems["WINE"]Table2 =Catalog.CatalogItems["WINE_SALES"]Topics.Add(Table1)Topics.Add(Table2)Field1 = Topics[1].TopicItems["Wine Id"]Field2 = Topics[2].TopicItems["Wine Id"]//Create a new join by joining two TopicItems togetherJoins.Add(Field1,Field2,bqJoinSimpleEqual)// Now add topic items to the request linefor (I = 1; I <= Topics[1].TopicItems.Count; I++)ActiveDocument.Sections["Query"].Requests.Add(Topics[1].Name,Topics[1]. TopicItems[I].DisplayName)}

Page 163: Hyperion Dashboard

DataModelSection (Object) 4-47

Methods: AuditSQL(BqAuditEventType EventType, String SQLString) SyncWithDatabase()

Properties: Read-only: TimeLimitActive as Boolean

Read-write: Property AutoAlias As Boolean, Property AutoJoin As Boolean, Property RowLimit as Number, RowLimitActive as Boolean, Property ShowIconJoins As Boolean, Property TimeLimit As Number, Property TimeLimitActive

Objects: Catalog As DMCatalog, Connection As Connection, MetaDataConnection As Connection, JoinOptions as JoinOptions

Collections: Joins As Joins, Limits As Limits, Topics As Topics, Local Results as LocalResults, LocalJoins as LocalJoins

Page 164: Hyperion Dashboard

4-48 Objects

Date Field (Object)

Member of: Fields collection

Description: Sets the current date in MM/DD/YY format.

Example: This example shows you how to add a line border with a width of 3 points to the Date Field:

ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["Date Field"].Line.Color =10040166ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["Date Field"].Line.Width =4

Methods: Layer(BqLayer value), Spring(String Name), UnSpring

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 165: Hyperion Dashboard

DateNow Field (Object) 4-49

DateNow Field (Object)

Member of: Fields collection

Description: Sets the current date MM/DD/YY format.

Note that this object represents the date when the Date Now field is first added to the report and it will never change.

Example: This example shows you how to concatenate the string: "Created on: " and the date on which the DateNow field was added to the report.

ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["DateNow Field"].Formula = "Created on:" + ' ' + new Date()

Methods: Layer(BqLayer value), Spring(String Name), UnSpring

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 166: Hyperion Dashboard

4-50 Objects

DateTime Field (Object)

Member of: Fields collection

Description: Sets the current date in MM/DD/YY HH:MM: AM format.

Note that the DateTimeNow object represents the date and time when it is first added and it will never change.

Example: This example shows you how to change the font size of the characters in the DateTime field to 12 points.

ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["DateTime Field"].Font.Size = 12

Methods: Layer(BqLayer value), Spring(String Name), UnSpring

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 167: Hyperion Dashboard

DateTimeNow Field (Object) 4-51

DateTimeNow Field (Object)

Member of: Fields collection

Description: Sets the current date MM/DD/YY HH:MM: AM format.

Note that this object represents the date and time when this field is first added to the report and it will never change.

Example: This example shows you how to add a red fill color to the DateTimeNow field in the report header band.

ActiveDocument.Sections["SalesReport"].ReportHeader.Fields["DateTimeNow Field"].Fill.Color = bqRed

Methods: Layer(BqLayer value), Spring(String Name), UnSpring

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 168: Hyperion Dashboard

4-52 Objects

DBSpecific (Object)

Member of: Fields collection

Description: Sets the current date in MM/DD/YY HH:MM: AM format.

Note that the DateTimeNow object represents the date and time when it is first added and it will never change.

Example: This example shows you how to change the font size of the characters in the DateTime field to 12 points.

ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["DateTime Field"].Font.Size = 12

Methods: Layer(BqLayer value), Spring(String Name), UnSpring

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 169: Hyperion Dashboard

DefinedJoinPaths (Collection) 4-53

DefinedJoinPaths (Collection)

Member of: DataModel Object

Description: Defined Join Paths are customized join preferences that enable Intelligence Clients to include or exclude appropriate tables based on the items referenced on the Request and Limit lines. The net effect limits the query to all referenced tables based on available table groupings, generating the most efficient SQL for queries of the Data Model. The features in this collection correspond to the options available on the Define Join Paths dialog.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to select a user defined join path option and delete the existing join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.Type= bqDataModelJoinsOptionDefJoinActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath ["MyJoinPath"].Remove()

Example 2: This example shows you how to select the user defined join path option, and change an existing defined join path by adding a join path topic.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.Type= bqDataModelJoinsOptionDefJoinActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath ["MyJoinPath"].AddTopic("Periods")

Page 170: Hyperion Dashboard

4-54 Objects

Example 3: This example shows you how to select the user defined join path option, create a defined join path, and add all join path topics to the defined join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.Type= bqDataModelJoinsOptionDefJoinActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath.Add ("MyJoinPath")ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath ["MyJoinPath"].AddAllTopics()

Methods: Add(Name As String) As DefinedJoinPath, Item (NameOrIndex) As DefinedJoinPath, Remove(NameOrIndex As String), RemoveAll()

Properties: Read-write: Count As Number

Page 171: Hyperion Dashboard

DefinedJoinPath (Object) 4-55

DefinedJoinPath (Object)

Member of: DefineJoinPaths Collection

Description: A defined join path object contains the customized join preferences that enable Intelligence Clients to include or exclude appropriate tables based on the items referenced on the Request and Limit lines.

Example 1: This example shows you how to select the user defined join path option, and change an existing defined join path by adding a join path topic.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.Type= bqDataModelJoinsOptionDefJoinActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath ["MyJoinPath"].AddTopic("Periods")

Example 2: This example shows you how to select the user defined join path option, create a defined join path, and add all join path topics to the defined join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.Type= bqDataModelJoinsOptionDefJoinActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath.Add("MyJoinPath")ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath["MyJoinPath"].AddAllTopics()

Methods: AddAllTopics(), AddTopic(DefinedJoinPathsName As String), Remove(), RemoveAllTopics(), RemoveTopic(DefinedJoinPathName As String)

Properties: Read-write: Name As String

Page 172: Hyperion Dashboard

4-56 Objects

DerivableQuery (Object)

Member of: DerivableQueries collection

Description: The DerivableQuery object represents an individual derivable query set in a table catalog.

Example: The following example shows how to display the name of the deliverable query in an Alert box.

AlertActiveDocument.Sections["Query"].DataModel.Catalog.DerivableQueries["Query2"].Name

Properties: Read Only: Property Name

Page 173: Hyperion Dashboard

DerivableQueries (Collection) 4-57

DerivableQueries (Collection)

Member of: DMCatalog Object

Description: The DerivableQueries collection is a collection of derivable queries in the table catalog.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to get a count of the Derivable Queries in the Table Catalog and display it within an Alert box.

Alert(ActiveDocument.Sections["Query"].DataModel.Catalog.DerivableQueries.Count)

Methods: Item(NameOrIndex) As DMResult

Properties: Read-only: Property Count As Number

Page 174: Hyperion Dashboard

4-58 Objects

DerivedItem (Object)

Member of: DerivedTable object

Description: The DerivedItem object represents a (topic) item in a derived table.

Example: This example shows you how to display the name of the derived item in an Alert box.

Alert(ActiveDocument.Sections["Query2"].DataModel.DerivedTables["Query"].DerivedItems["Store Id"].DisplayName)

Properties: Read-only: Property DisplayName as String, Name as String

Page 175: Hyperion Dashboard

DerivedItems (Collection) 4-59

DerivedItems (Collection)

Member of: DerivedTable object

Description: The DerivedItems collection is a collection of derived item in the derived table.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to display the count of derived item in an Alert box.

Alert(ActiveDocument.Sections["Query2"].DataModel.DerivedTables["Query"].DerivedItems.Count, "Number of Derived Items")

Methods: Item(value NameOrIndex)

Properties: Read-only: Property Count As Number

Page 176: Hyperion Dashboard

4-60 Objects

DerivedTable (Object)

Member of: DerivableQueries collection

Description: The DerivedTable object represents an individual derived table in the table catalog.

Example: The following example shows how to remove a derived table from an existing query.

ActiveDocument.Sections["Query2"].DataModel.DerivedTables["Query"].Remove()

Collections: DerivedItems collection

Methods: Remove()

Properties: Read Only: Property Name

Page 177: Hyperion Dashboard

DerivedTables (Collection) 4-61

DerivedTables (Collection)

Member of: DMCatalog Object

Description: The DerivedTables collection is a collection of derived tables in the table catalog.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to get a count of the Derivable Queries in the Table Catalog and display it within an Alert box.

Alert(ActiveDocument.Sections["Query"].DataModel.Catalog.DerivableQueries.Count)

Methods: Add(DerivableQuery DerivableQueryObject), Item(Value NameOrIndex), RemoveAll()

Properties: Read-only: Property Count As Number

Page 178: Hyperion Dashboard

4-62 Objects

DesktopClient (Object)

Member of: Events Collections

Description: Enables or disables execution of an Intelligence Client document event in the 8.0 client environment. This object’s properties take a boolean value, which by default is set to “true.”

Example: This example shows you how to disable all document events when running in the Intelligence Client environment.

Documents["Sample1.bqy"].Events["DesktopClient"].ExecuteOnPostProcess=falseDocuments["Sample1.bqy"].Events["DesktopClient"].ExecuteOnPreProcess=falseDocuments["Sample1.bqy"].Events["DesktopClient"].ExecuteOnShutDown=falseDocuments["Sample1.bqy"].Events["DesktopClient"].ExecuteOnStartUp=false

Properties: Read-write: ExecuteOnPostProcess as Boolean, ExecuteOnPreProcess as Boolean, ExecuteOnShutDown as Boolean, ExecuteOnStartUp as Boolean.

Read-only: Name as String

Page 179: Hyperion Dashboard

Dimension (Object) 4-63

Dimension (Object)

Member of: Dimension collection

Description: The Dimension object represents a specific table dimension in the Report section. A dimension is typically a qualifiable and text value, such as a region, product line, and includes date values. It defines the secondary headings or labels that make up the body of the report. Each of the dimensions is repeated within each group. Usually, you use items containing text values (for example, Year or item type) for table dimensions. For example, if you select Item Type to be your table dimension, Item Type is a dimension within each group header. Under the dimension "Item Type," appears the name of each kind of item (for example, CD ROM, or HARD Drive). and corresponds to the . A fact is an quantifiable value, such amount of sales, budget or revenue.

Example 1: This example shows you how to move the "City" dimension before the "State Province" dimension.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Dimensions["City"].Move("State Province")

Example 2: This example shows you how to suppress duplicate values on specific columns in a report table.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Dimensions["City"].SuppressDuplicates = trueActiveDocument.Sections["Report"].Body.Tables["Table"].Dimensions["State Province"].SuppressDuplicates = true

Example 3: This example shows you how to set the background color of the "City" dimension to light blue and the font style to bold.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Dimensions["City"].BackgroundColor = bqLightBlueActiveDocument.Sections["Report"].Body.Tables["Table"].Dimensions["City"].Font.Style = bqFontStyleBold

Methods: Move(LabelNameBefore as String), Remove()

Page 180: Hyperion Dashboard

4-64 Objects

Properties: BackgroundAlternateColor as BqColorType, BackgroundAlternateFrequency as Number, BackgroundColor as BqColorType, BackgroundShowAlternateColor as Boolean, HorizontalAlignment as BqHorizontalAlignment, Name as String, NumberFormat as String, SuppressDuplicates as Boolean, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Objects: Font object

Page 181: Hyperion Dashboard

Dimensions (Collection) 4-65

Dimensions (Collection)

Member of: ReportTable collection

Description: The Dimensions collection represents all table dimension objects in the report section.A dimension is typically a qualifiable value, such as a region, date or product line. A fact is an quantifiable value, such amount of sales, budget or revenue.

Note A When you use the Add, Move and/or Remove methods with this collection and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Example: This example shows you how to add the "City" label as a new dimension.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Dimensions.Add("City", "Results")Recalculate()

Methods: OLAPDimension Item(value NameOrIndex), RetrieveDimension

Properties: Read-only: Count as Number

Page 182: Hyperion Dashboard

4-66 Objects

DMCatalog (Object)

Member of: DataModelSection Object

Description: The DMCatalog object represents the Table Catalog. This object provides access to the names of the database tables that are used when a Data Model is built.

Example 1: This example shows you how to create a Data Model by inserting tables from the Table Catalog. It also shows you how to change the basic display properties of the Table Catalog.

with (ActiveDocument.Sections["Query"].DataModel){ Catalog.ShowFullName= true//Updates the Table Catalog with the most current view of the tables Catalog.Refresh() Table1 =Catalog.CatalogItems["WINE"] Table2 =Catalog.CatalogItems["WINE_SALES"]//Create two new topics from tables in table catalog Topics.Add(Table1) Topics.Add(Table2)}

Example 2: This example shows you how to programmatically display a listing of the available tables on your database.

// display table catalogActiveDocument.Sections["DataModel"].DataModel.Catalog.Refresh()

Example 3: This example shows you how to programmatically add topics to a Data Model section.

CatItem = ActiveDocument.Sections["DataModel"].DataModel.Catalog.CatalogItems["PCW_ITEMS"]ActiveDocument.Sections["DataModel"].DataModel.Topics.Add(CatItem)

Methods: Refresh()

Properties: Read-write: Property ShowFullNames As Boolean, Property ShowLocalResults As Boolean

Collections: CatalogItems As DMCatalogItems, Results As Results

Page 183: Hyperion Dashboard

DMCatalogItem (Object) 4-67

DMCatalogItem (Object)

Member of: DMCatalogItems Collection

Description: The DMCatalogItem object represents a table in the Table Catalog.

Example: This example shows you how to write all the information about the tables in the Table Catalog to the console window.

with (ActiveDocument.Sections["Query"].DataModel){ var NumTables = Catalog.CatalogItems.Count for (I = 1; I <= NumTables;I++) { OutputString = "Database Name =" + Catalog.CatalogItems[I].DatabaseName OutputString = OutputString +":Database Owner=" + Catalog.CatalogItems[I].Owner OutputString = OutputString +":Table Name=" + Catalog.CatalogItems[I].Name Console.Write(OutputString+"\r\n") }}

Methods: None

Properties: Read-only: DatabaseName As String, Property Name As String, Property Owner As String

Page 184: Hyperion Dashboard

4-68 Objects

DMCatalogItems (Collection)

Member of: DMCatalog Object

Description: The DMCatalogItems collection represents a list of all the items in the Table Catalog.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to write all the information about the tables in the Table Catalog to the console window.

With (ActiveDocument.Sections["Query"].DataModel){ var NumTables = Catalog.CatalogItems.Count for (I = 1; I <= NumTables;I++) { OutputString = "Database Name =" + Catalog.CatalogItems[I].DatabaseName OutputString = OutputString +":Database Owner=" + Catalog.CatalogItems[I].Owner OutputString = OutputString +":Table Name=" + Catalog.CatalogItems[I].Name Console.Write(OutputString+"\r\n")

}}

Methods: Item(NameOrIndex) As DMCatalogItem

Properties: Read-only: Property Count As Number

Page 185: Hyperion Dashboard

Document (Object) 4-69

Document (Object)

Member of: Documents Collection, Application Object

Description: The document object contains the content of the file (document) created by Intelligence Clients that you store on your personal computer. Each Intelligence Clients document consists of one or more sections.

Note The following object model syntax is not supported in an Intelligence iServer BQY document:

■ Document.Close()

■ Documents.Open()

Example 1: This example shows how a document object can be referenced by enumerating the documents collection object or by referring to the ActiveDocument object. The following commands all set myDoc to the same document object.

myDoc = Documents[1] ormyDoc = Documents["Testdoc.bqy"] orif "Testdoc.bqy" is the current document thenmyDoc = ActiveDocument

Example 2: In this example, the Section Title bar has been turned off in the ActiveDocument, and the document is saved with a new filename.

ActiveDocument.ShowSectionTitlebar = falseActiveDocument.SaveAs("d:\\Brio Docs\\Updated File.bqy")ActiveDocument.Close()

Methods: Activate(), AddExportSection(SectionName As String), Close([SaveChanges As Boolean]), Export([Filename As String], [FileFormat As BqExportFileFormat], [Prompt As Boolean]), InterruptQueryProcess (), OnPostProcess(), RemoveExportSection(), OnShutdown(), OnStartup(), Save([bCompressed As Boolean]), SaveAs([Filename As String], [bCompressed As Boolean],[Prompt As Boolean]),

Page 186: Hyperion Dashboard

4-70 Objects

Properties: Read-only: Property Active As Boolean, Property Name As String, Property Path As String, Property ProcessEventOrigin as BqProcessEventOriginType, Property QueryInProcess as String

Read-write: Property ShowCatalog As Boolean, Property ShowSectionTitleBar As Boolean

Collections: Sections As Sections, Events as Events, UserValues as UserValues

Object: LastSaved As LastSaved

Page 187: Hyperion Dashboard

Documents (Collection) 4-71

Documents (Collection)

Member of: Application Object

Description: This is a collection of all document collections objects within the application.

Note he following object model syntax is not supported in an Intelligence iServer BQY document: Document.Close() Documents.Open().

Tip All collections have a method named "Item(NameOrIndex)." This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the "[]" can be used in place of the call to the "Item()" method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")\

Example: This example shows how to print all open document names to the console window. It compares the names of open documents with the ActiveDocument (the document which has Focus) and prints “Active” next to its name.

For (I= 1;I <= Documents.Count;I++) { if (Documents[I].Name == ActiveDocument.Name) Console.Writeln(ActiveDocument.Name + "- Active") else Console.Writeln (Documents[I].Name) }

Methods: Add([Name As String]) As Document, Item(NameOrIndex) As Document, New([Name As String]) As Document, Open([Filename As String], Properties:

Read-only: Property Count As Number

Page 188: Hyperion Dashboard

4-72 Objects

Events (Collection)

Member of: Documents Collection

Description: This is a collection of all event collections objects within the document collection. These objects include the: DesktopClient Event Object, PlugInClient Event Object, ThinClient Event Object and Scheduler Event Object. They are used to enable or disable execution of any document event in any 8.0 client environment.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to count and display the number of sections in a BQY document that contain document events in a Console window.

for(I=1 ; I <= Documents["Sample1.bqy"].Events.Count; I ++) Console.Write (ActiveDocument.Sections[I].Name+"\r\n")

Methods: Item(Value NameOrIndex)

Properties: Read-write: Count As Number

Objects: DesktopClient Event object, PlugInClient Event object, ThinClient Event object and Scheduler Event object

Page 189: Hyperion Dashboard

EmbeddedBrowser (Object) 4-73

EmbeddedBrowser (Object)

Member of: Controls Collection, Dashboard Objects

Description: The EmbeddedBrowser (Object) represents an embedded browser control in the Dashboard section. The embedded browser control is essentially an instance of a web browser window, positioned at an arbitrary location (and size) on the Dashboard page. It is similar to an embedded section object, except that the content is anything that can be referenced externally via a URL (and rendered in a web browser window), rather than a section.

Example: The following example shows you how to externally reference a URL using a dropdown control.

if (ActiveDocument.Sections["Dashboard"].Shapes["DropDown1"].SelectedIndex==1)ActiveDocument.Sections["Dashboard"].Shapes["EmbeddedBrowser1"].URL="www.ACME.com";if (ActiveDocument.Sections["Dashboard"].Shapes["DropDown1"].SelectedIndex==2)ActiveDocument.Sections["Dashboard"].Shapes["EmbeddedBrowser1"].URL="www.BestComputerProducts.com";if (ActiveDocument.Sections["Dashboard"].Shapes["DropDown1"].SelectedIndex==3)ActiveDocument.Sections["Dashboard"].Shapes["EmbeddedBrowser1"].URL="www.Comp.com";

Methods: ModifyRepositoryFileBQY, ModifyRepositoryFileBQYJob, ModifyRepositoryFileOther, ModifyRepositoryFileSQRJob

Properties: Read-write: Alignment as BqHorizontalAlignment, ClientScriptStatus as Boolean, Enabled as Boolean, Text as String, URL as String, VerticalAlignment as BqVerticalAlignment, Visible as Boolean

Read-only: Name as String, Repository as Boolean, RepositoryBQYSection as String, Repository BQYToolbarType as BQRepositoryBQYToolbarType, RepositoryDocument as String, RepositoryFiletype as BqRepositoryFiletype, RepositoryJobFilename as String, RepositoryJobRun as Boolean, RepositoryParams as String, RepositorySmartcut as String, Scrollbar as BqScrollbarType, Text as String, Type as BqShapeType,

Objects: UserValues collection, LineFormat object, FillFormat object, Font object

Page 190: Hyperion Dashboard

4-74 Objects

Facts (Collection)

Member of: CategoryItems (Collection)

Description: This is a collection of all chart fact objects within the CategoryItems collection.

Example: In this example, all the items in the (chart) outliner are removed, and then the specific items are added to the outliner.

ActiveDocument.Sections["Chart"].Facts.RemoveAll()ActiveDocument.Sections["Chart"].Facts.Add("Product")ActiveDocument.Sections["Chart"].Facts.Add("State")

Methods: Add(ItemName As String), AddComputedItem(Name As String, Expression As String, [Index As String] As AxisItem), Item (NameOrIndex) As AxisItem, Remove(NameOrIndex), RemoveAll()

Properties: Read-only: Property Axis Type as BqChartAxisType, Property Count As Number

Page 191: Hyperion Dashboard

Facts (Object) 4-75

Facts (Object)

Member of: Facts (Collection)

Description: An object that represents a chart's Y-axis. The Facts object's properties affect the display of the Y-axis and the Y-Facts categories in the Outliner.

Example: In this example, the fact object is set to use the percentage of the grand total data function.

ActiveDocument.Sections["Chart"].Facts["Amount Sales"].DataFunction = bqDataFunctionPercentOfGrand

Methods: Hide()

Properties: Read-Write: Property Axis AxisPlotValue as BqChartAxisPlotValue, DataFunction as BqDataFunction

Read-Only: Name as String

Page 192: Hyperion Dashboard

4-76 Objects

Field (Object)

Member of: Fields collection

Description: Sets a computable field.

Example: This example shows you how to display a field with the text message: This is a text label.

try{ActiveDocument.Sections["Report"].PageHeader.Fields["Field"].Formula = "'This is a text label'"

ActiveDocument.Sections["Report"].Recalculate()}catch(e){Console.Writeln(e.toString())}

Methods: Layer(BqLayer value), Spring(String Name), UnSpring

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 193: Hyperion Dashboard

Fields (Collection) 4-77

Fields (Collection)

Member of: ReportHeader object, ReportFooter object, PageHeader object, PageFooter object, Body object

Description: The Fields collection represents all field objects in the report section.

Example: This example shows you how to count the number of fields that have been inserted in the Body band of the report:

Alert(ActiveDocument.Sections["Report"].Body.Fields.Count + " Number of fields in this band")

Methods: Item(NameOrIndex as Name)

Properties: Read-only: Count as Number

Objects: ReportName Field object, Path Field Object, FileName Field object, Date TimeNow Field object, TimeNowField, DateNow Field object, Time Field object, Last Printed Field object, Date Field, LastSaved Field object, Page XofY Field object, PageCount Field object, PageNm Field, Query SQL field object, Result Limit object, Query Limit object, Field object

Page 194: Hyperion Dashboard

4-78 Objects

FillFormat (Object)

Member of: Body object, Control object, LegendItem object, PageHeader object, PageFooter object, ReportHeader object, ReportFooter object, Shape object,

Description: The Fill object contains all of the properties associated with object background formatting.

Constants Fill.BrushStyle=BqBrushStyle

Fill.Color=BqColorType

Fill.Pattern=BqFillPatternType

Example: This example shows you how to change the color of a rectangle.

MyRectangle = ActiveDocument.Sections["Dashboard"].Shapes["Rectangle"]MyRectangle.Fill.Color = bqBlue

Methods: None

Properties: Read-write: Property Color As BqColorType, Property BrushStyle As BqBrushStyle

Page 195: Hyperion Dashboard

Font (Object) 4-79

Font (Object)

Member of: Shape Object, Control Object

Description: The Font object contains all of the methods and properties of fonts.

Example: This example shows you how to change the size, color, and vertical alignment of a text label.

MyLabel = ActiveDocument.Sections["Dashboard"].Controls["TextLabel"]MyLabel.Font.Size = 10MyLabel.Font.Color = bqBlueMyLabel.Font.Align = bqAlignTop

Constants: The Align property uses the BqVerticalAlignment constant group. The BqVerticalAlignment group consists of the following values:

bqAlignBottom

bqAlignMiddle

bqAlignTop

The Color property uses the BqColorType constant group, which consists of the following values:

bqAqua

bqBlack

bqBlue

bqBlueGray

bqBrightGreen

bqBrown

bqDarkBlue

bqDarkGreen

bqDarkRed

bqDarkTeal

bqDarkYellow

Page 196: Hyperion Dashboard

4-80 Objects

bqGold

bqGray40

bqGray50

bqGray80

bqGreen

bqIndigo

bqLavender

bqLightBlue

bqLightGreen

bqLightOrange

bqLightTurquoise

bqLightYellow

bqLime

bqOliveGreen

bqOrange

bqPaleBlue

bqPink

bqPlum

bqRed

bqSeaGreen

bqSkyBlue

bqTan

bqTeal

bqTurquoise

bqViolet

bqWhite

Page 197: Hyperion Dashboard

Font (Object) 4-81

bqYellow

The Effect property uses the BqFontEffect constant group, which consists of the following values:

bqFontEffectNone

bqFontEffectSubScript

bqFontEffectSuperScript

bqFontEffectStrikeThrough

bqFontEffectStrikeThrough

bqFontEffectUnderline

The Justify property uses the BqHorizontalJustification constant group, which consists of the following values:

bqAlignCenter

bqAlignLeft

bqAlignRight

ActiveDocument.Sections["Dashboard"].Shapes["TextLabel1"].Font.Color=bqBlueActiveDocument.Sections["Dashboard"].Shapes["TextLabel1"].Font.Style=bqFontStyleItalic

Methods: None

Properties: Read-write: Property Color As BqColorType, Property Effect As BqFontEffect (not supported in an Intelligent iServer BQY document), Property Name As String, Property Size As Number, Property Style As BqFontStyle

Page 198: Hyperion Dashboard

4-82 Objects

Footer (Object)

Member of: ReportGroup object

Description: The footer object represents the attributes of the report group footer band.

In the user interface, when you drag an item from the Catalog pane into the Report Group Outliner, Hyperion Intelligence Clients automatically supplies a report group header band and adds a label inside the band, which identifies the group. A group header categorizes data into repeating collections of records in a header band.

Example: This example shows you how to change the color page number field footer to red.

ActiveDocument.Sections["Report"].Groups["Report Group2"].Footer.Fields["PageNm Field"].Font.Color = 16711680

Methods: None

Properties: Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean

Objects: LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Page 199: Hyperion Dashboard

Form (Collection) 4-83

Form (Collection)

Member of: Session Object

Description: The Form collection represents a list of key value pairs stored generated from a POST method of an HTML form. Form elements are the controls, which allow users to make selections on an HTML page. When a browser collects the data from the HTML form, it directs the data to a HyperText Transfer Protocol (HTTP) server indicated in the HTML Form, and starts the Data Access Servlet (DAServlet). The DAServlet collects the form values and packages them for use in the web client. The Form collection provides read-only access to the form elements values which as environment variables in the current browser. Since HTML forms are browsers based this collection only applies to web client. However, the Form collection is exposed in the client server products to assist in developing plug-in scripts.

If you are developing an HTML Form to use with Intelligence Clients, please note the following:

Method: Specifies how the method data is passed to the server when the form gets submitted. Forms can be sent using either the GET or POST methods. The GET method sends the from results in the url submitted to the script. The POST method encodes the data sent to the script. This script in the following examples, use the POST method.

Action: Defines how the form is to be processed when it is submitted to the Data Access Servlet (a component of Hyperion Foundation Suite 8). It contains the location of the BQY document.

JScript=enable: This key-value pair is required to enable the browser to read and access JavaScript.

Each form field is also referred to as an input item (the HTML tag is <input>). The input item is depicted in the form output by a name and a value. The name is a specific identifier that indicates to the script handling the form which field is being used. The value is simple the content. The form fields available include:

Hidden text: A user does not see hidden text boxes. They are used to hold unique data passed between the server and client, and might contain information to be accessed at a later time, such as a date value.

Page 200: Hyperion Dashboard

4-84 Objects

Text Field: Text fields are either a single-line or multiple lines. Text fields are handy for both short or long answers to questions. The default size of the text box is 1 row by 20 rows.

Check box: Check boxes allow a user to select a yes or no answer.

Radio buttons: Radio buttons consists of a group of two or more buttons. If a user selects one button within the group, any other selected button gets clear.

Select values: The Select value creates a dropdown which enables users to select from a list of items within a small area.

Note The Session.Form.Add () and Session.Form.Item() object model syntax is not supported in an Intelligence iServer BQY document.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Page 201: Hyperion Dashboard

Form (Collection) 4-85

Example 1: This example shows how to read the values of a Form elements and use them inside a plug-in script.

Basic HTML Form:

<HTML><BODY><!"Note: The Action Key have a value which opens a document from the web client. You MUST include the "Jscript=enable" key-value pair to initialize the plug-in scripting -><FORM METHOD = "post" ACTION = "http://your.server.com/ods-cgi/odscgi.exe?Method=getDocument&Docname=-1835-83481598112-58541278350-125-8-1-1387-9434&JScript=enable"><P>Text Box <INPUT id=text1 name=text1></P> <P>Password <INPUT id=password1 name=password1 type=password></P><P>Text Area <TEXTAREA id=TEXTAREA1 name=TEXTAREA1></TEXTAREA></P><P>Check Box<INPUT id=checkbox1 name=checkbox1 type=checkbox></P><P>Radio <INPUT id=radio1 name=radio1 value = "1st" type=radio><INPUT id=radio1 name=radio1 type=radio value = "2nd" CHECKED></P><P>DropDown<SELECT id=select1 name=select1 > <OPTION value=Value1>Display1 <OPTION value=Value4>Display4</SELECT></P><P>ListBox <SELECT id=select2 name=select2 size=4 multiple> <OPTION value=Value1>List1 <OPTION value=Value4>List4</SELECT></P><P><INPUT id=submit1 name=submit1 type=submit value=Submit></P></FORM></BODY></HTML>

//Script running on plug-in//Write all values to console windowConsole.Writeln("Text1 Value = "+ Session.Form["text1"])Console.Writeln("password1 Value = "+ Session.Form["password1"])Console.Writeln("TEXTAREA1 Value = "+ Session.Form["TEXTAREA1"])Console.Writeln("checkbox1 Value = "+ Session.Form["checkbox1"])Console.Writeln("radio1 Value = "+ Session.Form["radio1"])Console.Writeln("select1 Value = "+ Session.Form["select1"])Console.Writeln("select2 Value = "+ Session.Form["select2"])

Page 202: Hyperion Dashboard

4-86 Objects

Example 2: The following example shows you how to pass a store code entered in a form text field to a BQY document. The value is first passed and written to the Console Window. It is next passed as a limit value and the query is processed.

The first part of the example shows you how the HTML file was coded to collect the form value field.

StoreSales htm and bqy show passing a form value and apply it as a limit.

<HTML><BODY>

<FORM METHOD = "post" ACTION = "http://elearn.brio.com/Brio/dataaccess/Browse?REQUEST_TYPE=GET_DOCUMENT&DOC_UUID=000000f5f703e795-0000-0404-40a02b5e&DOC_VERSION=1&JScript=enable">

<p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="5">Store Sales by Product Name - 2001</font></b></font></p>

<p>Please enter your store code: <input type="text" name="storecode"></P>

<P><INPUT id=submit1 name=submit1 type=submit value=Submit></P></FORM></BODY></HTML>

The second part of the example shows you how a Document Script was scripted to collect and write the values on an OnStartup event:

//Write all values to console windowvar storecode = Session.Form["storecode"];Console.Writeln(storecode);

var StoreCodeLimit = ActiveDocument.Sections["Query"].Limits["Store Code"];StoreCodeLimit.SelectedValues.RemoveAll();StoreCodeLimit.SelectedValues.Add(storecode);ActiveDocument.Sections["Query"].Process();

Page 203: Hyperion Dashboard

Form (Collection) 4-87

Example 3: This example shows you how to read the values of a Form elements within an HTML file and pass them to a web client document. Passed values in the following example are displayed in the Console Window.

Note that the url cited in the example reflects the url name of the web client document which was published through the Hyperion Foundation Suite 8.0. To get the url of an web client document, log on to Hyperion Foundation Suite 8, navigate to the selected bqy, position the cursor over the web client icon for the document, right-click and select Properties. You can copy and paste the url address directly into your HTML file.

The first part of the example shows you how the HTML file was coded to collect form value fields. From the “text” input type, the state location value is passed. From the “radio” input type, the college level value is passed. From the “check box” input type, the book title is passed. From the “select name” input type field, the state/province value is passed.

<HTML><BODY><!"Note: The Action Key have a value which opens a document from the web client. You MUST include the "Jscript=enable" key-value pair to initialize the plug-in scripting -><FORM METHOD = "post" ACTION = "http://elearn.brio.com/Brio/dataaccess/Browse?REQUEST_TYPE=GET_DOCUMENT&DOC_UUID=000000f56c19b5c5-0000-0404-40a02b5e&DOC_VERSION=1&JScript=enable><p align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><b><font size="5">Book Purchase Survery</font></b></font></p>Metro Bookseller Store Location <input type="text" name="storelocation"></P> </p> <input type="text" name="state"></P> </p> <p>Choose your college year: <input type="radio" name="radiobutton1" value="freshman"> freshman <input type="radio" name="radiobutton2" value="sophmore"> sophmore <input type="radio" name="radiobutton3" value="junior"> junior <input type="radio" name="radiobutton4" value="senior"> senior</p> <p>Choose your favorite books (select as many as apply):</p> <p> <input type="checkbox" name="checkbox" value="The DataWarehouse Toolki"> The DataWarehouse Toolkit</p> <p> <input type="checkbox" name="checkbox2" value="A Short History of Byzantium"> A Short History of Byzantium</p> <p> <input type="checkbox" name="checkbox3" value="A Course in Game Theory">

Page 204: Hyperion Dashboard

4-88 Objects

A Course in Game Theory</p> <p> <input type="checkbox" name="checkbox4" value="Brilliant Deductions"> Brilliant Deductions</p> <p>Select your home state: <select name="state_province"> <option>California</option> <option>New York</option> <option>Texas</option> </select> </p><P><INPUT id=submit1 name=submit1 type=submit value=Submit></P></FORM></BODY></HTML>

In the second part of the example. the Document OnStartup script writes the values passed from the HTML form. Note that the variable names correspond to the control (input) names set in the HTML document.

//Write all values to console windowConsole.Writeln("Text Value = "+ Session.Form["storelocation"])Console.Writeln("radiobutton Value1 = "+ Session.Form["radiobutton1"])Console.Writeln("radiobutton Value2 = "+ Session.Form["radiobutton2"])Console.Writeln("radiobutton Value3 = "+ Session.Form["radiobutton3"])Console.Writeln("radiobutton Value4 = "+ Session.Form["radiobutton4"])Console.Writeln("checkbox Value = "+ Session.Form["checkbox"])Console.Writeln("checkbox2 Value = "+ Session.Form["checkbox2"])Console.Writeln("checkbox3 Value = "+ Session.Form["checkbox3"])Console.Writeln("checkbox4 Value = "+ Session.Form["checkbox4"])Console.Writeln("select Value = "+ Session.Form["state_province"])

Methods: Add(Key As String, Value As String), Item(NameorIndex) As Form

Page 205: Hyperion Dashboard

Formatting (Object) 4-89

Formatting (Object)

Member of: Toolbars Collection

Description: The Formatting object represents the Formatting toolbar contained in the application. The Formatting toolbar is used to provide text formatting, styling and editing command.

If the Formatting object has any of its associated properties accessed from the Intelligence iServer, the script commands are ignored, no exceptions thrown, and any scripts continue.

Constants: The Type property of the Toolbar object uses the BqToolbars constant, which consists of the following values:

bqToolbarStandard = 1

bqToolbarFormat = 2

bqToolbarSections = 3

bqToolbarNavigation = 4

bqToolbarPaging = 5

Example: This example shows you enable the Formatting toolbar in the application.

//Syntax for turning on the Formatting toolbar

Toolbars["Formatting"].Visible=true;

Methods: None

Properties: Read-only: Property Name As String, Property Type As BqToolbars

Read-write: Property Visible As Boolean

Page 206: Hyperion Dashboard

4-90 Objects

Group (Object)

Member of: ReportSection object

Description: The group header categorizes data into repeating collections of records in a header band.

Example: This example shows you how to remove all items in Report Group 1.

ActiveDocument.Sections["Report"].Groups["Report Group1"].Remove()

Methods: Move(LabelNameBefore String), Remove()

Properties: Read-only: Name as String

Objects: Header object, Footer object, GroupItems collection, SortItems collection

Page 207: Hyperion Dashboard

Groups (Collection) 4-91

Groups (Collection)

Member of: ReportSection object

Description: The Group collection represents the Report Groups (i.e. the user selects the "Groups" portion of the outliner in the Reporter). It is treated like a header band, but there are separate objects for the actual report page headers/footers and report header/footer.

Note When you use the Add, Move and/or Remove methods with this collection and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Example: This example shows you how to add the "Year" column member.

ActiveDocument.Sections["Report"].Groups.Add(Year)Recalculate()

Methods: Add(Column Member), Item (Value NameOrIndex), RemoveAll()

Properties: Read-only: Count as Number

Page 208: Hyperion Dashboard

4-92 Objects

GroupItem (Object)

Member of: GroupItems Collection

Description: The GroupItem object represents an individual column that has been dragged into the report group outliner, such as the "Store Id" column from the Results section.

Example: This example shows you how to write the name of the Amount Sales group item to the console window:

Console.Writeln(ActiveDocument.Sections["Report"].Groups["Report Group1"].GroupItems["Amount Sales"].Name)

Methods: Move(LabeLNameBefore as String), Remove()

Properties: Read-only: Name As String

Page 209: Hyperion Dashboard

GroupItems (Collection) 4-93

GroupItems (Collection)

Member of: ReportGroup object

Description: The GroupItems collection is a collection of items for a specific report group.

Example 1: This example shows you how to remove all group items in the report group band in Report Group 1.

ActiveDocument.Sections["Report"].Groups["Report Group1"]. GroupItems.RemoveAll()

Example 2: This example shows you how to addl the "Year" and "Results" group items to Report Group 1.

ActiveDocument.Sections["Report"].Groups["Report Group1"]. GroupItems.Add("Year", "Results")

Methods: Add(String Member, [optional] StringSectionDependency), Item(NameOrIndex as Value). RemoveAll()

Properties: Read-only: Count as Number

Page 210: Hyperion Dashboard

4-94 Objects

Header (Object)

Member of: ReportGroup object

Description: The Header object represents the attributes of the report group header band. When you drag an item from the Catalog pane into the Report Group Outliner, Intelligence Clients automatically supplies a group header band and adds a label inside the band, which identifies the group. A group header categorizes data into repeating collections of records in a header band.

For example, if you create a report to show purchases by state, each state would serve a group header for the report. Other items can be added as sub-categories, such as buyers.

Example: This example shows you how to count and display the number of tables in the Report Group 1 header.

ActiveDocument.Sections["Report"].Groups["Report Group1"].Header.Tables.Count

Methods: None

Properties: Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean

Objects: LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Page 211: Hyperion Dashboard

HyperLink (Object) 4-95

HyperLink (Object)

Member of: Controls Collection, DashboardSection Object

Description: The HyperLink (Object) represents an hyperlink control in the Dashboard section. The content may be displayed in a pop-up window or the current window. This functionally is equivalent to a Text graphic with the object model command OpenURL associated with its OnClick event

Example: This example shows you how to make HyperLink2 visible in the Dashboards section, and to make the content replaces the top-most HTML window

HyperLink2.Visible=trueHyperLink2.DisplayMode=bqOpenURLTargetTop

Methods: ModifyRepositoryFileBQY, ModifyRepositoryFileBQYJob, ModifyRepositoryFileOther, ModifyRepositoryFileSQRJob

Properties: Read-write: Alignment as BqHorizontalAlignment, DisplayMode as BqOpenURLTarget, Enabled as Boolean, Text as String, URL as String, VerticalAlignment as BqVerticalAlignment, Visible as Boolean

Read-only: Name as String, Repository as Boolean, RepositoryBQYSection as String, Repository BQYToolbarType as BQRepositoryBQYToolbarType, RepositoryDocument as String, RepositoryFiletype as BqRepositoryFiletype, RepositoryJobFilename as String, RepositoryJobRun as Boolean, RepositoryParams as String, RepositorySmartcut as String, Type as BqShapeType,

Objects: UserValues collection, LineFormat object, FillFormat object, Font object

Page 212: Hyperion Dashboard

4-96 Objects

Item (Object)

Member of: Items collection

Description: The Item object represents a specific legend object.

This object's attributes directly affect the display of an object in the Legend of a Chart section.

Example: This example shows you how to add a diagonal brush style and the color red to the "Books" legend item.

ActiveDocument.Sections["Chart"].Legend.Items["Books"].Fill.BrushStyle = bqBrushStyleDiagCrossActiveDocument.Sections["Chart"].Legend.Items["Books"].Fill.Color = 16711680

Properties: Read-only: Name as String

Objects: FillFormat object, LineFormat object

Page 213: Hyperion Dashboard

Items (Collection) 4-97

Items (Collection)

Member of: Legend object

Description: The Items collection represents all of the items in a legend.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to count the number of legend items in an Alert box.

Alert(ActiveDocument.Sections["Chart"].Legend.Items.Count)

Methods: Item(Value NameOrIndex)

Properties: Read-only: Count as Number

Page 214: Hyperion Dashboard

4-98 Objects

Join (Object)

Member of: DataModel Object

Description: The Join object represents an individual join between topics in a Data Model.

Example: This example shows you how to change the type of join to a left join and print the names of the joined topic items to the console window.

ActiveDocument.Sections["Query"].DataModel.Joins[1].Type = bqJoinLeftConsole.Writeln(ActiveDocument.Sections["Query"].DataModel.Joins[1].TopicItem1.DisplayName="Sales")Console.Writeln(ActiveDocument.Sections["Query"].DataModel.Joins[1].TopicItem2.PhysicalName)

Console Output:

WineId

WineId

Methods: Remove()

Properties: Read Only: Topic1Name, Topic2Name

Read-write: Type as BqJoinType

Objects: TopicItem1 As TopicItem, TopicItem2 As TopicItem

Page 215: Hyperion Dashboard

Joins (Collection) 4-99

Joins (Collection)

Member of: DataModel Object

Description: The Joins collection is a collection of joins between topics in a Data Model.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to remove all the joins in the current Data Model and create a simple join between the Wine.Wine_Id and Wine_Sales.Wine_Id topic items.

with(ActiveDocument.Sections["Query"].DataModel){Joins.RemoveAll()Field1 = Topics["WINE"].TopicItems["Wine Id"]Field2 = Topics["WINE_SALES"].TopicItems["Wine Id"]//Create a new join by joining two TopicItems togetherJoins.Add(Field1,Field2,bqJoinSimpleEqual)}

Example 2: This example shows you how to add a join between two tables:

// add join between PCW_PERIODS (Day) and PCW_SALES (Order_Date)PCWPeriods_Day = PCWPeriods.TopicItems["Day"]PCWSales_OrderDate = PCWSales.TopicItems["Order_Date"]Day_OrderDate_Join = ActiveDocument.Sections["DataModel"].DataModel.Joins.Add(PCWPeriods_Day,PCWSales_OrderDate,bqJoinSimpleEqual)

Methods: Function Add(TopicItem1 As TopicItem, TopicItem2 As TopicItem, Type As BqJoinType) As Join, Function Item(NameOrIndex) As Join, RemoveAll()

Page 216: Hyperion Dashboard

4-100 Objects

Properties: Read-only: Property Count As Number

Page 217: Hyperion Dashboard

JoinsOptions (Collection) 4-101

JoinsOptions (Collection)

Member of: DataModel Object

Description: The JoinsOptions collection represents the available join usage preferences. The features in this collection is described in the Using Defined Join Paths topic.

Constants: The Type property of the JoinsOptions collection uses the BqDataModelJoinsOptions constant group. Valid values for the BqDataModelJoinsOptions group include:·

bqDataModelJoinsOptionAllTopics (= 0, Read-only)bqDataModelJoinsOptionAutoJoin (= 4, Read-only)bqDataModelJoinsOptionDefJoin (=3, Read-only)bqDataModelJoinsOptionMinTopics (=1, Read-only)bqDataModelJoinsOptionRefTopics (=2, Read-only)

Note If you choose to programmatically define your own joins paths by selecting the bqDataModel JoinsOptionDefJoin constant, specify your join preferences using the DefinedJoinPaths (Collection).

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]myItem =

Documents.Item("StartUp.bqy")

Page 218: Hyperion Dashboard

4-102 Objects

Example: This example shows you how to specify to use only topics represented by items on the Request line for joins.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.Type= bqDataModelJoinsOptionMinTopics

Methods: None

Properties: Read-write: Property Type As BqDataModelJoinsOptions

Collections: DefinedJoinPaths As DefinedJoinedPaths

Page 219: Hyperion Dashboard

LabelsAxis (Object) 4-103

LabelsAxis (Object)

Member of: ChartSection Object

Description: The LabelsAxis object acts as a logical container for both of the labels axis contained in a chart.

Example: This example shows you how to set basic properties of the XAxis label and the ZAxis label.

with(ActiveDocument.Sections["Chart"]){ LabelsAxis.XAxis.ShowValues = true LabelsAxis.XAxis.ShowTickmarks = true LabelsAxis.ZAxis.ShowValues = false LabelsAxis.ZAxis.ShowTickmarks = false}

Methods: None

Properties: XAxis: Property AutoFrequency as Boolean, Property LabelFrequency as Number, LabelText as String, Property ShowLabel as Boolean, Property ShowTickmarks as Boolean, Property ShowValues as Boolean, Property TickmarkFrequency as Number

ZAxis: Property LabelText as String, Property ShowLabel as Boolean, Property ShowTickmarks as Boolean, Property ShowValues as Boolean

Objects: XAxis As XaxisLabel, ZAxis As ZAxisLabel

Page 220: Hyperion Dashboard

4-104 Objects

LabelValues (Object)

Member of: ChartSection Object, XLabels Object, YLabels Object and Zlabels Object

Description: The LabelValues object represents the values on the YLabel, XLabel, or ZLabel.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to set up LabelValues items 1 and 2 in a new array. The new array could then be used with the FocusSelection and HideSelection methods.

var Xarray = new Array();Xarray[0] = ActiveDocument.Sections["Chart"].XLabels.LabelValues.Item(1)Xarray[1] = ActiveDocument.Sections["Chart"].XLabels.LabelValues.Item(2)

Methods: Item (Index As Number) As LabelValueItem

Properties: None

Page 221: Hyperion Dashboard

LastPrinted (Object) 4-105

LastPrinted (Object)

Applies To: ChartSection, DataModelSection, DashboardSection, OLAPQuerySection, PivotSection, QuerySection, ResultsSection, TableSection

Description: Returns a data object corresponding to the last date a section was printed. To get the date value you will need to use the methods and properties of the Date Object.

Action: Read-only: Date Object

Example: This example shows how to print the date the document was last printed to the console window.

Console.Writeln(ActiveDocument.Sections["Pivot"].LastPrinted.toString())Thu Jun 03 13:56:13 GMT-0700 (Pacific Daylight Time) 2001

Page 222: Hyperion Dashboard

4-106 Objects

LastPrinted Field (Object)

Member of: Fields collection

Description: Sets the date on which the report section was last printed in MM/DD/YY format.

Example: This example shows you how to reposition the LastPrinted Field object behind another object (such as a shape object).

ActiveDocument.Sections["Sales Report"].PageFooter.Fields["LastPrinted Field"].Layer(bqLayerBack)

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignmentRead-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 223: Hyperion Dashboard

LastSaved (Object) 4-107

LastSaved (Object)

Applies To: Document, PluginDocument

Description: Returns a value corresponding to the date on which a document was last saved. To get the date value you will need to use the methods and properties of the Date Object.

Action: Read-only: Date Object

Example: This example shows how to print the date the document was last saved to the console window.

Console.Writeln(ActiveDocument.LastSaved.toString())Thu Jun 03 13:56:13 GMT-0700 (Pacific Daylight Time) 2001

Page 224: Hyperion Dashboard

4-108 Objects

LastSaved Field (Object)

Member of: Fields collection

Description: Sets the date on which the document was last printed in MM/DD/YY format.

Example: This example shows you how to change the font color to red in the Last Saved field.

ActiveDocument.Sections["Sales Report"].PageFooter.Fields["LastSaved Field"].Font.Color = 16711680

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignmentRead-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 225: Hyperion Dashboard

LeftAxis (Object) 4-109

LeftAxis (Object)

Member of: ValuesAxis Object

Description: The LeftAxis object represents all the left values axis properties contained in a chart.

Example: This example shows you how to set some basic properties of the left axis.

with(ActiveDocument.Sections["Chart"].ValuesAxis){ LeftAxis.AutoScale = true LeftAxis.AutoInterval = true LeftAxis.ShowLabel = false}

Methods: None

Properties: Read-write: Property AutoInterval As Boolean, Property AutoScale As Boolean, Property IntervalFrequency As Number, Property LabelText As String, Property ScaleMax As Number, Property ScaleMin As Number, Property ShowLabel As Boolean

Page 226: Hyperion Dashboard

4-110 Objects

Legend (Object)

Member of: ChartSection Object

Description: The Legend object represents all of the methods and properties of a chart legend.

Example: This example shows you how to change the chart axis type to the X-axis category.

ActiveDocument.Sections["Chart"].Legend.Focus=bqChartXAxis

Constants: The Legend object uses the BqChartAxisType constant group, which consists of the following values:·

bqChartXAxis

bqChartYAxis

bqChartZAxis

Methods: None

Properties: Property Focus as BqChartAxisType

Collections: Items As LegendItems

Page 227: Hyperion Dashboard

Legend (Collection) 4-111

Legend (Collection)

Member of: ChartSection Object

Description: The Legend collection allows you to set and get legend item attributes of a chart. You might use this collection to set and retrieve the line width of a line chart; or to modify the foreground color of a Bar chart.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to change the color, the fill pattern, the line color, and the line width of a legend item.

ActiveDocument.Sections["Chart"].Legend.Items[1].Fill.Color=bqBlueActiveDocument.Sections["Chart"].Legend.Items[1].Fill.BrushStyle = bqBrushStyleCrossActiveDocument.Sections["Chart"].Legend.Items[1].Line.Color= bqBlueActiveDocument.Sections["Chart"].Legend.Items["Q1"].Line.Width= 6

Example 2: The Legend style property sets the appearance of the line, such as a solid, dotted or a dashed line. this example shows you how to set a "dot, dash" style:

ActiveDocument.Sections["Chart"].Legend.Items["1"].Line.Style= bqDashStyleDotDash

Example 3: This example shows you how to set the marker style, the marker size, the marker border color, and the marker fill color of a legend item.

ActiveDocument.Sections["Chart"].Legend.Items["Q1"].Line.MarkerStyle = bqSquareActiveDocument.Sections["Chart"].Legend.Items[1].Line.MarkerSize = bq6ptActiveDocument.Sections["Chart"].Legend.Items[1].Line.MarkerBorderColor= bqRedActiveDocument.Sections["Chart"].Legend.Items["Q1"].Line.MarkerFillColor= bqGreen

Page 228: Hyperion Dashboard

4-112 Objects

Methods: LegendItems.Item(NameOrIndex)

Properties: Read-only: Property Count as Number

Page 229: Hyperion Dashboard

Limit (Object) 4-113

Limit (Object)

Member of: Limit Collection

Description: The Limit object represents an individual limit. The limit object applies to Results, Data Model and Query Limits.

Note If you intend to populate a list box with limit values from the database, be sure to add the RefreshAvailablesValues method before populating the listbox. This will allow the script to update the results set when the query is opened.

Example 1: This example shows you how to modify values of an existing Results limit.

MyLimit = ActiveDocument.Sections["Results"].Limits[1]//Clear all the values which are currently setMyLimit.SelectedValues.RemoveAll()// add new values to the selectedvalues collectionMyLimit.SelectedValues.Add(2000)//Change the limit criteriaMyLimit.Operator = bqLimitOperatorLessThan

Example 2: This example shows you how to create a new query limit from an existing topic.

//Create an empty Limit object from the "Wine.Cost" Topic Item.MyLimit = ActiveDocument.Sections["Query"].Limits.CreateLimit("Wine.Cost")MyLimit.Operator = bqLimitOperatorGreaterThanMyLimit.SelectedValues.Add(10)MyLimit.Name = "Costly Wine"//Adds the limit to the Limit Line - ActiveDocument.Sections["Query"].Limits.Add(MyLimit)

Example 3: This example shows you how to populate a list box control with the list of available values for an existing results limit. The same logic may be applied to Query and Data Model limits.

LimitCount = ActiveDocument.Sections["Results"].Limits[1].AvailableValues.Countfor (i=1;I<=LimitCount;i++)ListBox.Add(ActiveDocument.Sections["Results"].Limits[1].AvailableValues[i])

Methods LoadFromFile(Filename As String) As Boolean, RefreshAvailableValues(), Remove()

Page 230: Hyperion Dashboard

4-114 Objects

Properties: Read-only: Property ValueSource As BqLimitValueSource

Read-write: Property CustomSQL As String, Property DisplayName As String, Property FullName As String, Property Ignore As Boolean, Property IncludeNulls As Boolean, Property LimitValueType as BqLimitValueType, Property LogicalOperator as BqLogicalOperator as BqLogical Operator, Property Name as String, Property Negate As Boolean, Property Operator As BqLimitOperator, Property Prompt As String, Property SuspendRecalculation as Boolean, Property VariableLimit As Boolean

Collections: AvailableValues As LimitValues, CustomValues As LimitValues, SelectedValues As LimitValues

Page 231: Hyperion Dashboard

Limits (Collection) 4-115

Limits (Collection)

Member of: QuerySection Object, DataModel Object, TableSection Object

Description: The Limits collection is the collection of limits within a Results, Query or Data Model section. It is analogous with the Limit line in Intelligence Clients. The identical syntax and collection used to manipulate regular query limit items are used for computed items. The one difference is the argument used in the Create.Limit(limit_item) method. The limit_item argument type is a string for both regular query items and computed items.The limit_item is a reference to the limit item on the limit line. The reference to a regular query limit item is Topic.TopicItem. For example, given a "Products" table and a "Product_Line" column, the reference is CreateLimit("Products" table and a "Product_Line").The reference to a computed item limit is Request.DisplayName. For example, given a "DoubleSales"computed item on the request line, the reference is CreateLimit("Request.Double Sales).

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to remove all existing limits and create a new query limit from an existing topic.

ActiveDocument.Sections["SalesQuery"].Limits.RemoveAll()MyLimit = ActiveDocument.Sections["SalesQuery"].Limits.CreateLimit ("Sales_Fact.Unit_Sales")MyLimit.Operator = bqLimitOperatorGreaterThanMyLimit.CustomValues.Add(50)MyLimit.SelectedValues.Add(50)//Adds the limit to the Limit Line - ActiveDocument.Sections["SalesQuery"].Limits.Add(MyLimit)

Page 232: Hyperion Dashboard

4-116 Objects

Example 2: This example shows you how to remove all existing limits and create a new query computed item limit.

ActiveDocument.Sections["SalesQuery"].Limits.RemoveAll()MyLimit = ActiveDocument.Sections["SalesQuery"].Limits.CreateLimit ("Requests.Sales_Per_Unit")MyLimit.Operator = bqLimitOperatorLessThanMyLimit.CustomValues.Add(20)MyLimit.SelectedValues.Add(20)//Adds the limit to the Limit Line - ActiveDocument.Sections["SalesQuery"].Limits.Add(MyLimit)

Example 3: This example shows you how to create a query computed item limit using the name of the computed item.

//Example creates a query computed item limit--use name of computed itemmylimit=ActiveDocument.Sections["Query"].Limits.CreateLimit("Request.Sales_Difference")ActiveDocument.Sections["Query"].Limits.Add(mylimit)

Example 4: This example adds a Custom Value to an existing computed item limit.

//Example adds a CustomValue to an existing computed item limitActiveDocument.Sections["Query"].Limits[2].CustomValues.Add(‘2’)Or ActiveDocument.Sections["Query"].Limits["Sales Difference"].CustomValues.Add(‘2’)

Example 5: This example adds a CustomSQL to an existing computed item limit.

//Example Adds CustomSQL to an existing computed item limitActiveDocument.Sections["Query"].Limits["Sales Difference"].LimitValueType=bqLimitValueTypeSQLActiveDocument.Sections["Query"].Limits["Sales Difference"].CustomSQL="SQLString"orActiveDocument.Sections["Query"].Limits[2].LimitValueType=bqLimitValueTypeSQLActiveDocument.Sections["Query"].Limits[2].CustomSQL="SQLString"

Example 6: This example shows you how to create and set variable limits:

// create and set variable limit - Store_Idmylimit = ActiveDocument.Sections["Query"].Limits.CreateLimit("PCW_SALES.Store_Id")mylimit.Operator = bqLimitOperatorLessThanOrEqualmylimit.CustomValues.Add(10)mylimit.SelectedValues.Add(10)ActiveDocument.Sections["Query"].Limits.Add(mylimit)mylimit.VariableLimit = true

Page 233: Hyperion Dashboard

Limits (Collection) 4-117

Methods: Add(Limit As Limit), Function CreateLimit(limitItem As String) As Limit,Function Item(NameOrIndex) As Limit, RemoveAll()

Note The argument for the CreateLimit method is different for regular limits, computed item limits, and aggregate limits. For regular limits the argument is a reference to the table topic and the topic item, for example, CreateLimit(“Sales_Facts.Amount_Sales”). For both computed item limits and aggregate limits the argument is a reference to the item’s Display Name on the request line, for example, CreateLimit(“Request.Amount Sales”).

Properties: Read-only: Property Count As Number

Collections: Parentheses

Page 234: Hyperion Dashboard

4-118 Objects

LimitValues (Collection)

Member of: Limit Object

Description: The LimitValues collection is a collection of all the values associated with the different types of limits—regular, computed, and aggregate. Each limit object has three LimitValues collections: AvailableValues (Collection), SelectedValues (Collection), and CustomValues (Collection). The AvailableValues collection is used for regular limits only.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to add all the values in the AvailableValues collection to the SelectedValues collection. This is essentially the same as performing a select all values and transferring the selection in the Limit User Interface.

LimitCount = ActiveDocument.Sections["Results"].Limits[1]. AvailableValues.Countfor (i=1;i<=LimitCount;i++){MyVal = Add(ActiveDocument.Sections["Results"].Limits[1]. AvailableValues[i]ActiveDocument.Sections["Results"].Limits[1]. SelectedValues.Add(MyVal)}

Example 2: This example adds a CustomValue to the computed item limit.

ActiveDocument.Sections["Query"].Limits[2]. CustomValues.Add(‘2’)

Page 235: Hyperion Dashboard

LimitValues (Collection) 4-119

Example 3: This example shows you how to pass selected values from a pulldown list into a limit in the results set:

ActiveDocument.Sections["Results"].Limits[1].SelectedValues.RemoveAll();NumSelected=Listbox.SelectedList.Count; for (var i=1; i<=NumSelected; i++){ActiveDocument.Sections["Results"].Limits[1].CustomValues.Add(Listbox.SelectedList.Item(i));ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(Listbox.SelectedList.Item (i));};

Methods: Add(ValueItem), AddAll(), Item(Index As Number), RemoveAll()

Note For the AvailableValues (Collection), the Add() method does nothing since the values are obtained from the database.

Properties: Read-only: Property Count As Number

Page 236: Hyperion Dashboard

4-120 Objects

LineChart (Object)

Member of: ChartSection Object

Description: The Line Chart object represents all the methods and properties specific to Line Charts.

Methods: None

Properties: Read-write: Property IgnoreNulls As Boolean

Page 237: Hyperion Dashboard

LineFormat (Object) 4-121

LineFormat (Object)

Member of: Body object Shape Object, Control Object, LegendItem Object

Description: The Line object contains all of the properties assocated with border formating.

Constants: The LineFormat object uses the following constants Line.Color=BqColorType

Line.DashStyle=BqDashStyle

Line.MarkerBorderColor=BqColorType

Line.MarkerFillColor=BqColorType

LineMarkerSize=BqMarkerSize

LineMarkerStyle=BqMarkerStyle

LineStyle=BqDashStyle

Line.Width=BqLineWidth

Example 1: This example shows you how to change the border color, width and DashStyle of a rectangle.

MyRectangle = ActiveDocument.Sections["Dashboard"].Shapes["Rectangle"]MyRectangle.Line.Color = bqRedMyRectangle.Line.Width = 4MyRectangle.Line.DashStyle = bqDashStyleDotDotDash

Example 2: This example shows you how to change the marker color and style for a line chart.

ActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line. MarkerBorderColor=bqRedActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line. MarkerStyle=bqMarkerStyleTriangle

Methods: None

Properties: Read-write: Property Color As BqColorType, Property DashStyle as BqDashStyle, Property MarkerBorderColor as BqColorType, Property MarkerFillColor as BqColorType, Property MarkerSize as Number, Property MarkerStyle as BqMarkerStyle, Property Width as Number

Page 238: Hyperion Dashboard

4-122 Objects

LocalJoins (Collection)

Member of: DataModel Object

Description: The LocalJoins collection provides you with the ability to derive the Topic Name of a topic item contained in a join or local join. You can also retrieve the Topic Item Name for joins (but not for a local join).

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to use a simple equal join.

Topic1=ActiveDocument.Sections["Query"].DataModel.Topics["Sales Fact"]. TopicItems.Item(2)Topic2=ActiveDocument.Sections["Query"].DataModel.Topics["Products"]. TopicItems.Item(1)ActiveDocument.Sections["Query"].DataModel.Joins.Add(Topic1,Topic2,bqJoinSimpleEqual)

Example 2: This example shows you how to use a simple equal join to join topics 1 and 2 in a local results set.

LRTopic1=ActiveDocument.Sections["Query2"].DataModel.LocalResults["1"]. LocalResultTopicItems.Item(7)LRTopic2=ActiveDocument.Sections["Query2"].DataModel.LocalResults["2"].LocalResultTopicItems.Item(7)ActiveDocument.Sections["Query2"].DataModel.LocalJoins.Add(LRTopic1,LRTopic2, bqJoinSimpleEqual)

Methods: Add([TopicItem1 As BaseTopicItem], [TopicItem2 As BaseTopicItem], [Type As BqJoinType] As LocalJoin), Item(NameOrIndex) As LocalJoin, RemoveAll()

Properties: Read-only: Property Count As Number

Page 239: Hyperion Dashboard

LocalResults (Collection) 4-123

LocalResults (Collection)

Member of: DataModel Object

Description: The LocalResults collection provides you with the ability to use local results in joins and the Request line for processing results sets.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example adds a local results topic to a query section.

vDM=ActiveDocument.Sections["Query"].DataModel.Catalog.Results.Item(1)ActiveDocument.Sections["Query"].DataModel.LocalResults.Add(vDM)

or

vDM= ActiveDocument.Sections["Query"].DataModel.Catalog.Results.Item("sales_fact")ActiveDocument.Sections["Query"].DataModel.LocalResults.Add(vDM)

Example 2: This example shows how to remove all local results topics and how to count the local results topics in a query section.

ActiveDocument.Sections["Query"].DataModel.LocalResults.RemoveAll()ActiveDocument.Sections["Query"].DataModel.LocalResults.Count

Example 3: This example removes a single local results topic and gets the topic item count of the “Results2” local topic.

ActiveDocument.Sections["Query"].DataModel.LocalResults["Results2"].Remove()ActiveDocument.Sections["Query"].DataModel.LocalResults["Results2"].LocalResultsTopicItems.Count

Page 240: Hyperion Dashboard

4-124 Objects

Example 4: This example shows you how to add a join between a topic and a local results topic.

Topic1=ActiveDocument.Sections["Query"].DataModel.LocalResults["Sales Fact"]. LocalResultTopicItems.Item("Store Id")Topic2=ActiveDocument.Sections["Query"].DataModel.Results["Results2"].TopicItems.Item("Store Id")ActiveDocument.Sections["Query"].DataModel.LocalJoins.Add(Topic1,Topic2, bqJoinLeft)

Example 5: This example shows you how to remove a single local results topic.

//Remove a single Local Results TopicActiveDocument.Sections["Query"].DataModel.LocalResults["Results2"].Remove()

Example 6: This example shows you how to get a topic item count of local results.

//Get the Topic Item count of Local ResultsTextBox1.Text=ActiveDocument.Sections["Query"].DataModel.LocalResults["Results2"].LocalResultsTopicItems.Count

Example 7: This example shows you to get a count of local joins in a query section.

//Count Local JoinsTextBox1.Text=ActiveDocument.Sections["Query"].DataModel.LocalJoins.Count

Example 8: This example shows you how to remove all local joins.

//Remove All Local Joins ActiveDocument.Sections["Query"].DataModel.LocalJoins.RemoveAll()

Example 9: This example shows you how to add a join between a topic and a local results topic.

//Add Join between Topic and Local Results TopicTopic1=ActiveDocument.Sections["Query"].DataModel.LocalResults["Sales Fact"].LocalResultTopicItems.Item("Store Id")Topic2=ActiveDocument.Sections["Query"].DataModel.Results["Results2"].TopicItems.Item("Store Id")ActiveDocument.Sections["Query"].DataModel.LocalJoins.Add(Topic1, Topic2,bqJoinLeft)

Example 10: This example shows you how to add a topic from local results to the Request Line.

//Add Topic from Local Results to Request LineActiveDocument.Sections["Query"].Requests.Add("Results2","Quarter")

Page 241: Hyperion Dashboard

LocalResults (Collection) 4-125

Methods: Add(LocalResultObject As DMResult) As LocalResult, Item(NameOrIndex) As LocalResult, RemoveAll()

Properties: Read-only: Count as Number

Page 242: Hyperion Dashboard

4-126 Objects

LocalResultsTopicItems (Collection)

Member of: LocalResults Object

Description: The LocalResultsTopicItems collection provides you with the ability to use local results topic items in joins and in the Request line for processing results sets.

Example 1: This example removes a single local results topic and gets the topic item count of the “Results2” local topic.

ActiveDocument.Sections["Query"].DataModel.LocalResults["Results2"].Remove()ActiveDocument.Sections["Query"].DataModel.LocalResults["Results2"].LocalResultsTopicItems.Count

Example 2: This example adds a join between a topic and a local results topic.

Topic1=ActiveDocument.Sections["Query"].DataModel.LocalResults["Sales Fact"]. LocalResultTopicItems.Item("Store Id")Topic2=ActiveDocument.Sections["Query"].DataModel.Results["Results2"].TopicItems.Item("Store Id")ActiveDocument.Sections["Query"].DataModel.LocalJoins.Add(Topic1,Topic2, bqJoinLeft)

Methods: Item()

Properties: Read-only: Count as Number

Page 243: Hyperion Dashboard

MetaDataConnection (Object) 4-127

MetaDataConnection (Object)

Member of: Global object or Data Model object

Description: The MetaDataConnection object represents a Data Model’s MetaData connection definitions. Metadata connection definitions are powerful tools that you can use to link the Intelligence Clients application to metadata, or information about your database. By modifying the SQL Intelligence Clients sends to your database server, you can dictate where Intelligence Clients finds the information it uses to create a Data Model from database tables.

Metadata connection definitions read metadata from tables on the database and apply it to Data Models through a live database connection. The specifications for reading these tables are stored in the connection file. Once configured, metadata definitions are available for anyone using the connection file.

Example: The following example creates a metadata connection file (.oce) from scratch and then applies it to the current document. The data source name in this example is "PlutoSQLSVR" which is a user DSN using the SQL Server 6.5 driver:

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto.myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.MetadataUsername"brio"myCon.MetadataPassword = "briobrio"myCon.MetaFileChoice = "Broadbase"myCon.UseAlternateMetadataLocation(true,c:\\OCEs\\PlutoMeta.OCE)myCon.EnableAsyncProcess = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.MetaDataConnection.Open()("d:\\OCEs\\PlutoSQL.oce")

Method Connect(), Disconnect(), Open(Filename As String), Save(), SaveAs(Filename As String), SetPassword(Password As String), UseAlternateMetadataLocation(Value As Boolean, [MetadataOce As String])

Page 244: Hyperion Dashboard

4-128 Objects

Properties: Read-only: Property Connected As Boolean, Property Filename As String

Read-write: Property AllowNonJoinedQueries As Boolean, Property Api As BqApi, Property AutoCommit As Boolean, Property Database As BqDatabase, Property DataBaseList As String, Property DBLibAllowChangeDatabase As Boolean, Property DBLibApiSeverity As Number, Property DBLibDatabaseCancel As BqDbLibCancelMode, Property DBLibPacketSize As Number, Property DBLibServerSeverity As Number, Property DBLibUseQuotedIdentifiers As Boolean, Property DBLibUseSQLTable As Boolean, Property EnableAsyncProcess As Boolean, Property EnableTransactionMode As Boolean, Property HostName As String, Property MetadataPassword As String, Property MetadataUser As String, Property MetaFileChoice As String, Property ODBCDatabasePrompt As Boolean, Property ODBCEnableLargeBufferMode As Boolean, Property SaveWithoutUsername As Boolean, Property ShowAdvanced As Boolean, Property ShowBrioRepositoryTables As Boolean, Property ShowMetadata As Boolean, Property SpecificMetadataLogin As Boolean, Property SQLNetRetainDateFormats As Boolean, Property StringRetrieval As Boolean, Property TimeLimit As Number, Property Username As String

Page 245: Hyperion Dashboard

Navigation (Object) 4-129

Navigation (Object)

Member of: Toolbars Collection

Description: The Navigation object represents the Navigation toolbar contained in the application. The Navigation toolbar is used to return to the Dashboard section from another section when the Section catalog, Section titlebar, toolbars and menus have been turned off. The Navigation toolbar is hidden by default, but can be enabled by scripts. When activated, it is available in all sections and includes the Back, Forward and Dashboard Home buttons.

Constants: The Type property of the Toolbar object uses the BqToolbars constant, which consists of the following values:

bqToolbarStandard = 1

bqToolbarFormat = 2

bqToolbarSections = 3

bqToolbarNavigation = 4

bqToolbarPaging = 5

Example: This example shows you how to enable the Nvigation toolbar.

//Syntax for turning on the Navigation toolbarToolbars["Navigation"].Visible=true;

Methods: None

Properties: Read-only: Property Name As String, Property Type As BqToolbars

Read-write: Property Visible As Boolean

Page 246: Hyperion Dashboard

4-130 Objects

OLAPCatalog (Object)

Member of: OLAPQuery object

Description: The OLAPCatalog object represents the OLAPTable Catalog. This object provides access to a multi-dimensional databases (MDD). -dimensions, level, member, measures and properties.

Example 1: The following example shows you how to use a try-catch block to retrieve the dimensions from two OLAPCatalogs. If the dimensions of an OLAPCatalog cannot be retrieved (no connection can be made, or the query does not exist), an exception is thrown and the following message is written to the Console: “No OLAPQueryx Dimensions retrived”. If the dimensions can be retrieved, the following message is written to the Console: “OLAPQueryx Dimensions are retrieved.”

try{QRetrieve =ActiveDocument.Sections["OLAPQuery1"]

QRetrieve.Catalog.Dimensions.RetrieveDimensions()Console.Writeln("OLAPQuery1 Dimensions retrieved")}catch(e){Console.Writeln("No OLAPQuery1 Dimensions retrieved")}try{QRetrieve =ActiveDocument.Sections["OLAPQuery"]

QRetrieve.Catalog.Dimensions.RetrieveDimensions()Console.Writeln("OLAPQuery Dimensions retrieved")}

catch(e){Console.Writeln("No OLAPQuery Dimensions retrieved")

Example 2: Example shows you how to count the number of dimensions in the OLAPCatalog and display the value in an Alert box.

Application.Alert("The number of dimensions is:" + ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions.Count)

Page 247: Hyperion Dashboard

OLAPCatalog (Object) 4-131

Example 3: This example shows you how to programmatically add topics to a Data Model section.

CatItem = ActiveDocument.Sections["DataModel"].DataModel.Catalog.CatalogItems["PCW_ITEMS"]ActiveDocument.Sections["DataModel"].DataModel.Topics.Add(CatItem)

Methods: Refresh()

Properties: Read-write: Property ShowFullNames As Boolean, Property ShowLocalResults As Boolean

Collections: OLAPDimensions collection, OLAPValue Measures collection

Page 248: Hyperion Dashboard

4-132 Objects

OLAPConnection (Object)

Member of: OLAPQuery Object

Description: The OLAPConnection object represents either an OLAP Query connection file (OCE) or the connection to a database. The OLAPQuery connection file is used to capture and store connection information such as the connection software, the database software, and the address of your database server and your database user name for a multi-dimensional database.

Example1: This example shows you how to connect an OLAP database using an OCE saved locally.

//Connecting to OLAPMyConnection=ActiveDocument.Sections["OLAPQuery"].ConnectionMyConnection.Open("c:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\essbase.oce")MyConnection.Username="essbase"MyConnection.SetPassword("essbase")MyConnection.Connect()

Example 2: This example shows you how to connect to the OLAP Query.oce which was included in the sample files installed with Intelligence Clients 6.x. It also sets the user name and password to "brio."

MyConnection=ActiveDocument.Sections["OLAPQuery"].ConnectionMyConnection.Open("c:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\Brio 6.0 Sample 3 - OLAP Query.oce")MyConnection.Username="brio"MyConnection.SetPassword("brio")MyConnection.Connect()

Method: Connect(), Disconnect(), Open(Filename As String), Save(), SaveAs(Filename As String), SetPassword(Password As String)

Properties: Read-only: Property Connected As Boolean

Read-write: Property Username As String

Page 249: Hyperion Dashboard

OLAPDimensions (Collection) 4-133

OLAPDimensions (Collection)

Member of: OLAPCatalog object

Description: The OLAPDimensions is a collection of all the dimension values associated with an OLAPQuery. Dimension are categories of information.

Example: This example shows you how to count the number of dimensions in an OLAPQuery and display the results in an Alert box..

Alert(ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions.Count)

Methods: Item(Value NameOrIndex), RetrieveDimensions ()

Properties: Read-only: Property Count as Number

Page 250: Hyperion Dashboard

4-134 Objects

OLAPLabel (Object)

Member of: OLAPLabels Collection

Description: The OLAPLabel object represents an individual (either a top or side) label within an OLAP report.

Methods: AddFilterValue(MemberName As String, Operator As BqOperator), Remove()

Properties: Read-only: Property Name As String

Collections: LabelValues As OLAP Query TopLabels and SideLabel collections.

Page 251: Hyperion Dashboard

OLAPLabels (Collection) 4-135

OLAPLabels (Collection)

Member of: OLAPQuerySection Object

Description: The OLAPLabels collection consists of the OLAP Query TopLabels and SideLabels collections. These collections correspond to the labels within a OLAP Query section. These are columns added to the side and top labels groups in the outliner.

Intelligence Clientssupports different OLAP datasource, including OLEDB for DB, Essbase and MetaCube. Depending on the datasource, different filter operators are supported. If you use an operator that is not applicable for the datasource, an exception is thrown.

OLEDB for OLAP only allows users to add filter values by selecting them from the Show Values pane on the Filter dialog box. Essbase and MetaCube allow users to type in a string as the default way of adding filter values and also provides a Filter dialog. When not using Show Values, use the optional parameter value in the Add () method for filtering.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Page 252: Hyperion Dashboard

4-136 Objects

Constants: The OLAPLabels collection uses the BqOperator constant group, which consists of the following values:·

bqOperatorEqual

bqOperatorGreaterThan

bqGreaterThanOrEqual

bqOperatorLessThan

bqOperatorLessThanOrEqual

bqOperatorNotEqual

The sample scripts described below show a simple OLAPQuery with a value of "State (All)" as a side label, a value of "Year (All)" as a top label and a value "Amount" as a measure in the user interface. The Console Window is invoked in the scripts to keep track of each line that is executed.When creating a script that includes OLAP objects, methods and properties, it is important to observe the hierarchy of dimensions and levels. For example, levels from the same dimension must be grouped together in both the Side and Top labels. In addition, the hierarchy of a dimension cannot be broken. For example, Year must come before Quarter, which must come before month.

Example 1: The following script shows you how to remove all labels. If a label doesn't exist, a try-catch statement can be used.

OQPath = ActiveDocument.Sections["OLAPQuery"]/*try-catch used here in case labels don't exist*/Console.Writeln("Step1")try{OQPath.SideLabels[1].Remove()}catch(e){Console.Writeln(e.toString())}Console.Writeln("Step2")OQPath.Process()Console.Writeln("End")

Example 2: The following script shows you how to add the value "State" as the side label. Notice how "Location" (a dimension) appears before "State" (a level) in the script.

Console.Writeln("Start")OQPath = ActiveDocument.Sections["OLAPQuery"]Console.Writeln("Step1")OQPath.SideLabels.Add('Location.State')Console.Writeln("Step2")OQPath.Process()

Page 253: Hyperion Dashboard

OLAPLabels (Collection) 4-137

Console.Writeln("End")

Example 3: In the following script the Arizona state abbreviation code is added as a filter value. Note that the "State" side label must exist before you can execute this script properly.

Console.Writeln("Start")OQPath = ActiveDocument.Sections["OLAPQuery"]Console.Writeln("Step1")OQPath.SideLabels[1].AddFilterValue('AZ',bqOperatorEqual)Console.Writeln("Step2")OQPath.Process()Console.Writeln("Step3")OQPath.Activate()Console.Writeln("End")

Example 4: In this example, the state added in Example 3 is removed and a filter can be added from the drop down box.

Console.Writeln("Start")OQPath = ActiveDocument.Sections["OLAPQuery"]Console.Writeln("Step1")//try-catch used here in case labels don't exist*/try{OQPath.SideLabels[1].Remove()}catch(e){}Console.Writeln("Step2")OQPath.SideLabels.Add('Location.State')Console.Writeln("Step3")fv = DropDown1[DropDown1.SelectedIndex]Console.Writeln("Step4, fv is " + fv)OQPath.SideLabels[1].AddFilterValue(fv,bqOperatorEqual)Console.Writeln("Step5")OQPath.Process()Console.Writeln("Step6")OQPath.Activate()Console.Writeln("End")

Example 5: When you do not want to use the ShowValues property of filtering, use the Add () method as shown below.

//When NOT using Show Value method of filteringActiveDocument.Sections["OLAPQuery"].TopLabels.Add(‘Time.Year’,’1999’)

Example 6: When you want to use the ShowValues property of filtering, use the AddFilterValue method.

ActiveDocument.Sections["OLAPQuery"].TopLabels.Add('Gender.Gender')ActiveDocument.Sections["OLAPQuery"].TopLabels["Gender"].AddFilterValue('M',bqOperatorEqual)

Page 254: Hyperion Dashboard

4-138 Objects

Methods: Add(String LevelName), Function Item(Value NameOrIndex) As OLAPLabel, RemoveAll()

Properties: Read-only: Property Count As Number

TopLabels Methods and Properties:

ActiveDocument.Sections["OLAPQuery"].TopLabels.Add(‘LevelName’[,optionalMeasure])ActiveDocument.Sections["OLAPQuery"].TopLabels.Item()ActiveDocument.Sections["OLAPQuery"].TopLabels.RemoveAll()ActiveDocument.Sections["OLAPQuery"].TopLabels.CountActiveDocument.Sections["OLAPQuery"].TopLabels[‘LevelName’].Remove()ActiveDocument.Sections["OLAPQuery"].TopLabels[‘LevelName’].FilterOperator= bqOperatorActiveDocument.Sections["OLAPQuery"].TopLabels[‘LevelName’].AddFilterValue(‘LevelName’,’MeasureName’)

SideLabels Methods and Properties:

ActiveDocument.Sections["OLAPQuery"].SideLabels.Add(‘LevelName’[,optionalMeasure])ActiveDocument.Sections["OLAPQuery"].SideLabels.Item()ActiveDocument.Sections["OLAPQuery"].SideLabels.RemoveAll()ActiveDocument.Sections["OLAPQuery"].SideLabels.CountActiveDocument.Sections["OLAPQuery"].SideLabels[‘LevelName’].Remove()ActiveDocument.Sections["OLAPQuery"].SideLabels[‘LevelName’].FilterOperator= bqOperatorActiveDocument.Sections["OLAPQuery"].SideLabels[‘LevelName’].AddFilterValue(‘LevelName’,’MeasureName’)

Page 255: Hyperion Dashboard

OLAPLevelOrHierarchy (Collection) 4-139

OLAPLevelOrHierarchy (Collection)

Member of: OLAPDimension Collection

Description: The OLAPLevelorHierarchy collection represents groups of similar types of OLAP members. For example, using the members listed in a Location dimension, Japan, USA, and France belong to the Country level. San Francisco, Paris, Tokyo, and Rome belong to the City level. 35 Main Street belongs to the Address level..

Example: This example shows you how to display the parent name of an OLAP level or hierarchy in an Alert box.:

Alert(ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Customers"]["Country"].ParentName)

Methods: Item(Value NameOrIndex)

Properties: Read-only: Property Count as Number, Property Name As String, Property ParentName as String

Page 256: Hyperion Dashboard

4-140 Objects

OLAPMeasure (Object)

Member of: OLAPMeasures Collection

Description: The OLAPMeasure object represents an individual measure within an OLAP Query report.

Example: This example shows you how to add a filter value to a "Profit" measure. In this example, the operator used equals 13,438:

Console.Writeln("Start")ActiveDocument.Sections["OLAPQuery"].Measures["Profit"].AddFilterValue('1',bqOperatorEqual,'13438')Console.Writeln("End")

Methods: AddFilter(BqOperator dataOperator, String columnIndex, String value, [optional]Boolean IsVariable}. AddFilterValues (String ColumnIndex, BqOperator Operator, String MeasureValue), Remove(),

Properties: Read-only: Property Count as Number, Property Name As String, Property ParentName as String

Page 257: Hyperion Dashboard

OLAPMeasures (Collection) 4-141

OLAPMeasures (Collection)

Member of: OLAPQuerySection object, OLAPCatalog object

Description: The OLAPMeasures collection consists of the OLAP Query Measures collections. These collections correspond to the measures within an OLAP Query section. These are columns added to the side and top labels groups in the outliner.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to add a measure limit called “Units Plan.”

ActiveDocument.Sections["OLAPQuery"].Measures.Add(“Units Plan”)

Methods: Add(Measure As String), Item(NameOrIndex) As OLAPLabel, RemoveAll()

Properties: Read-only: Property Count As Number

Page 258: Hyperion Dashboard

4-142 Objects

OLAPQuerySection (Object)

Member of: Sections Collection

Description: The OLAPQuerySection object represents an OLAP Query Section.

Note With this object you can process OLAP queries, but not build them.

Example: This example shows you how to activate and process an OLAP Query.

ActiveDocument.Sections["OLAPQuery"].Activate()ActiveDocument.Sections["OLAPQuery"].Process()

Methods: Activate(), Copy(), DownloadToResults(), Duplicate(), Export([Filename As String], [FileFormat As BqExportFileFormat], [IncludeHeaders As Boolean],[Prompt As Boolean]), PrintOut([FromPage As Number], [ToPage As Number], [Copies As Number], [Filename As String], Prompt As Boolean]), Process(), Recalculate(), Remove(), ShowAsChart()

Properties: Read-only: Property Active As Boolean, Property Type As BqSectionType

Read-write: Property CSSExport as Boolean, Property Database Totals as Boolean, Property DrillDownDisplay as BqDrillDownDisplay, Property ExportWithoutQuotes As Boolean, Property HardwireMode as Boolean, Property HTMLExportBreakColCount As Number, Property HTMLExportBreakRowCount As Number, HTMLHorizontalPageBreakEnabled, as Boolean, HTMProperty HTMLPregenerateFirstLastNPages as Number, Property HTMLPregenerateMode as BqHTMLPregenerateMode, Property HTMLVerticalPageBreakUnits as BqHTMLPageBreakUnits, Property Name As String, Property ShowOutliner As Boolean, Property Visible As Boolean

Objects: Connection Object, LastSaved

Collections: UserValues as UserValues, TopLabels as OLAPLabel, SideLabels as OLAPLabel, Measures as OLAPMeasures, Slicers as OLAPSlicer, Events as Events

Page 259: Hyperion Dashboard

OLAPSlicer (Object) 4-143

OLAPSlicer (Object)

Member of: OLAPSlicer (Object)

Description: The OLAPSlicer object represents an individual slicer within an OLAP Query report.

Example: This example shows you how to remove the “Q3” slicer value from the query.

ActiveDocument.Sections["OLAPQuery"].Slicers["Q3"].Remove()

Methods: Remove()

Properties: Read-only: Property Name As String

Page 260: Hyperion Dashboard

4-144 Objects

OLAPSlicers (Collection)

Member of: OLAPQuerySection Object

Description: The OLAPSlicers collection consists of the OLAP Query Slicers collections. These collections correspond to the slicer within a OLAP Query section. This is the column added to the slicer in the outliner.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to add a slicer that limits the scope to Oakland, California.

ActiveDocument.Sections["OLAPQuery"].Slicers.Add(‘ProductLocation.{hierachy}. Store Type’,’USA.California.Oakland’)

Methods: Add(LevelName As String, MemberName As String, Variable As Boolean) As OLAPSlicer, Item(NameOrIndex) As OLAPSlicer, RemoveAll()

Properties: Read-only: Property Count As Number, VariableSlicerMode as BqSlicerDisplayOptions

Methods and Properties Syntax:

ActiveDocument.Sections["OLAPQuery"].Slicers.Add(‘LevelName’,’UniqueName’)ActiveDocument.Sections["OLAPQuery"].Slicers.Item()ActiveDocument.Sections["OLAPQuery"].Slicers.RemoveAll()ActiveDocument.Sections["OLAPQuery"].Slicers.CountActiveDocument.Sections["OLAPQuery"].Slicers[‘SlicerName’].Remove()

Page 261: Hyperion Dashboard

OLAPValues (Collection) 4-145

OLAPValues (Collection)

Member of: OLAPLevelOrHierarchy object

Description: The OLAPValue object represents the content values in a dimension.

Example: This example shows you how to count the number of values in a dimension.

Alert(ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Location"]["Values"].Count)

Methods: Add(LevelName As String, MemberName As String, Variable As Boolean) As OLAPSlicer, Item(NameOrIndex) As OLAPSlicer, RemoveAll()

Properties: Read-only: Property Count As Number, VariableSlicerMode as BqSlicerDisplayOptions

Page 262: Hyperion Dashboard

4-146 Objects

OLAPValues (Collection)

Member of: OLAPLevelOrHierarchy object

Description: The OLAPValue object represents the content values in a dimension.

Example: TipAll collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to count the number of values in a dimension.

Alert(ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Location"]["Values"].Count)

Methods: Item(Value NameOrIndex)

Properties: Read-only: Property Count As Number,

Page 263: Hyperion Dashboard

PageCount Field (Object) 4-147

PageCount Field (Object)

Member of: Fields collection

Description: Sets the current page of the total number of pages.

Example: This example shows you how to change the font color of the PageCount field to red.

ActiveDocument.Sections["Report"].ReportHeader.Fields["PageCount Field"].Font.Color = bqRed

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 264: Hyperion Dashboard

4-148 Objects

PageFooter (Object)

Member of: ReportSection object

Description: The PageFooter object represents the attributes of the page footer group.

Example: This example shows you how to suppress the display of the page footer.

ActiveDocument.Sections["Report"].PageFooter.Visible = false

Methods: None

Properties: Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean

Objects: LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Page 265: Hyperion Dashboard

PageHeader (Object) 4-149

PageHeader (Object)

Member of: ReportSection object

Description: The PageHeader object represents the attributes of the page header group.

Example: This example shows you how to set the line color of the page header to red.

Documents["Salesreport.bqy"].Sections["Report"].PageHeader.Line.Color = bqRed

Methods: None

Properties: Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean

Objects: LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Page 266: Hyperion Dashboard

4-150 Objects

PageNm (Object)

Member of: Fields collection

Description: Sets the current page number.

Example: This example shows you how to align vertically the text in PageNum field at the top of the field.

ActiveDocument.Sections["Report"].PageHeader.Fields["PageNm Field"].VerticalAlignment = bqAlignTop

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 267: Hyperion Dashboard

PageXofY Field (Object) 4-151

PageXofY Field (Object)

Member of: Fields collection

Description: Sets the current page of the total number of pages.

Example: This example shows you how to add a green, 2 point, dash style to the PageXofY field object.

ActiveDocument.Sections["Sales Report"].PageFooter.Fields["PageXofY Field"].Line.DashStyle = 4ActiveDocument.Sections["Sales Report"].PageFooter.Fields["PageXofY Field"].Line.Color = bqGreenActiveDocument.Sections["Sales Report"].PageFooter.Fields["PageXofY Field"].Line.Width = 2

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 268: Hyperion Dashboard

4-152 Objects

Paging (Object)

Member of: Toolbars Collection

Description: The Paging object represents the an abbreviated version of the Intelligence iServer Standard toolbar and consists of the section paging controls (First Page, Previous Page, Next Page, Last Page) and the current page indicator text (Page X of Y). If you try to display the Paging Toolbar in Designer or web client, the script command is ignored, no exception is thrown, and the script continues.

Constants: The Type property of the Toolbar object uses the BqToolbars constant, which consists of the following values:

bqToolbarStandard = 1

bqToolbarFormat = 2

bqToolbarSections = 3

bqToolbarNavigation = 4

bqToolbarPaging = 5

Example: This example shows you enable the Paging toolbar in the application.

//Syntax for turning on the Formatting toolbarToolbars["Formatting"].Visible=true;

Methods: None

Properties: Read-only: Property Name As String, Property Type As BqToolbars

Read-write: Property Visible As Boolean

Page 269: Hyperion Dashboard

Parentheses (Collections) 4-153

Parentheses (Collections)

Member of: Limits collection

Description: The Parentheses collection allows you to programmatically set and get parentheses attributes of a limit value.

If you intend to nest parentheses between limit items, you must first add parentheses around the largest range of limit objects before nesting additional parentheses.

For example, suppose there are three items on the limit line: "State", "Amount Sales" and "City".

Type:

ActiveDocument.Sections["Query"].Limits.Parentheses.Add("State",

"City")

before typing:

ActiveDocument.Sections["Query"].Limits.Parentheses.Add("State",

"Amount Sales")

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Page 270: Hyperion Dashboard

4-154 Objects

Example 1: This example shows you how to remove all parentheses attributes set on the values of the limit line.

ActiveDocument.Sections["Query"].Limits.Parentheses.RemoveAll()

Example 2: This example shows you how to add parentheses

ActiveDocument.Sections["Query"].Limits.Parentheses.Add("State"), "City")

Methods: Add(), Item(NameOrIndex as Value), RemoveAll()

Properties: Read-only: Count as Number

Page 271: Hyperion Dashboard

Parentheses (Object) 4-155

Parentheses (Object)

Member of: Limits collection

Description: Returns or sets parentheses around values on the limit line. In Intelligence Clients, enclosed sub-operations are represented by parentheses. Sub-operations allow you to override the default evaluation order, and may be required for certain operations involving both AND and OR operators.

Example 1: This example shows you how to remove all parentheses on the Limit line.

ActiveDocument.Sections["Query"].Limits.Parentheses.RemoveAll()

Example 2: This example shows you how to remove the first parenthetical expression.

ActiveDocument.Sections["Query"].Limits.Parentheses[1].Remove();

Example 3: This example shows you how to count the number of parenthetical expressions on the Limit line

(ActiveDocument.Sections["Query"].Limits.Parentheses.Count);

Methods: Remove()

Properties: Read-only: BeginLimitName as String, EndLimitName as String, Name as String

Page 272: Hyperion Dashboard

4-156 Objects

Path Field (Object)

Member of: Fields collection

Description: Returns the full path name of the document.

Example: This example shows you how to wrap the entire file path name within the path field.

ActiveDocument.Sections["Sales Report"].Body.Fields["Path Field"].TextWrap = true

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Page 273: Hyperion Dashboard

PieChart (Object) 4-157

PieChart (Object)

Member of: ChartSection Object

Description: The PieChart object represents pie chart settings.

Example: This example shows you how to set the formatting for a specific pie chart.

with(ActiveDocument.Sections["Chart"]){ PieChart.ShowLabels = true PieChart.ShowValues = true PieChart.ShowPercentages = false PieChart.ShowAllPositive = False}

Methods: None

Properties: Read-write: Property Height As Number, Property Rotation As Number, Property ShowAllPositive As Boolean, Property ShowLabels As Boolean, Property ShowPercentages As Boolean, Property ShowValues As Boolean

Page 274: Hyperion Dashboard

4-158 Objects

PivotFact (Object)

Member of: PivotFacts Collection

Description: The PivotFact object represents an individual fact within a pivot.

Methods: AutoSizeHeight(), AutoSizeWidth(), Hide(), Remove()

Properties: Read-write: Property DataFunction As BqDataFunction, Property Index As Long, Property NumberFormat As String

Read-only: Property Name as String

Page 275: Hyperion Dashboard

PivotFacts (Collection) 4-159

PivotFacts (Collection)

Member of: PivotSection Object

Description: The PivotFacts collection is a set of facts within a pivot section. These columns are added to the facts groups in the outliner.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to add a number of request items to the facts collections.

ActiveDocument.Sections["Pivot"].Facts.RemoveAll()ActiveDocument.Sections["Pivot"].Facts.Add("Year")ActiveDocument.Sections["Pivot"].Facts.Add("Region")

Methods: Add(RequestItemName As String, [Index as Number]) As PivotFact, AddComputedItem(Name As String, [Index As Number]) As PivotFact, Item(NameOrIndex) As PivotFact, RemoveAll()

Properties: Read-only: Property Count As Number

Page 276: Hyperion Dashboard

4-160 Objects

PivotLabel (Object)

Member of: Pivot Labels Collection

Description: The PivotLabel object represents an individual (either a top or side) label within a Pivot report.

Methods: AddTotals(), AutoSizeHeight(), AutoSizeWeight(), PivotTo([Index As Number]), Remove(), SortByFact(FactName As String, SortFunction As BqSortFunction, [SortOrder As BqSortOrder]), SortByLabel([SortOrder As BqSortOrder])

Properties: Read-only: Property SortFactName As String, Property SortFunction As BqSortFunction, Property SortOrder As BqSortOrder

Read-write: Property Index as Number, Property Name as String

Collections: LabelValues As Pivot, TopLabels and SideLabel collections

Page 277: Hyperion Dashboard

PivotLabels (Collection) 4-161

PivotLabels (Collection)

Member of: PivotSection Object

Description: The PivotLabels collection consists of the pivot TopLabels and SideLabels collections. These collections correspond to the labels within a pivot section. These are columns added to the side and top labels groups in the outliner.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to add a number of request items to the side and top labels collections.

With(ActiveDocument.Sections["Pivot"]){ TopLabels.RemoveAll() SideLabels.RemoveAll() TopLabels.Add("Year") SideLabels.Add("Grape") SideLabels.Add("Winery")}

Methods: Add(RequestItemName As String, [Index as Number] As PivotLabel), Item(NameOrIndex) As PivotLabel, RemoveAll()

Properties: Read-only: Property Count As Number

Page 278: Hyperion Dashboard

4-162 Objects

PivotLabelTotal (Object)

Member of: SideLabel Object, TopLabel Object

Description: The PivotLabelTotals object returns an additional row or column containing the total for a top label or side label object. This feature corresponds to selecting a pivot side label column or top label row and invoking the Add Totals option from the Pivot menu.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to add a Totals column (using the default data function of “sum”) for the “Product Line” from the Totals collection or from the Toplabels collection.

ActiveDocument.Sections["SalesPivot"].TopLabels["Product Line"].Totals.Add()orActiveDocument.Sections["SalesPivot"].TopLabels["Product Line"].AddTotals()

Example 2: This example shows you how to determine the average using the data function property and the totals collection.

ActiveDocument.Sections["SalesPivot"].TopLabels["Product Line"].Totals[1]. DataFunction=bqDataFunctionAverageActiveDocument.Sections["SalesPivot"].TopLabels["Product Line"].Totals.Add()

Methods: Add(), Item(NameOrIndex) As PivotLabelTotals, RemoveAll()

Properties: Read-only: Property Count As Number

Page 279: Hyperion Dashboard

PivotLabelTotals (Collection) 4-163

PivotLabelTotals (Collection)

Member of: PivotLabelTotal (Object)

Description: The PivotLabels collection consists of pivot label total objects.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to create a Totals collection under each SideLabel and TopLabel instance.

ActiveDocument.Sections["Pivot"].TopLabels["Product Name"].TotalsActiveDocument.Sections["Pivot"].SideLabels["Region"].Totals

Example 2: This example shows you how to create an Add() method under each Totals collection. The Add() method always creates the SideLabel Totals row or TopLabel Totals column using the default totals data function. The default totals data function is dependent on the Pivot data function setting. To change the totals data function, add a SideLabel Totals row or a TopLabel Totals column and apply the DataFunction property as described in the DataFunction (Property).

ActiveDocument.Sections["Pivot"].SideLabels["Quarter"].Totals.Add()ActiveDocument.Sections["Pivot"].TopLabels["Region"].Totals.Add()

Example 3: This example shows you how to create an Item() method under each Totals collection:

ActiveDocument.Sections["Pivot"].SideLabels["Quarter"].Totals.Item()ActiveDocument.Sections["Pivot"].TopLabels["Region"].Totals.Item()

Page 280: Hyperion Dashboard

4-164 Objects

Example 4: This example shows you to remove all totals under each Totals collection using the RemoveAll() method.

ActiveDocument.Sections["Pivot"].SideLabels["Quarter"].Totals.RemoveAll()ActiveDocument.Sections["Pivot"].TopLabels["Region"].Totals.RemoveAll()

Example 5: This example shows you how to create a Count property under each Totals collection.

ActiveDocument.Sections["Pivot"].SideLabels["Quarter"].Totals.CountActiveDocument.Sections["Pivot"].TopLabels["Region"].Totals.Count

Example 6: This example shows you how to create a DataFunction property under each instance of the Totals collection that can be assigned the value from the constant group BqDataFunction.The DataFunctions property has the same effect as pressing the ALT key, clicking the total side or top label cell, and selecting a data function from the right mouse or Pivot menu. The pivot data functions are: sum, average, count, maximum, minimum, %column, %row, %grand, increase, %increase, non-null average, null count, and non-null count.

ActiveDocument.Sections["Pivot"].SideLabels["Quarter"].Totals[1].DataFunction = BqDataFunctionActiveDocument.Sections["Pivot"].TopLabels["Region"].Totals[1].DataFunction = BqDataFunction

Methods: Add(), Item(Value NameOrdIndex) RemoveAll()

Properties: Read-only: Property Count As Number

Constants: The PivotLabelTotals collection uses the BqDataFunction constant group:·bqDataFunctionAverage·bqDataFunctionCount·bqDataFunctionCountDistinct·bqDataFunctionIncrease·bqDataFunctionMaximu·BqDataFunctionMinimum·bqDataFunctionNone·bqDataFunctionNonNullAverage·bqDataFunctionNonNullCount·bqDataFunctionNullCount·bqDataFunctionPercentOfColumn·bqDataFunctionPercentOfIncrease·bqDataFunctionPercentOfRow·bqDataFunctionSum

Page 281: Hyperion Dashboard

PivotSection (Object) 4-165

PivotSection (Object)

Member of: Sections Collection

Description: The PivotSection object represents a pivot section.

Example: This example shows you how to modify the top and side labels on a pivot, and create a chart based on the new pivot.

with(ActiveDocument.Sections["Pivot"]){ TopLabels.Add("Year") SideLabels.Add("Winery") ChartThisPivot()}

Methods: Activate(), ChartThisPivot() As ChartSection, Copy(), Duplicate(), Export([Filename As String], [FileFormat As BqExportFileFormat], [IncludeHeaders As Boolean], [Prompt As Boolean]), PrintOut([FromPage As Number], [ToPage As Number], [Copies As Number], [Filename As String], [Prompt As Boolean]), Recalculate(), RefreshDataNow(), Remove()

Properties: Read-only: Property Active As Boolean, Property Type As BqSectionType

Read-write: CSSExport as Boolean, DHTMLExportBreakRowCount as Number, DHTMLVerticalPageBreakUnitas as BqHTMLPageBreakUnits, ExportWithoutQuotes as Boolean, Property HTMLExportBreakRowCount as Number, Property HTMLPregenerateFirstLastNPages as Number, HTMLPregenerateMode, HTMLverticalPageBreakUnits as BqHTMLPageBreakUnits, Property Name As String, Property RefreshData as BqRefreshData, Property ShowOutliner As Boolean, Property SurfaceValues As Boolean, Property Visible As Boolean

Collections: Events as Events, Facts As PivotFacts, SideLabels As PivotLabels, TopLabels As PivotLabels, UserValues as UserValues

Objects: DataLabels As DataLabels, CornerLabels As CornerLabels,

Page 282: Hyperion Dashboard

4-166 Objects

PlugInClient (Object)

Member of: Events Collections

Description: Enables or disables execution of an web client document event in the 8.0 client environment. This object’s properties take a boolean value, which by default is set to “true.”

Example: This example shows you how to disable all document events when running in the web client environment.

Documents["Sample1.bqy"].Events["PlugInClient"].ExecuteOnPostProcess=falseDocuments["Sample1.bqy"].Events["PlugInClient"].ExecuteOnPreProcess=falseDocuments["Sample1.bqy"].Events["PlugInClient"].ExecuteOnShutDown=falseDocuments["Sample1.bqy"].Events["PlugInClient"].ExecuteOnStartUp=false

Properties: Read-write: ExecuteOnPostProcess as Boolean, ExecuteOnPreProcess as Boolean, ExecuteOnShutDown as Boolean, ExecuteOnStartUp as Boolean.

Read-only: Name as String

Page 283: Hyperion Dashboard

QuerySection (Object) 4-167

QuerySection (Object)

Member of: Sections Collection

Description: The QuerySection object represents a query section.

Example 1: This example shows you how to build a Data Model using the Table Catalog object. This example assumes that you are already connected to a database.

with (ActiveDocument.Sections["Query"].DataModel){ Topics.RemoveAll() AutoJoin = false//Create two new topics from tables in table catalog Catalog.Refresh() Table1 =Catalog.CatalogItems["WINE"] Table2 =Catalog.CatalogItems["WINE_SALES"] Topics.Add(Table1) Topics.Add(Table2) Field1 = Topics[1].TopicItems["Wine Id"] Field2 = Topics[2].TopicItems["Wine Id"]//Create a new join by joining two TopicItems together Joins.Add(Field1,Field2,bqJoinSimpleEqual)// Now add topic items to the request line for (I = 1; I <= Topics[1].TopicItems.Count; I++) ActiveDocument.Sections["Query"].Requests.Add( Topics[1].Name, Topics[1].TopicItems[I].DisplayName)}

Example 2: This example shows you how to connect to an existing connection, remove all the limits and process a query.

MyQuery = ActiveDocument.Sections["Query"]MyQuery.DataModel.Connection.Username = "brio"MyQuery.DataModel.Connection.SetPassword("brio")MyQuery.DataModel.Connection.Connect()MyQuery.Limits.RemoveAll()MyQuery.Process()RowReturned = ActiveDocument.Sections["Results"].RowReturnedConsole.Writeln("Returned "+ RowReturned+" Rows!")

Page 284: Hyperion Dashboard

4-168 Objects

Methods: Activate(), Copy(), CustomSQLFrom(String CustomSQLStr), CustomSQLWhere(String CustomSQL Str), Duplicate, Export([optional] String Filename, [optional] BqExportFileFormat, [optional] Boolean IncludeHeaders, [optional] Boolean Prompt}, ImportSQLFile(String Filename, Number numColumns), PrintOut([optional] Number From Page, [optional] Number ToPage, [optional] Number Copies, [optional] String Filename, [optional] Boolean Prompt), Process(), ProcessStoredProc(), ProcessToTable(String Tablename, BqProcessType ProcessType, [optional] String Grantee), Recalulate, Remove(), ResetCustomSQL(), SetStoredProcParam(Value paramter, [optional] Number ParamIndex), UnionController as BqController

Properties: Read-only: Property Active As Boolean, Property LastPrinted As Date, Property LastSQLStatement as String, Property QuerySize as Number, Property Sorts As Sorts, Property Type As BqSectionType

Read-write: Property AutoProcess As Boolean, Property Index As Long, Property Name As String, Property RowLimit as Number, Property RowLimitActive as Number Property SaveResults As Boolean, Preoprty ShowOutliner as Booleans Property TimeLimit As Long, Property TimeLimitActive as Boolean Property UniqueRows As Boolean, Property Visible As Boolean

Objects: DataModel As DataModel

Collections: UserValueas as UserValues, Limits As Limits, AggregateLimits As AggregateLimits, rtItems, Requests As Requests, SortItems as SortItems, AppendQueries As AppendQueries

Page 285: Hyperion Dashboard

Query SQL (Object) 4-169

Query SQL (Object)

Member of: Fields collection

Description: Sets the last SQL (Structured Query Language) sent to the database when the Process button (in Query) was used.

Example: This example shows you how to identify the Query SQL field in an Alert box.

Alert(ActiveDocument.Sections["Report"].Body.Fields["Query SQL"].Name)

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 286: Hyperion Dashboard

4-170 Objects

RecentFiles (Collection)

Member of: Application object

Description: The RecentFiles collection is a collection of strings, which represent the list of currently, open Intelligence Client documents.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example prints the list of recent files to the console window.

for (j = 1; j <= RecentFiles.Count ; j++) Console.Writeln( "File #"+j+" ="+ RecentFiles[j])

Methods: Function Item(NameorIndex) As String

Properties: Read-only: Property Count As Long

Page 287: Hyperion Dashboard

ReportCharts (Collection) 4-171

ReportCharts (Collection)

Member of: ReportHeader object, ReportFooter object, PageHeader object, PageFooter object, Body object

Description: The Report Chart collection represents all "smart" chart objects in the report section.

When you insert a chart object in the report section, a proportional copy is placed in every band instance. Any chart dropped into a header/footer that is "owned" by data will be focused by that piece of data. Smart Charts are smart because only the corresponding section of the embedded report appears in each band instance.

Example: This example shows you how to count and display in an Alert box the number of smart Chart reports.

Alert(ActiveDocument.Sections["Report"].Body.Charts.Count)

Methods: Item(NameOrIndex as Name)

Properties: Read-only: Count as Number

Objects: ReportChart object

Page 288: Hyperion Dashboard

4-172 Objects

ReportChart (Object)

Member of: ReportChart collection

Description: The ReportChart object represents a chart object in the Charts collection of the Report section.

This object corresponds to inserting a Smart Chart in the Report section. When you insert a chart object in the report section, a proportional copy is placed in every band instance. Any chart dropped into a header/footer that is "owned" by data will be focused by that piece of data. Smart Charts are smart because only the corresponding section of the embedded report appears in each band instance.

Example: This example shows you how to spring a Chart report and a Pivot report in the Body band of the report.

ActiveDocument.Sections["Report"].Body.Charts["Chart"].Spring("Pivot")

Methods: Layer(Value as BqLayer), String(Name as String), UnSpring()

Properties: Read-only: Name as String

Page 289: Hyperion Dashboard

ReportFooter (Object) 4-173

ReportFooter (Object)

Member of: ReportSection object

Description: The ReportFooter object represents the attributes of the report footer group. Typically, the report footer is a summarizing band of information and prints only on the very last page of the report.

Example: This example shows you how to add a rose fill color to the report footer.

ActiveDocument.Sections["Report"].ReportFooter.Fill.Color = 16751052

Methods: None

Properties: Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean

Objects and Collection:LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Page 290: Hyperion Dashboard

4-174 Objects

ReportGroup (Object)

Member of: ReportSection object

Description: The ReportGroup object represents the attributes of the topmost level from which to structure data in a report. When you drag an item from the Catalog pane into the Report Group Outliner, Intelligence Clients automatically supplies a group header band and adds a label inside the band, which identifies the group. A group header categorizes data into repeating collections of records in a header band. A ReportGroup object can also be added to a group footer band in addition to or instead of the group header band.

Example: This example shows you how to remove the objects in the ReportGroup.

ActiveDocument.Sections["Report"].Groups["Report Group1"].Remove()

Methods: Move(LabelNameBefore as String), Remove()

Properties: Read-only: Name as String

Objects and Collections: ReportGroup Header, ReportGroup Footer, LineFormat object, FillFormat

object, Tables collection, Fields collection, Shapes collection, Pivots collection, Pivot collection, Chart collection

Page 291: Hyperion Dashboard

ReportHeader (Object) 4-175

ReportHeader (Object)

Member of: ReportSection object

Description: The ReportHeader object represents the attributes of the report header group. Typically, the report headers is a summarizing band of information. The report header prints on the very first page of the report only.

Example: This example shows you how to instruct Intelligence Clients not to split the report header band when a break is encountered. If Intelligence Clients does encounter a break, the entire report header will be moved to the next page.

Documents["Salesreport.bqy"].Sections["Report"].ReportHeader.KeepTogether

Methods: None

Properties: Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean

Objects: LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Pivots collection, Chart collection

Page 292: Hyperion Dashboard

4-176 Objects

ReportName Field (Object)

Member of: Fields collection

Description: Returns or sets the report name field.

Note Be sure to include the Recalculate() method when using this object.

Example: This example shows you how to concatenate the name of the report and the current date:

ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["ReportName Field"].Formula = "ReportName() + ' ' + new Date()"ActiveDocument.Sections["Sales Report"].Recalculate()

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, Vertical Alignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Page 293: Hyperion Dashboard

ReportPivot (Object) 4-177

ReportPivot (Object)

Member of: ReportPivot collection

Description: The ReportPivot object represents a pivot object in the Pivot collection of the Report section.This object corresponds to inserting a Smart Pivot report in the Report section, When you insert a pivot object in the report section, a proportional copy is placed in every band instance. Any pivot dropped into a header/footer that is "owned" by data will be focused by that piece of data. Smart pivots are smart because only the corresponding section of the embedded report appears in each band instance.

Example: This example shows you how to layer a Smart Pivot report to the front of a stack.

ActiveDocument.Sections["Report"].Body.Pivots["Pivot"].Layer(bqLayerFront)

Methods: Layer(Value as BqLayer), Spring(Name as String), UnSpring()

Properties: Read-only: Name as String

Page 294: Hyperion Dashboard

4-178 Objects

ReportPivots (Collection)

Member of: ReportHeader object, ReportFooter object, PageHeader object, PageFooter object, Body object

Description: The Report Pivot collection represents all "smart" pivot objects in the report section.

When you insert a pivot object in the report section, a proportional copy is placed in every band instance. Any pivot dropped into a header/footer that is "owned" by data will be focused by that piece of data. Smart Pivot reports are smart because only the corresponding section of the embedded report appears in each band instance.

Example: This example shows you how to count the number of pivot reports that have been inserted in the Body band of the report:

Alert(ActiveDocument.Sections["Report"].Body.Pivots.Count)

Methods: Item(NameOrIndex as Name)

Properties: Read-only: Count as Number

Objects: ReportPivot object

Page 295: Hyperion Dashboard

ReportSection (Object) 4-179

ReportSection (Object)

Member of: Sections Collection

Description: The ReportSection object represents a report section.

Example 1: This example shows you how to activate the report section in the document.

ActiveDocument.Sections["Report"].Activate()

Example 2: This example shows you how to turn off the page headers for the first page in a report:

if ( PageNm==1){' '}else{"Query Processed: "+ Format(new Date(), "d-mmm-yyyy")}

Example 3: This example shows you how to set the print orientation of the report.

ActiveDocument.Sections["Report"].Orientation = bqOrientationPortraitActiveDocument.Sections["Report"].Recalculate()

Methods: Activate(), Copy(), Duplicate(), Export([optional] Filename As String, FileFormat As BqExportFileFormat [optional], [IncludeHeaders As Boolean]), PrintOut([optional] [FromPage As Number], ToPage As Number, Copies [optional], Filename. [optiona] Boolean Prompt], Recalculate(), Remove()

Properties: Read-only: Property Active As Boolean, Property Type As BqSectionType

Read-write: Property BottomMargin , CSSExport as Boolean, Property HTMLPregenerateFirstLastNPages as Number, Property HTMLPregenerateMode as BqHTMLPregenerateMode, Property LeftMargin, Property Name As String, Property Orientation as BqOrientation, Property RightMargin, Property ShowOutliner As Boolean, Property SuspendCalculation as Boolean, Property TopMargin, Property Visible As Boolean

Objects and Coll: UserValues collection, Groups collection, Events collection, UserValues collection

Page 296: Hyperion Dashboard

4-180 Objects

ReportTable (Object)

Member of: ReportTable collection

Description: The ReportTable object represents a specific table object contained within a specific report section object

In the user interface, tables are created with dimension columns and fact columns, where the distinction is typically text versus numeric content. These tables are quite flexible structures in that several tables may be introduced into each band; each originating from the same or different result sets in the document.

Example: This example shows you how to simulate the look of a green bar report by alternating the color scheme of every other row between green and white.

ActiveDocument.Sections["Report"].Body.Tables["Table"].BackgroundColor = bqLightGreenActiveDocument.Sections["Report"].Body.Tables["Table"].BackgroundAlternateColor = bqWhiteActiveDocument.Sections["Report"].Body.Tables["Table"].BackgroundAlternateFrequency = 1

Methods: Item(NameOrIndex as Value)

Properties: Read-only: Property Count as Number

Objects: Dimension collection, Facts collection, SortItems collection

Page 297: Hyperion Dashboard

ReportTables (Collection) 4-181

ReportTables (Collection)

Member of: Body object, PageHeader object, PageFooter object, ReportHeader object, ReportFooter object,

Description: The ReportTable collection represents all the table objects contained in a specific report section object.

Example: This example uses the Count property to determine the number of tables in the Body band of the report and write it to the Console window.

Console.Write(ActiveDocument.Sections["Report"].Body.Tables.Count)

Methods: Spring as Sting Name, UnSpring

Properties: Read-write: Property BackgroundAlternateColor as BqColorType, BackgroundAlternateFrequency as Number, BackgroundColor as BqColor Type, BackgroundShowAlternate Color as Boolean, BorderColor as BqColorType, BorderWidth as Number,

Read-only: Property Name as String

Page 298: Hyperion Dashboard

4-182 Objects

Request (Object)

Member of: Requests Collection

Description: The Request object represents an individual, request line item.

Example: This example prints out the display name and data type of each item on the request line.

var count = ActiveDocument.Sections["Query"].Requests.Countfor(i=1;i<=count;i++){ myRequest = ActiveDocument.Sections["Query"].Requests[i] switch(myRequest.DataType){ case 1: myType = "String" break; case 2: myType = "Integer" break; case 3: myType = "Number" break; case 4: myType = "Date" break; default: myType = "Unknown"}Console.Write(myRequest.DisplayName +" DataType ="+myType+"\r\n")}

Methods: Remove()

Properties: Read-only: Property SQLName As String

Read-write: Property DataType As BqDataType, Property DisplayName As String, Property SQLName as String, Property Visible As Boolean

Page 299: Hyperion Dashboard

Requests (Collection) 4-183

Requests (Collection)

Member of: QuerySection Object

Description: The Requests collection is a collection of items on the request line.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to remove all the request line items and add new items based on the topics in the query.

with(ActiveDocument.Sections["Query"]) { Requests.RemoveAll() for (I = 1; I <= DataModel.Topics[1].TopicItems.Count; I++) { TopicName = Topics[1].Name TopicItemName = Topics[1].TopicItems[I].DisplayName Requests.Add(TopicName,TopicItemName) } }

Methods: Add(TopicName As String, TopicItemName As String) As Request, AddComputedItem(Name As String, Expression As String, Type As BqDataType) As Request, Item(NameOrIndex) As Request, RemoveAll()

Properties: Read-only: Property Count As Number

Page 300: Hyperion Dashboard

4-184 Objects

Result Limit (Object)

Member of: Fields collection

Description: Sets a Results limit field definition.

Example: This example shows you how to add a second Results section limit field to an existing Results section limit field programtically.

ActiveDocument.Sections["Report"].Body.Fields["Result Limit"].Formula=" \"State\" + LocalLimitValues(\"Results\", \"State Province\",\"\",\",\") + \" \"+ \"City \" + LocalLimitValues(\"Results\", \"City\",\"\",\",\")"

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 301: Hyperion Dashboard

Results (Object) 4-185

Results (Object)

Member of: Results Collection

Description: The Result object represents an individual results set in a table catalog.

Example: The following example shows how to add a local results set to a Data Model.

//Results ObjectResultSetName=ActiveDocument.Sections["Query2"].DataModel.Catalog.Results["Results2"].Name

Methods: Activate(), Copy(), Duplicate, Export([optional] String Filename, [optional] BqExportFileFormat FileFormat, [optional] Boolean IncludeHeaders, [optional] Bollean Prompt, GetCell(Number nRow, Number nCol), PrintOut([optional] Number FromPage, [optional] Number ToPage, [optional] Number Copies, [optional] String Filename, [optional] Boolean Prompt}. Recalculate{}, Remove{}

Properties: Read-only: Property Active as Boolean, Property ExportWithoutQuotes as Boolean, HTMLExportBreakRowCount as Number, Property Name as String, Property RowCount as Number, Property Type as BqSectionType

Read-write: Property BackgroundAlternateColor as BQColorType, Property BackgroundAlternateFrequency as Number,BackgroundColor BackgroundShowAlternateColor as Boolean, Property BorderColor as BqColorType, Property BorderWidth as Number, BackgroundColor, Property CSSExport as Boolean, DHTMLExportBreakRowCount as Number, Property DHTMLVerticalPageBreakUnits as BqHTMLPageBreakUnits, Property ExportWithoutQuotes as Boolean, HTMLExportBreakRowCount as Number, Property HTMLPregenerateFirstLastNPages as Number, Property HTMLPregenerateMode as BqHTMLPregenerateMode, Property HTMLVerticalPageBreakUnits as BqHTMLPageBreakUnits, Property Name as String, Property ShowOutliner as Boolean, Property ShowRowNumbers as Boolean, Property Visible as Boolean

Collections: UserValues as UserValuesColumns As Columns, Limits as Limits, SortItems as SortItems

Page 302: Hyperion Dashboard

4-186 Objects

Results (Collection)

Member of: DMCatalog Object

Description: The Results collection is a collection of local results sets in a table catalog.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to get a count of the LocalResults in the Table Catalog.

ResultSetCount=ActiveDocument.Sections["Query2"].DataModel.Catalog.Results.Count

Methods: Item(NameOrIndex) As DMResult

Properties: Read-only: Property Count As Number

Page 303: Hyperion Dashboard

RightAxis (Object) 4-187

RightAxis (Object)

Member of: ValuesAxis Object

Example: This example shows you how to set basic properties for the right axis.

with(ActiveDocument.Sections["Chart"].ValuesAxis){RightAxis.AutoScale = trueRightAxis.ShowLabel = falseRightAxis.LabelText = "Right Axis"}

Methods: None

Properties: Read-write: Property AutoScale As Boolean, Property LabelText As String, Property ScaleMax As Number, Property ScaleMin As Number, Property ShowLabel As Boolean

Page 304: Hyperion Dashboard

4-188 Objects

Scheduler (Object)

Member of: Events Collections

Description: Enables or disables execution of a Sceduler document event in the 8.0 client environment.

Note The ExecuteOnStartUp, ExecuteOnShuteDown, ExecuteOnPreProcess and ExecuteOnPostProcess properties under the Scheduler object must have a default setting setting of “False” if the document was created prior to version 8.0.

Example: This example shows you how to disable all document events when running in the Scheduler environment:

Documents["Sample1.bqy"].Events["Scheduler"].ExecuteOnPostProcess=falseDocuments["Sample1.bqy"].Events["Scheduler"].ExecuteOnPreProcess=falseDocuments["Sample1.bqy"].Events["Screduler"].ExecuteOnShutDown=falseDocuments["Sample1.bqy"].Events["scheduler"].ExecuteOnStartUp=false

Properties: Read-write: ExecuteOnPostProcess as Boolean, ExecuteOnPreProcess as Boolean, ExecuteOnShutDown as Boolean, ExecuteOnStartUp as Boolean.

Read-only: Name as String

Page 305: Hyperion Dashboard

Section (Object) 4-189

Section (Object)

Member of: Sections Collection

Description: The Section object represents the base object from which all section objects are derived. It is used to access object in a section other than the one containing the script.

Example: The following example shows you how to activate the "Sales Chart" section, turn on the legend, change the title to "International Sales Report", change the chart type to a horizontal bar chart, and then export the chart to an HTML file named "intlchrt.htm."

myChart = ActiveDocument.Sections["Sales Chart"]myChart.Activate()myChart.ShowLegend = truemyChart.Title = "International Sales Report"myChart.ChartType = bqChartTypeHorizontalBar

Methods: Activate(), Copy(), Duplicate(), Export(Filename As String, FileFormat As BqExportFileFormat, [IncludeHeaders As Boolean]), Paste(), PrintOut([FromPage As Long], [ToPage As Long], [Copies As Long], [Filename As String]), Recalculate(), Remove()

Properties: Read-only: Property Active As Boolean, Property LastPrinted As Date, Property Type As BqSectionType

Read-write: Property Index As Long, Property Name As String, Property Visible As Boolean

Constants: The FileFormat method of the Section object uses the BqExportFileFormat constant group. The BqExportFileFormat constant group consists of the following values:·

bqExportFormatCSV·

bqExportFormatExcel2·

bqExportFormatExcel5

Page 306: Hyperion Dashboard

4-190 Objects

bqExportFormatHTML

bqExportFormatJPEG

bqExportFormatLotus123

bqExportFormatText

Page 307: Hyperion Dashboard

Sections (Object) 4-191

Sections (Object)

Member of: Toolbars Collection

Description: The Sections object represents the Sections toolbar contained in the application. The Sections toolbar is used to provide commands which are specific to each Intelligence Clients document section.

If the Sections object has any of its associated properties accessed from the Intelligence iServer, the script commands are ignored, no exceptions thrown, and any scripts continue.

Constants: The Type property of the Toolbar object uses the BqToolbars constant, which consists of the following values:

bqToolbarStandard = 1

bqToolbarFormat = 2

bqToolbarSections = 3

bqToolbarNavigation = 4

bqToolbarPaging = 5

Example: This example shows you enable the Sections toolbar in the application.

//Syntax for turning on the Sections toolbarToolbars["Sections"].Visible=true;

Methods: None

Properties: Read-only: Property Name As String, Property Type As BqToolbars

Read-write: Property Visible As Boolean

Page 308: Hyperion Dashboard

4-192 Objects

Sections (Collection)

Member of: Document Object

Description: The Sections collection represents all the sections, contained within a single document.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows how to create new report and query sections.

In the case of report sections (Chart and Pivot) the “SectionDependency” parameter must be set or this method will fail. This is because all Charts and Pivots must be associated with a query or results set.

MySection = ActiveDocument.Sections.Add(bqChart,"Query")or MySection = ActiveDocument.Sections.Add(bqPivot,"Results")MySection.Name = "New Chart"//Adding Queries does not require a section dependenceMySection = ActiveDocument.Sections.Add(bqQuery)

Methods: Add(SectionType As BqSectionType, [SectionDependency as String]) As Section, ImportDataFile(FileName As String, Format As BqImportDataFileFormat), Item(Value NameOrIndex) As Section

Properties: Read-only: Property Count As Number

Objects: Query object, Results object, Pivot object, Chart object, and Dashboard object

Page 309: Hyperion Dashboard

SelectedList (Object) 4-193

SelectedList (Object)

Member of: ListBoxControl Object

Description: The SelectedList object represents all of the selected items within a list box.

Example: This example shows you how to add the selected items from a listbox control to a preexisting results limit.

ActiveDocument.Sections["Results"].Limits[1].SelectedValues.RemoveAll() for(I = 1; I <= ListBox.SelectedList.Count;I++){ NewLimitValue = ListBox.SelectedList[I] ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(NewLimitValue)}

Methods: Item(Index As Number) As String, ItemIndex(Index As Number) As Number

Properties: Read-only: Property Count As Number

Page 310: Hyperion Dashboard

4-194 Objects

SelectedValues (Collection)

Member of: Limit Object

Description: The SelectedValues collection is a collection of limit values that have been selected.

Note The Add (Method) is not available for the AvailableValues collection since the values are obtained from the database. For the CustomValues (Collection), Add() adds an additional value to the list. For the SelectedValues (Collection), Add() adds a value to the selected list. The AddAll (Method) of the SelectedValues collection selects all values of either AvailableValues or CustomValues collections depending on what is selected..

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example 1: This example shows you how to take every value from the AvailableValues collection and add them to the SelectedValues collection. This is essentially the same as performing a select all values and transferring the selection in the Limit User Interface.

LimitCount = ActiveDocument.Sections["Results"].Limits[1].AvailableValues.Countfor (i=1;i<=LimitCount;I++){MyVal = Add(ActiveDocument.Sections["Results"].Limits[1].AvailableValues[i]ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(MyVal)}

Page 311: Hyperion Dashboard

SelectedValues (Collection) 4-195

Methods: Add(Value ValueItem), AddAll(), Item(Number Index), RemoveAll()

Properties: Read-only: Property Count as Number,

Page 312: Hyperion Dashboard

4-196 Objects

Session (Object)

Member of: Application Object

Description: The Session object refers to the current Web browser’s session variables. The Session object contains 3 collections, which logically group a browser’s different type of data variables. The session object applies to the Web plug-ins but is visible in the client server product to support script testing. To activate the session object you must include the key value pair JScript=enable in the URL. Please refer to URL (Collection) and Form (Collection) for more information.

Note The following object model syntax is not supported in an Intelligenc e iServer BQY document:

■ Session Active

■ Session.Form.Add()

■ Session.Form.Item()

■ Session.URL.Add()

■ Session.URL.Item()

■ Session.Cookies.Add()

■ Session.Cookies.Item()

Example: The following script shows how to determine if a session is active and process the session variables./

//Session.Active = true if the script is running in the plug-in and JScript=enableif (Session.Active) Alert("Your web username is ="+ Session.Cookies["BRIOUSER"], "Web Username")else Alert("You are not running a plug-in or you have not added the JScript=enable key value pair to your URL")

Page 313: Hyperion Dashboard

Session (Object) 4-197

Methods: None

Properties: Read-only: Property Active As Boolean

Collections Form as Form, Cookies as Cookies, URL as URL

Page 314: Hyperion Dashboard

4-198 Objects

Shape (Object)

Member of: Shapes Collection

Description: The Shape object represents an individual Dashboard graphic item contained in a Shapes collection. Certain properties only apply to specific shape objects. For example, PictureEffect property applies to a picture object and does NOT apply to a line object. If you refer to a property that does not apply to the object, no action occurs.

Example: This example shows you how to change the properties of drawing objects contained in an Dashboard section. The example assumes that the script is running from the same Dashboard section. This allows the direct access to the drawing objects by name.

Line1.DashStyle=bqDashStyleDotDashLine1.LineWidth = 3//note you may use Hex values instead of enumerated types for any color propertyRect1.BorderColor = bqBlueRect1.Line.DashStyle=bqDashStyleDotDash TextLabel.Text = "Welcome to Brio Enterprise Scripting"TextLabel.Font.Style = bqFontStyleBoldItalic

Methods: OnClick()

Properties: Read-only: Property Active As Boolean, Property Group As String, Property Name As String, Property RowCount As Number, Property RowNumber As Number, Property Type As BqShapeType

Read-write: Property Alignment As BqHorizontalAlignment, Property Text As String, Property VerticalAlignment As BqVerticalAlignment, Property Visible As Boolean

Objects Fill As Fill, Line As Line

Page 315: Hyperion Dashboard

Shapes (Collection) 4-199

Shapes (Collection)

Member of: DashboardSection Object

Description: The Shapes collection represents all the graphic objects contained in a specific Dashboard tab.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: The following example shows you how to write the number of shapes in the body of a report section to the Console window:

Console.Writeln(ActiveDocument.Sections["Report"].Body.Shapes.Count)

Methods: Item(NameOrIndex) As Shape

Properties: Read-only: Property Count As Number

Page 316: Hyperion Dashboard

4-200 Objects

SharedLibrary (Object)

Member of: Application Object

Description: The SharedLibrary object represents an external, dynamically linked library.

Example: This example shows how to call a function from a local dll.

MyLibrary = Application.LoadSharedLibrary("c:\\temp\mydll.dll")MyLibrary.Call("SetTransaction","String",Value1)

Methods: Call(sFunctionName As String, sArgumentType As String, [arg1], [arg2], [arg3], [arg4], [arg5], [arg6], [arg7], [arg8])

Page 317: Hyperion Dashboard

SortItems (Collection) 4-201

SortItems (Collection)

Member of: QuerySection Object, ResultsSectionObject, TableSection Object

Description: The SortItems collection is the collection of sorts within a Query, Results or Table section.

In the Query section, sort line objects must be columns that are on the Request line since theses are the only objects that can be placed on the Sort line. In the Results and Table section, sort line objects have to be columns in the Results set.

The SortItems collection provides you with the ability to create Sort Line objects (column names), add them to the Sort Line, specify a sort order, and force an immediate sort (for Results and Table).

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Constants: The SortItems property uses the BqSortOrder constant group. The BqSortOrder group consists of the following values:·

bqSortAscend

bqSortDescend

Example 1 (Query Sorts): The following example shows you how to select a sort object (column) in the Query section.

ActiveDocument.Sections["Query"].Sort

Page 318: Hyperion Dashboard

4-202 Objects

Example 2 (Query Sorts):The following example shows you how to add, modify and remove all sort line object(s) (column) in the Query section.

ActiveDocument.Sections["Query"].Sort.Add()

//ActiveDocument.Sections["Query"].Sort.Add(Column_Name)

ActiveDocument.Sections["Query"].Sort.Item()

//ActiveDocument.Sections["Query"].Sort.Item(Value)

ActiveDocument.Sections["Query"].Sort.RemoveAll()

Example 3 (Query Sorts):The following example shows you how to count the number of sort items in the Query section.

ActiveDocument.Sections["Query"].Sort.Count

Example 4 (Query Sorts):The following example shows you how to remove a sort "Product Id" sort from the Sort line in the Query section.

ActiveDocument.Sections["Query"].SortItems["Product Id"].Remove()

Example 5 (Query Sorts):The following example shows you how to establish an ascending sort order in the Query section.

ActiveDocument.Sections["Query"].Sort["1"].SortOrder = bqSortAscend;

Example 6 (Results Sorts):The following example shows you how to select a sort object (column) in the Results section.

ActiveDocument.Sections["Results"].Sort

Methods: Add(String Request), Item(ValueNameOrIndex), RemoveAll(), SortNow()

Properties: Read-only: Property Count As Long

Page 319: Hyperion Dashboard

SortItems (Object) 4-203

SortItems (Object)

Member of: QuerySection Object, ResultsSectionObject, TableSection Object

Description: The SortItem object represents the Sort Line item used in a sort condition. In the Query section, sort line objects must be columns that are on the Request line since theses are the only objects that can be placed on the Sort line. In the Results and Table section, sort line objects have to be columns in the Results set.

Constants: The SortItem object uses the SortOrder property. The SortItems property uses the BqSortOrder constant group which consists of the following values:·

bqSortAscend

bqSortDescend

Methods: Remove()

Properties: Read-Write: Property SortOrder as BqSortOrder

Page 320: Hyperion Dashboard

4-204 Objects

SideLabels (Collection)

Description: For information on the SideLabels collection used in the Pivot section, see the “PivotLabels (Collection)”.

For information on the SideLabels collected used in the OLAPQuery section, see the “OLAPLabels (Collection)”.

Page 321: Hyperion Dashboard

Standard (Object) 4-205

Standard (Object)

Member of: Toolbars Collection

Description: The Standard object represents the Standard toolbar contained in the application. The Standard toolbar contains icons for commonly used operations, such as the “Open” and “Save” commands. The availability of an icon depends on the active Intelligence Clients section

Constants: The Type property of the Toolbar object uses the BqToolbars constant, which consists of the following values:

bqToolbarStandard = 1

bqToolbarFormat = 2

bqToolbarSections = 3

bqToolbarNavigation = 4

bqToolbarPaging = 5

Example: This example shows you enable the Standard toolbar in the application.

//Syntax for turning on the Standard toolbar

Toolbars["Standard"].Visible=true;

Methods: None

Properties: Read-only: Property Name As String, Property Type As BqToolbars

Read-write: Property Visible As Boolean

Page 322: Hyperion Dashboard

4-206 Objects

TableFact (Object)

Member of: TableFacts collection

Description: Sets the measurable or quantifiable fact objects that makes up the body of the report. Intelligence Clients quantifies values by group header and dimension. If you have a descriptive numeric value that should not be calculated, such as Retail Price or Target Sales, use the table dimension object instead of a fact object.

Example 1: This example shows you how to remove the "Unit Sales" object from table facts.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts["Unit Sales"].Remove()

Example 2: This example shows you how to align horizontal text to the left within a fact column.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts["Amount Sales"].HorizontalAlignment = bqAlignLeft

Example 3: This example shows you how not to display the column total for the "Unit Sales" fact object.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts["Unit Sales"].ShowColumnTotal = false

Methods: Move(LabelNameBefore as String), Remove()

Properties: Read-write: BackgroundAlternateColor as BqColorType, BackgroundAlternateFrequency as Number, BackgroundColor as BqColorType, BackgroundAlternateColor as Boolean, DataFunction as BqDataFunction, HorizontalAlignment as BqHorizontalAlignment, NumberFormat as String, ShowColumnTotal as Boolean, SuppressDuplicates as Boolean, TextWrap as Boolean, VerticalAlignment

Read-only: Name as String

Page 323: Hyperion Dashboard

TableFacts (Collection) 4-207

TableFacts (Collection)

Member of: ReportTable object

Description: The TableFacts collection represents all table fact objects in the report section.

Note When you use the Add, Move and/or Remove methods with this collection and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Example 1: This example shows you how add the "Unit Sales" column to the table:

ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts.Add("Unit Sales")ActiveDocument.Sections["Report"].Recalculate()

Example 2: This example shows you how to use the AddComputed method to divide the "Amount Sales" column by the "Unit Sales" column and display the results in a new computed column called "My Computed":

var myStr ="Tables(\"Results\").Columns(\"Amount_Sales\").Sum(currBreak) / Tables(\"Results\").Columns(\"Unit_Sales\").Sum(currBreak)"; ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts.AddComputed("MyComputed", myStr,bqDataTypeNumber)ActiveDocument.Sections["Report"].Recalculate()

Example 3: This example shows you to how to count the number of tables in the body of the report section:

Alert(ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts.Count," Number of Tables")ActiveDocument.Sections["Report"].Recalculate()

Methods: Add(NewFact as String, [optional] MoveBeforeName as String), AddComputed(Name as String, Expression as String), Item(NameOrIndex as Value), ModifyComputed(OldName as String, NewName as String, Expression as String), RemoveAll()

Properties: Read-only: Count as Number

Page 324: Hyperion Dashboard

4-208 Objects

TableSection (Object)

Member of: Sections Collection

Description: The TableSection object represents a results or table section, contained within a document.

Example: This example shows you how to print the names of all the columns to the console window.

MyResults = ActiveDocument.Sections["Results"]ColumnCount = MyResults.Columns.Countfor (I=1;I<= ColumnCount;I++)Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n")

Methods: Activate(), Copy(), Duplicate(), Export([Filename As String], [FileFormat As BqExportFileFormat], [IncludeHeaders As Boolean], [Prompt As Boolean]), GetCell(nRow As Number, nCol As Number) As Value, PrintOut([FromPage As Number], [ToPage As Number], [Copies As Number], [Filename As String], [Prompt As Boolean]), Recalculate(), Remove()

Properties: Read-only: Property Active As Boolean, Property RowCount As Number, Property Type As BqSectionType

Read-write: Property Name As String, Property ShowOutliner As Boolean, Property ShowRowNumbers As Boolean, Property Visible As Boolean

Collections: Limits As Limits, Columns As Columns, SortItems as SortItems

Page 325: Hyperion Dashboard

ThinClient (Object) 4-209

ThinClient (Object)

Member of: Events Collections

Description: Enables or disables execution of an Intelligence iServer (thin client) document event in the 8.0 client environment. This object’s properties take a boolean value, which by default is set to “true.”

Example: This example shows you how to disable all document events when running in an Intelligence iServer (web-browser) environment:

Documents["Sample1.bqy"].Events["ThiClient"].ExecuteOnPostProcess=falseDocuments["Sample1.bqy"].Events["ThinClient"].ExecuteOnPreProcess=falseDocuments["Sample1.bqy"].Events["ThinClient"].ExecuteOnShutDown=falseDocuments["Sample1.bqy"].Events["ThinClient"].ExecuteOnStartUp=false

Properties: Read-write: ExecuteOnPostProcess as Boolean, ExecuteOnPreProcess as Boolean, ExecuteOnShutDown as Boolean, ExecuteOnStartUp as Boolean.

Read-only: Name as String

Page 326: Hyperion Dashboard

4-210 Objects

Time Field (Object)

Member of: Fields collection

Description: Sets the current time in HH:MM AM/PM format.

Example: This example shows you how to reposition the Time Field object behind another object (such as a shape object).

ActiveDocument.Sections["Sales Report"].PageFooter.Fields["Time Field"].Layer(bqLayerBack)

Methods: Layer(BqLayer value), Spring(String Name), UnSpring()

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 327: Hyperion Dashboard

TimeNow Field (Object) 4-211

TimeNow Field (Object)

Member of: Fields collection

Description: Sets the current time HH:MM:SS format.

Note that this object represents the time when the TimeNow field is first added to the report and it will never change.

Example: This example shows you how to concatenate the string: "Last Updated on: " and the date on which the TimeNow field was added to the report.

ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["TimeNow Field"].Formula = "Last Updated:" + ' ' + new Date()

Methods: Layer(BqLayer value), Spring(String Name), UnSpring

Properties: Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignment

Read-only: Name as String, Type as BqShapeType

Objects: LineFormat object, FillFormat object, FontFormat object

Page 328: Hyperion Dashboard

4-212 Objects

Toolbar (Object)

Member of: Toolbars Collection

Description: The Toolbar object represents an individual toolbar, contained in the application.

Constants: The Type property of the Toolbar object uses the BqToolbars constant, which consists of the following values:

bqToolbarStandard = 1

bqToolbarFormat = 2

bqToolbarSections = 3

bqToolbarNavigation = 4

bqToolbarPaging = 5

Example: This example shows you how to hide all the toolbars in the application.

for(I = 1; I <= Application.Toolbars.Count;I++){ MyToolbar = Application.Toolbars[I] MyToolbar.Visible = false}

Methods: None

Properties: Read-only: Property Name As String, Property Type As BqToolbars

Read-write: Property Visible As Boolean

Page 329: Hyperion Dashboard

Toolbars (Collection) 4-213

Toolbars (Collection)

Member of: Application Object

Description: The Toolbars collection represents all the toolbars, contained within the application.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to hide all the toolbars in the application.

for(I = 1; I <= Application.Toolbars.Count;I++)Application.Toolbars[I].Visible = false

Methods: Item(NameOrIndex) As Toolbar

Properties: Read-only: Property Count As Number

Objects: Standard (Toolbar) object, Formatting (Toolbar) object, Sections (Toolbar) object, Navigation (Toolbar) object

Page 330: Hyperion Dashboard

4-214 Objects

TopLabels (Collection)

Description: For information on the TopLabels collection used in the Pivot section, see the “PivotLabels (Collection)”.

For information on the TopLabels collected used in the OLAPQuery section, see the “OLAPLabels (Collection)”.

Page 331: Hyperion Dashboard

Topic (Object) 4-215

Topic (Object)

Member of: DataModel Object

Description: The Topic object represents a topic in a data model or query section.

Example 1: This example shows you how to print the names of all the topics in a Data Model to the console window.

with(ActiveDocument.Sections["Query"].DataModel){ TopicsCount = Topics.Count for(I=1;I<= TopicsCount;I++) Console.Write(Topics[I].DisplayName+"\r\n")}

Example 1: The following example shows you how to remove the “Wine Sales” topic from the query and send an alert that the query results have been modified.

ActiveDocument.Sections["Query"].DataModel.Topics["Wine Sales"].Remove()Alert("Query results have been modified")

Methods: Remove()

Properties: Read-only: Property PhysicalName As String, Property Type As BqTopicType

Read-write: Property DisplayName As String, Property View As BqTopicView

Collections: TopicItems As TopicItems

Page 332: Hyperion Dashboard

4-216 Objects

TopicItem (Object)

Member of: Topic Object

Description: The TopicItem object represents an individual field within a topic.

Example: This example shows you how to print the names of all the topics and topic items in a Data Model to the console window.

with(ActiveDocument.Sections["Query"].DataModel){TopicsCount = Topics.Countfor(I=1;I<= TopicsCount;I++){ Console.Write(Topics[I].DisplayName+"\r\n") TopicItemsCount = Topics[I].TopicItems.Count for(j=1;j<= TopicItemsCount;j++) Console.Write(Topics[I].TopicItems[j].DisplayName ) }}

Methods: None

Properties: Read-only: Property PhysicalName As String

Read-write: Property DisplayName As String, Property Visible As Boolean

Page 333: Hyperion Dashboard

TopicItems (Collection) 4-217

TopicItems (Collection)

Member of: Topic Object

Description: The TopicItems collection represents all of the fields, contained within an individual topic.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to print the names of all the topics and topic items in a Data Model to the console window.

with(ActiveDocument.Sections["Query"].DataModel){TopicsCount = Topics.Countfor(I=1;I<= TopicsCount;I++){Console.Write("\r\nTopic - "+Topics[I].DisplayName+"\r\n") TopicItemsCount = Topics[I].TopicItems.Countfor(j=1;j<= TopicItemsCount;j++)Console.Write(Topics[I].TopicItems[j].DisplayName)}}

Methods: Item(NameOrIndex) As TopicItem

Properties Read-only: Property Count As Number

Page 334: Hyperion Dashboard

4-218 Objects

Topics (Collection)

Member of: DataModel object

Description: The Topics collection is a collection of all topics in the Data Model.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Example: This example shows you how to print the names of all the topics and topic items in a Data Model to the console window.

with(ActiveDocument.Sections["Query"].DataModel){TopicsCount = Topics.Countfor(I=1;I<= TopicsCount;I++){Console.Write(Topics[I].DisplayName)TopicItemsCount = Topics[I].TopicItems.Countfor(j=1;j<= TopicItemsCount;j++)Console.Write(Topics[I].TopicItems[j].DisplayName)}}

Methods: Add(TableObject As DMCatalogItem) As Topic, Item(NameOrIndex) As Topic, RemoveAll()

Properties: Read-only: Property Count As Number

Page 335: Hyperion Dashboard

URL (Collection) 4-219

URL (Collection)

Member of: Session Object

Description: The URL collection represents a list of key value pairs generated from a GET method invocation in the current browser. URL key value pairs are variables, which are appended to the end of a URL in a Web browser.

For example:

http://www.yourserver.com&name=test&version=6.0&jscript=enable

has two key value pairs, Name and Version. The URL collection provides read-only access to these variables. Since URLs are browser based this collection only applies to the plug-in products. However, the URL collection is exposed in the client server products to assist in developing plug-in scripts.

Note The Session.URL.Add () and Session.URL.Item() object model syntax is not supported in an Intelligence iServer BQY document.

Tip All collections have a method named “Item(NameOrIndex).” This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the “[]” can be used in place of the call to the “Item()” method. For example, the following statements are identical in behavior:myItem = Documents[1]

myItem = Documents.Item(1)

myItem = Documents["StartUp.bqy"]

myItem = Documents.Item("StartUp.bqy")

Page 336: Hyperion Dashboard

4-220 Objects

Example: This example shows how to read the values from a URL and use them inside a script running on the plug-in.

http://www.yourserver.com&app=brioquery&group=pm&userid=2020&jscript=enable/// Write the URL information to the console window.BaseURL = Application.URLConsole.Write ("The URL of my server is = "+BaseURL)Console.Write ("The value App variable is = " + Session.URL["App"])Console.Write ("The value Group variable is = " + Session.URL["Group"])Console.Write ("The value UserID variable is = " + Session.URL["UserID"])

Methods: Add(Key As String, Value As String), Item (Key As String) As String

Page 337: Hyperion Dashboard

UserValues (Collection) 4-221

UserValues (Collection)

Member of: Document Collection

Description: Enables you to create a user-defined or “arbitrary” value to an object in the Intelligence Clients Object Model. A user-defined value, in the context used here, is not explicitly defined in the Object Model or other software components of the product. It is a value defined solely of the Designers using the Hyperion Intelligence Clients Object Model.

The user-defined value must take the form of a named string value. It is created from the JavaScript core object: String. The individual characters in a string can range in value from 0 to 255.

Any user-defined value is persistent across uses of the document. That is, if the document is saved after a user-defined value has been created, the value will still be present and accessible when the document is reopened.

This feature is available for BQY documents to be deployed in Designer/Explorer, web client and the Intelligence iServer. The persistence of user-defined values does not effect the Intelligence iServer unless the end user chooses to to save the document state. Persistence works with web client in all its modes.

Depending on the amount of data stored as a user-defined value with the document, you should expec t that Intelligence Clients will take extra time to read and write, and to compress and decompress a document.

For detailed information on how to add and maintaining user defined values through the Object Model, see “Adding and Maintaining the UserValue Object” on page 4-234 .

Page 338: Hyperion Dashboard

4-222 Objects

Uses of the object: The UserValues object is effective for:

■ data that is temporary and needs to be saved and reused. For example, if you have an Dashboard form that collects parameters from the user via various controls (combo boxes, listboxes, etc.), use the UserValues object to recall the settings for the end user the next time the user accesses the document.

■ external software that is cognizant of the Hyperion Intelligence Client or web client document format. In this case, the UserValue object could be used to pass information into the document for use when the document is opened. The persistence of values also allows the external software programs to use the information as data intrinsically relevant.

■ OLE-enabled external software. The UserValues object can use the Object Model to store data in a BQY document, which can be used in turn when the document is opened to control the behavior of the document. On the other hand, documents can store data that can be ready by OLE-enabled software and used to alter the program’s behavior accordingly.

Methods: Add(String Name, [optional] String Value), Item(Value NameOrIndex), RemoveAll

Properties: Read-only: Count as Number

Objects: UserValue object

Page 339: Hyperion Dashboard

ValuesAxis (Object) 4-223

ValuesAxis (Object)

Member of: ChartSection Object

Description: The ValuesAxis object logically represents all the properties of a charts values axis.

Example: This example shows you how to set some basic properties for the left axis.

with(ActiveDocument.Sections["Chart"]){ValuesAxis.LeftAxis.AutoScale = trueValuesAxis.LeftAxis.ShowLabel = falseValuesAxis.RightAxis.AutoScale = trueValuesAxis.RightAxis.ShowLabel = falseValuesAxis.RightAxis.LabelText = "Right Axis"}

Methods: None

Properties: Read-write: Property ShowIntervalTickmarks As Boolean, Property ShowIntervalValues As Boolean, Property ShowValuesAtRight As Boolean

Objects: LeftAxis As LeftAxis, RightAxis As RightAxis

Page 340: Hyperion Dashboard

4-224 Objects

WebClientDocument (Object)

Member of: Documents Collection, Application Object

Applies to web client

Description: The WebClientDocument object represents a document that has been opened inside a web client application. This object, which is based on a document object, has similar methods and properties. A WebClientDocument also has methods and properties which are specific to Web environments.

Methods: Activate(),Close([SaveChanges As Boolean]), Import(Filename As String, FileType As Number), ImportSQLFile(Filename As String), Save([bCompressed As Boolean]), SaveAs([Filename As String], [bCompressed As Boolean]), Send(To As String, [CC As String], [Subject As String], [Message As String], [SaveResults As Boolean], [Compressed As Boolean]) As Number, SetODSPassword(Password as String)

Properties: Read-only: Property AdaptiveState as BqAdaptiveState, Property Active As Boolean, Property LastSaved As Date, Property Name As String, Property Path As String, Property Url as String

Read-write: Property ShowCatalog As Boolean, Property ShowSectionTitleBar As Boolean, Property Username as String

Collections: Sections As Sections

Page 341: Hyperion Dashboard

XAxisLabel (Object) 4-225

XAxisLabel (Object)

Member of: LabelsAxis Object

Description: An object that represents a chart X-axis label. This object’s properties directly affect the display of the X axis and corresponds to the options provided on the Label Axis tab of the Properties dialog box.

Example: This example shows how to modify the properties of the X Axis label.

ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.AutoFrequency = trueActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.LabelFrequency = 3ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.LabelText = "X Axis"ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.ShowLabel = trueActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.ShowTickmarks = falseActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.ShowValues = trueActiveDocument.Sections["Chart1"].LabelsAxis.XAxis.TickmarkFrequency = 4

Methods: None

Properties: Read-write: Property AutoFrequency As Boolean, Property LabelFrequency As Number, Property LabelText As String, Property ShowLabel As Boolean, Property ShowTickmarks As Boolean, Property ShowValues As Boolean, Property TickmarkFrequency As Number7

Page 342: Hyperion Dashboard

4-226 Objects

XCategories (Collection)

Description: For information on the XCategories collection, see: “CategoryItems (Collection)”.

Page 343: Hyperion Dashboard

XCategory (Object) 4-227

XCategory (Object)

Member of: CategoryItems (Collection)

Description: An object that represents a chart's X-axis. This object's properties directly affect the display of the X-axis and the X-Categories in the Outliner.

Example: The following example shows you how to sort by facts for the “Quarter” X categories:

ActiveDocument.Sections["BooksChart"].XCategories["Quarter"].SortByFact()

Methods: Hide(), SortByFact(String FactName, BqSortFunction SortFunction, [optional] BqSortOrder SortOrder), SortByLabel{[optional] BqSortOrder SortOrder}

Properties: Read-only: Property Name as String, SortFactName as String, SortFunction as Number, SortOrder as Number

Page 344: Hyperion Dashboard

4-228 Objects

XLabels (Object)

Member of: Chart Object

Description: An object that represents a label value on the X-axis. This object’s properties directly affect the display of the label value on the X-axis and correspond to the options provided on the Chart menu or shortcut menu.

Note You must specify the label value(s) in an array before using the FocusSelection, HideSelection and UnhideAll methods.

Example: This example shows how to modify the label value on the X-axis.

var OArray = new Array()OArray[0]= ActiveDocument.Sections["Chart"].XLabels.LabelValues.Item(1)OArray[1]= ActiveDocument.Sections["Chart"].XLabels.LabelValues.Item(3)var ZArray = new Array()ZArray[0]= ActiveDocument.Sections["Chart"].XLabels.LabelValues.Item(2)ZArray[1]= ActiveDocument.Sections["Chart"].XLabels.LabelValues.Item(4)ActiveDocument.Sections["Chart"].XLabels.FocusSelection(OArray)ActiveDocument.Sections["Chart"].XLabels.HideSelection(ZArray)ActiveDocument.Sections["Chart"].XLabels.UnhideAll(ZArray)

Methods: DrillInto(NameOrIndex As Value, DrillName As String), FocusSelection(ItemArray As Value), HideSelection(ItemArray As Value), UnhideAll()

Properties: Read-only: Property Count as Number

Objects: LabelValues As LabelValues

Page 345: Hyperion Dashboard

YLabels (Object) 4-229

YLabels (Object)

Member of: Chart Object

Description: An object that represents a label value on the Y-axis. This object’s properties directly affect the display of the label on the Z-axis and correspond to the options provided on the Chart menu or shortcut menu.

Note You must specify the label value(s) in an array before using the FocusSelection (Method), HideSelection (Method) and UnhideAll (Method).

Example: This example shows how to modify the label value on the Y-axis.

var OArray = new Array()OArray[0]= ActiveDocument.Sections["Chart"].YLabels.LabelValues.Item(1)OArray[1]= ActiveDocument.Sections["Chart"].YLabels.LabelValues.Item(3)var ZArray = new Array()ZArray[0]= ActiveDocument.Sections["Chart"].YLabels.LabelValues.Item(2)ZArray[1]= ActiveDocument.Sections["Chart"].YLabels.LabelValues.Item(4)ActiveDocument.Sections["Chart"].YLabels.FocusSelection(OArray)ActiveDocument.Sections["Chart"].YLabels.HideSelection(ZArray)ActiveDocument.Sections["Chart"].YLabels.UnhideAll(ZArray)

Methods: DrillInto(NameOrIndex As Value, DrillName As String), FocusSelection(ItemArray As Value), HideSelection(ItemArray As Value), UnhideAll()

Properties: Read-only: Property Count as Number

Objects: LabelValues As LabelValues

Page 346: Hyperion Dashboard

4-230 Objects

ZAxisLabel (Object)

Member of: LabelsAxis Object

Description: An object that represents a charts Z-axis. This object’s properties directly affect the display of the Z-axis label.

Example: This example shows how to modify the properties of the Z-axis label.

ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.AutoFrequency = trueActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.LabelFrequency = 3ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.LabelText = "X Axix"ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.ShowLabel = trueActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.ShowTickmarks = falseActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.ShowValues = trueActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.TickmarkFrequency = 4

Methods: None

Properties: Read-write: Property LabelText As String, Property ShowLabel As Boolean, Property ShowTickmarks As Boolean, Property ShowValues As Boolean

Page 347: Hyperion Dashboard

ZCategories (Collection) 4-231

ZCategories (Collection)

Description: For information on the ZCategories collection, see: “CategoryItems (Collection)”.

Page 348: Hyperion Dashboard

4-232 Objects

ZCategory (Object)

Member of: CategoryItems (Collection)

Description: An object that represents a chart's Z-axis. This object's properties directly affect the display of the Z-axis and the Z-Categories in the Outliner.

Example: The following example shows you how to sort by labels for the “Quarter” X categories:

ActiveDocument.Sections["BooksChart"].XCategories["Quarter"].SortByLabel()

Methods: Hide(), SortByFact(String FactName, BqSortFunction SortFunction, [optional] BqSortOrder SortOrder), SortByLabel{[optional] BqSortOrder SortOrder}

Properties: Read-only: Property Name as String, SortFactName as String, SortFunction as Number, SortOrder as Number

Page 349: Hyperion Dashboard

ZLabels (Object) 4-233

ZLabels (Object)

Member of: Chart Object

Description: An object that represents a label value on the Z-axis. This object’s properties directly affect the display of the label on the Z-axis and correspond to the options provided on the Chart menu or shortcut menu.

Note You must specify the label value(s) in an array before using the FocusSelection (Method), HideSelection (Method) and UnhideAll (Method).

Example: This example shows how to modify the label value on the Z-axis.

var OArray = new Array()OArray[0]= ActiveDocument.Sections["Chart"].ZLabels.LabelValues.Item(1)OArray[1]= ActiveDocument.Sections["Chart"].ZLabels.LabelValues.Item(3)

var ZArray = new Array()ZArray[0]= ActiveDocument.Sections["Chart"].ZLabels.LabelValues.Item(2)ZArray[1]= ActiveDocument.Sections["Chart"].ZLabels.LabelValues.Item(4)

ActiveDocument.Sections["Chart"].Zlabels.FocusSelection(OArray)ActiveDocument.Sections["Chart"].Zlabels.HideSelection(ZArray)ActiveDocument.Sections["Chart"].Zlabels.UnhideAll(ZArray)

Methods: DrillInto(NameOrIndex As Value, DrillName As String), FocusSelection(ItemArray As Value), HideSelection(ItemArray As Value), UnhideAll()

Properties: Read-only: Property Count as Number

Objects: LabelValues As LabelValues

Page 350: Hyperion Dashboard

4-234 Objects

Adding and Maintaining the UserValue ObjectUse this section to add and maintain a UserValue object. For syntax, purposes and examples, see the UserValues (Collection) “URL (Collection)” on page 4-219.This section includes information about:

■ Adding a UserValue object

■ Retrieving a UserValue object

■ Removing a UserValue object

Adding a UserValue objectTo set a user-defined value for a selected object:

1 Define a string which contains the desired value.

For example, you might type: sMyString.

2 Invoke the Add method to create an item in the UserValues collection to store this value.

A string containing the name for this value is the only required paramter need for the Add method (i.e., Object.UserValues.Add(name,[optional]value).

The Add method adds the named item to the collection so that it can be accessed through the object model and can be written and read as part of the BQY document format. The user-defined has one method: Remove. It also has three properties as described below:

■ Name – A read-only property which returns the name of an UserValue object. The Add method creates the item with this property set to the string value specified as the argument to the method. This feature is useful when you need to enumerate the items in the collection, such as in a “for” loop based on the Count property of the object’s UserValues Collection.

■ Value – A property of the string type, which is read/write.The Add method creates the item with the Value property set to the empty string ("")unless the optional second parameter, which is of type string, sets the value.

■ ReadOnly – A property of the Boolean type, which is read only. The Add method creates the item with the ReadOnly property set to false.

The Add method increments the Count property of the object’s UserValues collection by one.

Page 351: Hyperion Dashboard

Adding and Maintaining the UserValue Object 4-235

When the document containing this item is saved, it stores the collection containing the item so that it is documentable. Consequently, any external software systems can follow the documentation to add user-defined values directly into a bqy format.

Errors resulting from adding the UserValue object get written to the Console window. Typically, errors result from:

■ memory that cannot be allocated to hold the item

■ an item of the same name already exists.

3 Assign or reassign the Value property of them. For example, you might type:

Object.UserValues[name].Value=sMyString.

Retrieving a UserValue objectTo retrieve the user defined value for any specific object:

1 Define a string which contains the desired value.

2 Access the Value property for the desired item in the UserValues collection of the object, for example:

SMyString=Object.UserValues[name].Value.

If the named/indexed item does not exist in the UserValues collection for the specified object and the error occurs outside of an“try-catch” block, the message: “No such property” is written to the Console window and the script will fail.

To continue executing a script when a value cannot be identified, include the Value syntax in a “try-catch” block.

Page 352: Hyperion Dashboard

4-236 Objects

Removing a UserValue objectTo remove the user defined value for any specific object:

For example, you might type: Object.UserValues[name].Remove().

The user-defined has one method: Remove. The Remove method behaves accordingly:

■ Removes the named property for the object from the document and decrements the collection’s Count property by one.

■ Scripts that reference the user-defined values will fail unless the value is identified within a “try-catch” block. If the value is not identified within a “try-catch” block, the error message “Script Execution Error “%” (where %s represent items not found)is written to the Console window.

■ If the named item value has its ReadOnly property set to true, ehe error message “Script Execution Error “%” (where %s represents items cannot be removed)is written to the Console window.

➤ Invoke the Remove method for the item.

Page 353: Hyperion Dashboard

5 Methods

A function associated with an object is called a method. The methods for an object represent the actions that a script can request from that element.

For example, the document section object has a method called Activate() which can be used to activate the section. This method corresponds to the user clicking on the section in the Section/Catalog pane. The method performs all the background operations needed to hide the current section and causes the selected section to display and initialize itself appropriately.

This chapter provides an alphabetical reference to the methods available for Intelligence Clients objects.

Page 354: Hyperion Dashboard

5-2 Methods

Activate (Method)

Applies To: ChartSection, DataModelSection, Document object, DashboardSection object, OLAPQuerySection, PivotSection object, QuerySection object, ReportSection, ResultsSection object, Sections collection, TableSection, WebClientDocument

Description: The activate method is used to switch the focus of a document or section.

Syntax: Expression.Activate()

Expression Required: An expression that returns an object for any of the following:

ChartSection

DataModelSection

Document

DashboardSection

OLAPQuerySection

PivotSection

QuerySection

ReportSection

ResultsSection

Sections

TableSection

WebClientDocument

Example: This example shows you how to unhide and activate a section.

var MySection = ActiveDocument.Sections["Results"]MySection.Visible = trueMySection.Activate()

Page 355: Hyperion Dashboard

Add (Method) 5-3

Add (Method)

Applies To: AggregateLimits collection, AppendQueries collectionCategoryItems, ChartSection, Columns collection, ControlsDropDown, ControlsListBox, Documents collection, Joins, Limits collection, LimitValues, LocalJoins, LocalResults, OLAPLabels, OLAPMeasures, OLAPSlicers, Parentheses collection, PivotLabel object, PivotLabelTotals collection, Requests collection, Sections collection, SortItems collection, TopLabels collection, Topics collection

Description: The Add() method is a common method for most collections. It adds an object to a collection and returns a reference to the newly added object.

Note The Session.Form.Add(), Session.URL.Add() and Session.Cookies.Add() object model syntax is not supported in an Intelligence iServer BQY document.

Note The Add() method works differently for the LimitValues, (AvailableValues (Property), CustomValues (Collection), and SelectedValues (Collection). For the AvailableValues collection, the Add() does nothing since the values are obtained from the database. For the CustomValues collection, Add() adds an additional value to the list. For the SelectedValues collection, Add() adds a value to the selected list.

Syntax: Expression.Add(ItemName As String)

Expression Required: An expression that returns an object for any of the following:

CategoryItems

ChartSection

Columns

ControlsDropDown

ControlsListBox

Documents

Page 356: Hyperion Dashboard

5-4 Methods

Joins

Limits

LimitValues

LocalJoints

LocalResults

OLAPLabels

OLAPMeasures

OLAPSlicers

PivotLabels

Requests

Sections

Topics

Example 1: This example shows you how to create a new limit, add values to the limit, and then add the limit to the limit line.

var MyLimit = ActiveDocument.Sections["Query"].Limits.CreateLimit("Stores.Store_Id")MyLimit.SelectedValues.Add(2) ActiveDocument.Sections["Query"].Limits.Add(MyLimit)

Example 2: This example shows you how to add values to a list box and dropdown.

ActiveDocument.Sections["Dashboard2"].Shapes["DropDown1"].Add(20)ActiveDocument.Sections["Dashboard2"].Shapes["ListBox1"].Add(1)

Example 3: This example shows you how to add two new topics to a Data Model and how to add a join between the topics.

var Topic1 = ActiveDocument.Sections["Query"].DataModel.Catalog.CatalogItems["sales_fact"]ActiveDocument.Sections["Query"].DataModel.Topics.Add(Topic1)var Topic2 = ActiveDocument.Sections["Query"].DataModel.Catalog.CatalogItems["Store_ID"]ActiveDocument.Sections["Query"].DataModel.Topics.Add(Topic2)var TopicItem1 =ActiveDocument.Sections["Query"].DataModel.Topics

Page 357: Hyperion Dashboard

Add (Method) 5-5

["SalesFact"].TopicItems["Store_Id"]var TopicItem2 = ActiveDocument.Sections["Query"].DataModel.Topics["Stores"].TopicItems["Store_Id"]ActiveDocument.Sections["Query"].DataModel.Joins.Add(TopicItem1,TopicItem2,bqJoinSimpleEqual)

Example 4: This example shows you how to add a Pivot section type to the Results section. ActiveDocument.Sections.Add(bqPivot,"Results")

Note A Chart, Pivot, and Table section type must be associated with a parent section, such as Results. A Query, Dashboard, or Report section type does not have to be associated with a parent section.

Page 358: Hyperion Dashboard

5-6 Methods

AddAll (Method)

Applies To: SelectedValues Collections (instantiated from the LimitValues Collection)

Description: The AddAll() method of the SelectedValues collection allows you to select all values from either the AvailableValues or CustomValues collection depending on what is selected. Use this method in conjunction with the LimitValueType property so that you can determine in advance which limit value set is selected. The value associated with this property is a member of the constant group called BqLimitValueType. Two possible values of BqLimitValueType: bqLimitValueTypeAvailable and bqLimitValueTypeCustom.

Note You can select a single value at a time using the Add() method of the SelectedValues (Collection); however, you must know all the values in advance. This way of selecting a value can become very tedious when there are a lot of values.

Syntax: Expression.SelectedValues.AddAll();

Expression Required: An expression that returns a limit object.

Example: In this example, a "Quarter" limit is created and added to the limit line in the Query section. Then, all available values in the Limit dialog box are added.

//Adds a limit to the limit line of the Query sectionmylimit =ActiveDocument.Sections["Query"].Limits.CreateLimit("Periods.Quarter")mylimit.Operator=bqLimitOperatorEqualActiveDocument.Sections["Query"].Limits.Add(mylimit)//Selects ALL Available values in the Limits dialog ActiveDocument.Sections["Query"].Limits[1].SelectedValues.AddAll()

Page 359: Hyperion Dashboard

AddAllTopics (Method) 5-7

AddAllTopics (Method)

Applies To: DefinedJoinPath collection

Description: If you chose to programmatically define your own join paths, use the AddAllTopics() method of the DefinedJoinPaths (Collection) to select all topics based on the items on the Request and Limit lines. This method corresponds to selecting all available topics on the Define Join Path dialog and populating the Topics in Join Path list.

Syntax: ActiveDocument.Sections["Query"].DataModel. JoinsOptions.DefinedJoinPath[“MyJoinPath”]. AddAllTopics()

Example: In this example all topics are added to the MyJoinPath join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath[“MyJoinPath”].AddAllTopics()

Page 360: Hyperion Dashboard

5-8 Methods

AddComputed (Method)

Applies To: Columns collection

Description: Creates a new computed column in a Table or Results section.

Syntax: Expression.AddComputed(Name As String,Expression As String) As Column

Expression Required: An expression that returns an object for Columns.

Example: This example shows you how to create a computed column that concatenates the string “Manager =” with the value in the Store_Manager column.

var ComputedExpression = " \"Manager =\" + Store_Manager"ActiveDocument.Sections["Results"].Columns.AddComputed("MyComputed", ComputedExpression)

Page 361: Hyperion Dashboard

AddComputedItem (Method) 5-9

AddComputedItem (Method)

Applies To: Chart Facts, Pivot Facts, Request.

Description: Creates a computed item and returns an object that represents the new item.

This method allows you to specify the name, expression, and index for the computed item.

Calculated items created in the Chart section are always facts and are placed in the Y-Facts pane of the chart outliner.

The “name” is the name of the computed item and appears in the Y-Fact pane of the Chart or Pivot Outliner and the Chart legend.

The expression you specify must be a valid Intelligence Clients expression that appears in the Computed Items dialog box.

The optional index determines the computed item’s position in a particular pane. For example, an index of “2” places it as the second item in the Y-Fact pane.

When you are applying the AddComputedItem method to a Query Request object, you can use the BqDataType constant to confirm or change an item's data type. This allows you to preserve the precision of a mixed-data type computations, or to change the way a data item is handled (for example, interpreting number as strings).

Attention to data types is most important when computing items in the Query section. Here the computation is performed on the database server, and the computed item may be handed to Intelligence Clients with an unanticipated data type. To ensure that data is handled correctly on server computations, it is best to set the data type when performing mixed-data type computations.

Page 362: Hyperion Dashboard

5-10 Methods

Syntax: Chart: Expression.AddComputedItem(Name As String, Expression As Str ing,[optional Index As Number])

PivotLabels: Expression.AddComputedItem(Name As String, Expression As String, [optional Index As Number]) As PivotLabel

Requests: Expression.AddComputedItem(Name As String, Expression As String, Type As BqDataType) As Request

Expression Required: An expression that returns a Chart fact, Pivot fact or Query request object.

Example: This example shows you how to create a computed column titled “Double Sales”, which doubles the amount in the Unit Sales column.

ActiveDocument.Sections["Chart"].Facts.AddComputedItem(‘Double_Sales’, ‘Unit_Sales *2’,2)

Page 363: Hyperion Dashboard

AddDrillThroughValue (Method) 5-11

AddDrillThroughValue (Method)

Applies To: OLAPQuery object

Description: Adds a label names as a drill through value.

Syntax: Expression.AddDrillThroughValue(string LabelName)

Expression Required: An expression that returns an add drill through label value.

Example: The following example shows you how to add the label value “Store Name” as a drill through value.

ActiveDocument.Sections["OLAPQuery"].AddDrillThroughValue("Store Name")

Page 364: Hyperion Dashboard

5-12 Methods

AddDrillValue (Method)

Applies To: TopLabels collection, SideLabels collection, Measures collection

Description: Sets the label or measure on which to drill down.

Syntax: Expression.AddDrillValue(String labelName)

Expression Required: An expression that returns a drill down value.

Example: This example shows you how to add the drill down value “State” and how to execute the drill down..

ActiveDocument.Sections["OLAPQuery"].SideLabels.AddDrillValue("State")ActiveDocument.Sections["OLAPQuery"].SideLabels.DrillDown()

Page 365: Hyperion Dashboard

AddExportSection (Method) 5-13

AddExportSection (Method)

Applies To: ChartSection, Document object, PivotSection, QuerySection, Section, TableSection

Description: Exports documents to HTML format, making it easy to distribute data to many users through corporate intranets or Web sites. Using this scripting method executes a high-fidelity series of XHTML pages that match the original Intelligence Clients reports as closely as HTML can; creates a set of.htm, .css and .gif files; and if charts or Dashboard sections are included in the export set, creates.jpg files. The resulting file set is a frame-based HTML display that includes a report navigation frame, a report display area, and hyperlinks to move between the multiple pages of a specific report.

When exporting selected sections, specify the section name in the AddExportSection() method. A single call to AddExportSection() must be specified for each section to be exported. After specifying all sections to be exported the Document level Export (Method) is called. This method allows you to specify the export file format.

Regardless of the order of the AddExportSection() calls, the exported document preserves the original fixed section ordering of a BQY document, minus sections not selected for export. Invalid AddExportSection() calls, either as a result of invalid section type or invalid section name, are ignored.

When sections are exported successfully, the Export (Method) clears the export buffer. If sections are not exported successfully, use the RemoveExportSection (Method) to flush the export buffer of sections. That is, all sections set for export are cleared from the export buffer. For instance, if you specify a Report, Pivot, and Chart section to be exported via the AddExportSection() method, a call to RemoveExportSections() would nullify the section set up for export. Consequently a call to Export() would assume that you did not want to select individual sections for export, but instead prefer that all sections be exported.

Page 366: Hyperion Dashboard

5-14 Methods

The exported document resides in the default export directory wherever the brioqry.exe file is located. The export directory can be modified by explicitly specifying a path for the filename argument in the Export() method. For example, "c:\\temp\\myfile.htm" and "myfile.htm" are valid arguments for filename. Please note that the .htm extension is used to denote the HTML file type. A .htm extension is used, even if .htm is specified as in the following example:

Documents["MyDocument.bqy"].Export(‘C:\\Temp\\MyExportFile.htm’,BqExportFileHTML)

Note You cannot export the Query, OLAPQuery, and DataModel sections.

Syntax: Expression.AddExportSection(SectionName As String)

Expression Required: An expression that returns an object for any of the following: ChartSection, PivotSection, TableSection, and Section.

Example 1: This example shows you how to export selected sections of a BQY document.

//Export SELECTED Sections of .bqy documentActiveDocument.AddExportSection(‘Report’)ActiveDocument.AddExportSection(‘Report2’)ActiveDocument.AddExportSection(‘Results’)ActiveDocument.AddExportSection(‘Table’)ActiveDocument.AddExportSection(‘Pivot’)ActiveDocument.AddExportSection(‘Pivot2’)ActiveDocument.AddExportSection(‘Pivot3’)ActiveDocument.AddExportSection(‘Chart’)ActiveDocument.AddExportSection(’Chart2’)ActiveDocument.AddExportSection(’OLAPQuery’)ActiveDocument.Export(‘C;\\Temp\\MyExportFile.htm’, bqExportFormatHTML)

Page 367: Hyperion Dashboard

AddExportSection (Method) 5-15

Example 2: In this example, selected sections are set to be exported and then later cleared from the export buffer. The Export method in the last part of the script allows all sections in the document to be exported.

//Export SELECTED Sections of .bqy documentDocuments["MyDocument.bqy"].AddExportSection(‘Report’)Documents["MyDocument.bqy"].AddExportSection(‘Report2’)Documents["MyDocument.bqy"].AddExportSection(‘Results’)Documents["MyDocument.bqy"].AddExportSection(‘Table’)Documents["MyDocument.bqy"].AddExportSection(‘Pivot’)Documents["MyDocument.bqy"].AddExportSection(‘Pivot2’)Documents["MyDocument.bqy"].AddExportSection(‘Pivot3’)Documents["MyDocument.bqy"].AddExportSection(‘Chart’)Documents["MyDocument.bqy"].AddExportSection(‘Chart2’)Documents["MyDocument.bqy"].AddExportSection(’OLAPQuery’)Documents["MyDocument.bqy"].Export(‘C;\\Temp\\MyExportFile.htm’, bqExportFormatHTML)ActiveDocument.RemoveExportSections();//Export ALL sections of .bqy document since Export buffer was flushedActiveDocument.Export(‘C;\\Temp\\MyExportFile.htm’, bqExportFormatHTML)

Page 368: Hyperion Dashboard

5-16 Methods

AddFilter (Method)

Applies To: OLAPLabel object

Description: Adds a new filter value and returns an object that represents the new item.

The AddFilter() method supports all operator types for side labels and measures for all supported OLAP engines

The AddFilterValue() method only supports the Select MembersFromDatabase operator type.

Syntax: Expression.AddFilter(BqOperatorType operatorType, BqOperator dataOperator, String value1, String value2, [optional] Boolean IsVariable]

Expression Required: An expression that returns an object for an OLAPLabel object.

Constants: The AddFilterValue (Method) uses the BqOperatorType and BqOperator constant groups.

The BqOperatorType constant group consists of the following values:

bqOperatorTypeBottomN

bqOperatorTypeBottomNPercent

bqOperatorTypeBottomSum

bqOperatorTypeMeasure

bqOperatorTypeSelectByMeasure

bqOperatorTypeSelectMembers

bqOperatorTypeSelectMembersFromDB

bqOperatorTypeSelectMembersFromFile

bqOperatorTypeSubstitutionVariables

bqOperatorTypeTopN

bqOperatorTypeTopNPercent

Page 369: Hyperion Dashboard

AddFilter (Method) 5-17

bqOperatorTypeTopSum

bqOperatorTypeUDA

bqOperatorTypeUndefined

The BqOperator constant group consists of the following values:

bqOperatorBottomN

bqOperatorBottomNPercent

bqOperatorEqual

bqOperatorGreaterThan

bqOperatorGreaterThanOrEqual

bqOperatorLessThan

bqOperatorLessThanOrEqual

bqOperatorMatchMember

bqOperatorNotEqual

bqOperatorTopN

bqyOperatorTopNPercent

bqOperatorUndefined

Example: This example shows you how to create a computed column that concatenates the string “Manager =” with the value in the Store_Manager column.

ActiveDocument.Sections["OLAPQuery"].TopLabels["Year"]AddFilter(bqOLAPFilterOpTypeUserDefAttr, bqOperatorNone,"MyUserDefinedAttrribute","",True);ActiveDocument.Sections["OLAPQuery"].TopLabels["Year"]AddFilter(bqOLAPFilterOpTypeSubVar, bqOperatorNone"MySubstitutionVariable","",False);

Page 370: Hyperion Dashboard

5-18 Methods

AddFilterValue (Method)

Applies To: OLAPLabel, OLAPMeasures

Description: Adds a new filter value and returns an object that represents the new item.

The AddFilterValue() method only supports the Select MembersFromDatabase operator type. The AddFilter() method supports all operator types for side labels and measures for all supported OLAP engines.

Note If you are using this method to apply a filter to a measure value, this method can only be used against an Essbase database. In addition, you cannot use an alias.

Syntax: OLAPLabel.AddFilterValue(MemberName As String, Operator As BqOperator)

OLAPMeasure.AddFilterValue(ColumnIndex As String, Operator As BqOperator, MeasureValue As String)

Expression Required: An expression that returns an OLAPLabel or OLAPMeasure object.

Constants: The AddFilterValue (Method) uses the BqOperator constant group, which consists of the following values:

bqOperatorBottomN

bqOperatorBottomNPercent

bqOperatorEqual

bqOperatorGreaterThan

bqOperatorGreaterThanOrEqual

bqOperatorLessThan

bqOperatorLessThanOrEqual

bqOperatorMatchMember

bqOperatorNotEqual

Page 371: Hyperion Dashboard

AddFilterValue (Method) 5-19

bqOperatorTopN

bqyOperatorTopNPercent

bqOperatorUndefined

Example 1: This example shows you how to add the new filter “AZ” item to the side label.

OQPath = ActiveDocument.Sections["OLAPQuery"]OQPath.SideLabels[1].AddFilterValue(‘AZ’,bqOperatorEqual)OQPath.Process()OQPath.Activate()

Example 2: This example shows you how to add a filter value to a “Profit” measure. In this example, the operator used equals 13,438.

ActiveDocument.Sections["OLAPQuery"].Measures["Profit"].AddFilterValue('1',bqOperatorEqual,'13438')

Page 372: Hyperion Dashboard

5-20 Methods

AddTopic (Method)

Applies To: DefinedJoinPath collection

Description: If you chose to programmatically define your own join paths, use the AddTopics() method of the DefinedJoinPaths (Collection) to select a topic based on an item on the Request or Limit lines. This method corresponds to selecting an available topic on the Define Join Path dialog and adding it to the Topics in Join Path list.

Syntax: ActiveDocument.Sections["Query"]. DataModel.JoinsOptions.DefinedJoinPath[“MyJoinPath”]. AddTopic(String)

Example: In this example, the topic "Products" is added to the MyJoinPath join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath[“MyJoinPath”].AddTopic("Products")

Page 373: Hyperion Dashboard

AddTotal (Method) 5-21

AddTotal (Method)

Applies To: OLAPLabel object (TopLabels and SideLabels object)

Description: Creates an additional column containing the totals for a top or side label.

Syntax: Expression.AddTotals()

Expression Required: An expression that returns a PivotLabel object.

Example 1: This example shows you how to total the side label columns called “Year.”

AActiveDocument.Sections["OLAPQuery"].TopLabels["Year"].AddTotal()

Page 374: Hyperion Dashboard

5-22 Methods

AddTotals (Method)

Applies To: PivotLabels (TopLabels and SideLabels collections)

Description: Creates an additional row or column containing the totals for all columns or rows of the pivot.

Syntax: Expression.AddTotals()

Expression Required: An expression that returns a PivotLabel object.

Example 1: This example shows you how to total the top label columns called “Product ID.”

ActiveDocument.Sections["Pivot"].TopLabels["Product Id"].AddTotals()

Example 2: This example shows you how to a total to the side label rows called “Quarter.”

ActiveDocument.Sections["Pivot"].SideLabels["Quarter"].AddTotals()

Page 375: Hyperion Dashboard

Alert (Method) 5-23

Alert (Method)

Applies To: Application

Description: Displays a simple dialog box. Up to three buttons can be displayed on the dialog with custom names. When the user selects a button, an integer is returned corresponding to the number of the button. If the user selects button #1, the number 1 is returned and so on.

Syntax: Expression.Alert(Prompt As String, [Title As String], [Button1Text As String], [Button2Text As String], [Button3Text As String]) As Integer.

Expression Required: An expression that returns an object for Application.

Example: This example shows you how to display an Alert dialog and process the user’s response.

var ReturnVal =0 ReturnVal = Alert("Please press a button","Alert Title","One","Two","Three")switch (ReturnVal){ case 1: Alert("The user pressed the One button") break;case 2: Alert("The user pressed the Two button") break;case 3: Alert("The user pressed the Three button") break;default: Alert("An error occurred!")}

Page 376: Hyperion Dashboard

5-24 Methods

AliasTable (Method)

Applies To: DBSpecific object (Essbase and DB2 OLAP only)

Description: Allows you to specify an alias in order assign user-friendly names to database physical member and/or generation/level names. Essbase stores the aliases in an Alias Table in the cube. Since a cube can have multiple alias tables, you can select the alias table to use and modify the query based on the value you enter.

The AliasTable() method prompts the user to process the query. The PromptOption argument determines if a dialog appears so that the user can specify a value of either 1 (OK) or 2 (Cancel). The PromptDialog determines if the dialog appears. The two arguments can work together or separately. If both arguments are specified, the dialog appears with the prompt option as the default option selected (user can then change the option when prompted with dialog). If only the PromptOption argument is specified, no dialog appears and the prompt option is executed. If only the PromptDialog argument is specified, the dialog appears with the default prompt of “OK”. If neither option is specified, then no dialog appears and the default option of “OK “ is assumed.

The AliasTable (Method) prompts user to process.

Syntax: Expression.AliasTable(String AliasTableName,Number PromptOption, Boolean PromptDialog)

Expression Required: An expression that returns a DB specific object.

Example: This example calls the Beep function of the Kernal32.dll for 4 seconds with 5000Hz:

ActiveDocument.Sections["OLAPQuery"].DBSpecific.AliasTable("default", 2, false)

Page 377: Hyperion Dashboard

AuditSQL (Method) 5-25

AuditSQL (Method)

Applies To: Query object, DataModel object

Description: Allows you to define a SQL Statement that is executed when the audit event is triggered. That is, you record how Intelligence Clients, a database server, or network resources are being used. When triggered, the SQL statements update an audit log table, which the administrator can query independently to track and analyze usage data.

Syntax: Expression.AuditSQL(EventType As BqAuditEventType, SQLStatement As String)

Expression Required: An expression that returns a Query Object.

Constants: The BqAuditEventType constant group consists of the following values:

bqAuditDataModelRefresh

bqAuditDetail View

bqAuditLimitShowValues

bqAuditLogoff

bqAuditLogon

bqAuditNewDataModel

bqAuditPostProcess

bqAuditPreProcess

Example 1: In this example, an audit event is triggered when the user logs ons.

ActiveDocument.Sections["Query"].DataModel.AuditSQl(bqAuditLogon,"Select username from all_users")

Example 2: In this example, an audit event is triggered when the user logs off.

ActiveDocument.Sections["Query"].DataModel.AuditSQl(bqAuditLogoff,"Select username from all_users")

Page 378: Hyperion Dashboard

5-26 Methods

Example 3: In this example, an audit event is triggered when “Process” is selected, but before the SQL query statement is executed.

ActiveDocument.Sections["Query"].DataModel.AuditSQl(bqAuditPreProcess,"Select username from all_users")

Example 4: In this example, an audit event is triggered when the final row in the result set is retrieved to the client workstation.

ActiveDocument.Sections["Query"].DataModel.AuditSQl(bqAuditPostProcess,"Select username from all_users")

Page 379: Hyperion Dashboard

AutoSizeHeight (Method) 5-27

AutoSizeHeight (Method)

Applies To: PivotLabel collection, PivotFact object, OLAPLabel object, OLAPMeasure object

Description: By default, Intelligence Clients truncates Pivot fact columns evenly and without regard to the length or height of data values. Numeric data that does not fit within the height or length of the cell is replaced with pound signs (#).To size the height of a Pivot fact column automatically so that all values are displayed within the column, use the AutoSizeHeight method.

Syntax: Expression.AutoSizeHeight()

Expression Required: An expression that autosizes the height of a Pivot Fact column.

Example: This example shows you how auto size the height and the width of the "Unit Sales" fact column.

ActiveDocument.Sections["Pivot"].Facts["Unit Sales"].AutoSizeHeight()ActiveDocument.Sections["Pivot"].Facts["Unit Sales"].AutoSizeWidth()

Page 380: Hyperion Dashboard

5-28 Methods

AutoSizeWidth (Method)

Applies To: PivotLabel collection, PivotFact object, OLAPLabel object,OLAPMeasure object

Description: By default, Intelligence Clients truncates Pivot fact columns evenly and without regard to the length or height of data values. Numeric data that does not fit within the height or length of the cell is replaced with pound signs (#).To size the width of a Pivot fact column automatically so that all values are displayed within the column, use the AutoSizeWidth method.

Syntax: Expression.AutoSizeWidth()

Expression Required: An expression that autosizes the width of a Pivot Fact column.

Example: This example shows you how to auto size the height and the width of the "Unit Sales" fact column.

ActiveDocument.Sections["Pivot"].Facts["Unit Sales"].AutoSizeWidth()ActiveDocument.Sections["Pivot"].Facts["Unit Sales"].AutoSizeHeight()

Page 381: Hyperion Dashboard

Call (Method) 5-29

Call (Method)

Applies To: SharedLibrary

Description: Use the call method to invoke functions in external dlls.

Syntax: Expression.Call(sFunctionName As String, sArgumentType As String, [arg1], [arg2], [arg3], [arg4], [arg5], [arg6], [arg7], [arg8])

Expression Required: An expression that returns a SharedLibrary object.

Example: This example calls the Beep function of the Kernal32.dll for 4 seconds with 5000Hz:

var oLibrary;oLibrary = LoadSharedLibrary("kernel32.dll");oLibrary.Call("Beep", "UI,UI", 5000, 4000);

Page 382: Hyperion Dashboard

5-30 Methods

ChartThisPivot (Method)

Applies To: PivotSection object

Description: Creates a new chart section using the criteria defined in a Pivot section.

Syntax: Expression.ChartThisPivot()

Expression Required: An expression that returns an object for the ChartSection.

Example: This example shows you how to chart a pivot and then change the display characteristics of the chart.

MyChart = ActiveDocument.Sections["Pivot"].ChartThisPivot()MyChart.Title = "Chart Created from Pivot"

Page 383: Hyperion Dashboard

Close (Method) 5-31

Close (Method)

Applies To: Document object, WebClientDocument

Description: Closes the document. This method is equivalent to selecting File→Close.

Note The Document.Close() object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.Close([SaveChanges As Boolean])

Expression Required: An expression that returns a Document or WebClientDocument object.

Example: This example shows you how to close all the open documents in the application.

var OpenDocs = Documents.Countfor (j = 1 ; j <= OpenDocs ; j++) Documents[j].Close()

Page 384: Hyperion Dashboard

5-32 Methods

Connect (Method)

Applies To: Connection object, MetaDataConnection object

Description: Establishes a connection to the database using the criteria set in the connection object. (The Connection object represents either a Connection File (OCE) or the connection to a database associated ultimately with a specific query section, or less commonly a specific data model section.)

The Connect method optionally relies on the GetCredentials argument for pre Release 8.2 credential information.

GetCredentials Argument

The GetCredentials argument provides backward compatibility for users who need to make connections using a script created prior to Release 8.2. The GetCredentials argument takes a boolean value.

When the GetCredentials argument is used in the Designer/Explorer application, you are prompted to supply the user ID and password, and optionally a database name. The prompt is the same one used when the UI requests credentials, such as when you click the Process button and the connection status is "disconnected".

If the GetCredentials argument is false when the Connect() method is invoked, whatever credentials have been supplied with the Username property together with a call to the Connection's SetPassword() method are used to establish the connection. If no credentials have been explicitly supplied by these means, you will get a standard database error. When the GetCredentials parameter is used in the Web based client applications, the credentials for the user are obtained following the rules established by the Foundation and by the publishers of the OCE and document content. For example, if the OCE associated with the query is set to prompt the user when the document was published,, you will be prompted; if at publishing time, the credentials were supplied ("Specify Now"), then those credentials are used; and so on.

The GetCredentials parameter by default is false. This parameter is persisted as part of a script; it is not saved with the BQY file, and when a BQY file is opened, it is set to its default value. The user must explicitly change the setting of GetCredentials if need be before calling the Connect() method.

Page 385: Hyperion Dashboard

Connect (Method) 5-33

Syntax: Expression.Connect([optional] Boolean GetCredentials)

Expression Required: An expression that returns a Connection object.

Example 1: This example shows you how to establish a connection with a database using the connection object.

MyConnection = ActiveDocument.Sections["Query"].DataModel.ConnectionMyConnection.Open("c:\\OCEs\\SampleDB.oce")MyConnection.Username = "brio"MyConnection.SetPassword("brio")MyConnection.Connect(true)

Example 2: This example shows you how to use the Disconnect (Method) to disconnect the current connection, and connect to another database. Note that the Disconnect (Method) is available for Designer only.

// < disconnects the current connectionif (ActiveDocument.Sections["Query"].DataModel.Connection.Connected == true){ActiveDocument.Sections["Query"].DataModel.Connection.Disconnect()}else{// < connect to another database MyConnection = ActiveDocument.Sections["Query"].DataModel.Connection MyConnection.Open("c:\\OCEs\\myNewSalesOCE.oce") MyConnection.Connect(true) }

Page 386: Hyperion Dashboard

5-34 Methods

Copy (Method)

Applies To: ChartSection, DataModelSection, DashboardSection, PivotSection object, QuerySection object, OLAPQuery object, Section object, TableSection, ReportSection object

Description: Makes a copy of the section and puts in on the clipboard.

Syntax: Expression.Copy()

Expression Required: An expression that returns an object for any of the following:

ChartSection

DataModelSection

DashboardSection

OLAPQuerySection

PivotSection

QuerySection

Section

TableSection

Example: This example shows you how to copy an entire Results section to the clipboard.

ActiveDocument.Sections["Results"].Copy()

Page 387: Hyperion Dashboard

CreateConnection (Method) 5-35

CreateConnection (Method)

Applies To: Application

Description: Creates a stand-alone connection object. Use this method to create oce files, which are not automatically associated with a Data Model. CreateConnection() returns a connection object. Refer to the Connection (Object) for a complete list of its methods and properties.

Note The Application.CreateConnection() object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.CreateConnection() As Connection

Expression Required: An expression that returns an Application object.

Example: This example shows you how to create a connection from scratch, save it as an OCE and use it as the current connection. In this example, the hostname uses the ODBC datasource name “Bookmart”.

var myCon = CreateConnection()myCon.Api = bqApiODBCmyCon.Database = bqDatabaseODBCmyCon.HostName = "Bookmart"myCon.SaveAs("c:\\temp\\bookmart.oce")var MyQuery = ActiveDocument.Sections.Add(bqQuery)MyQuery.DataModel.Connection.Open("c:\\temp\\bookmart.oce")MyQuery.DataModel.Connection.Connect()

Page 388: Hyperion Dashboard

5-36 Methods

CreateDateGroup (Method)

Applies To: Column

Description: Creates a date group from a Results or Table column. The data in the column must be a date.

Syntax: Expression.CreateDateGroup()

Expression Required: An expression that returns a Column object.

Example: This example searches through a result set for a date column and creates a date group.

ColCount = ActiveDocument.Sections["Results"].Columns.Countfor (i = 1; i <= ColCount ; i++){if ( ActiveDocument.Sections["Results"].Columns[i].DataType ==bqDataTypeDate) ActiveDocument.Sections["Results"].Columns[i].CreateDateGroup()}

Page 389: Hyperion Dashboard

CreateLimit (Method) 5-37

CreateLimit (Method)

Applies To: AggregateLimits collection, Limits collection

Description: Creates a stand alone limit object. Use the CreateLimit method to create new limits. After creating the limit, complete its properties before adding it to the limits collection.

Syntax: Expression.CreateLimit(limitItem As String) As Limit

Note The argument for CreateLimit method is different for regular limits, computed item limits, and aggregate limits. For regular limits the argument is a reference to the table topic and the topic item, for example, CreateLimit(“Sales_Facts.Amount_Sales”). For both computed item limits and aggregate limits the argument is a reference to the item’s Display Name on the request line, for example, CreateLimit(“Request.Amount Sales”).

Expression Required: An expression that returns a Limits object.

Example 1: This example shows you how to create a results limit. When creating a local (results) limit the value for the LimitItem parameter needs to be the name of the column the limit is being applied to.

MyLimit = ActiveDocument.Sections["Results"].Limits.CreateLimit("State")MyLimit.Operator = bqLimitOperatorEqualMyLimit.CustomValues.Add("CA")MyLimit.SelectedValues.Add("CA")ActiveDocument.Sections["Results"].Limits.Add(MyLimit)ActiveDocument.Sections["Results"].Limits[1].DisplayName = "State" Expression Required:

An expression that returns a query object.

Page 390: Hyperion Dashboard

5-38 Methods

Example 2: This example sets the FROM clause and the WHERE clause, processes the query, and then restores the original SQL statement.

//Set the FROM clause, Set the WHERE clause, PROCESS, and then RESET SQLActiveDocument.Sections["Query"].CustomSQLFrom("FROM From.Sales_Fact, From.Periods, From.Products") ActiveDocument.Sections["Query"].CustomSQLWhere("WHERE (Periods.Day_Id=Sales_Fact.Day_Id AND Products.Product_Id=Sales_Fact.Product_Id) AND (Periods.Quarter='Q1')")ActiveDocument.Sections["Query"].Process()ActiveDocument.Sections["Query"].ResetCustomSQL();

Page 391: Hyperion Dashboard

CustomSQLFrom (Method) 5-39

CustomSQLFrom (Method)

Applies To: QuerySection object

Description: Sets the FROM clause of a SQL statement prior to processing.

The FROM clause indicates which tables are to be referenced when the SELECT statement is processed.

The From clause will be appended to your custom SQL each time the CustomSQLFrom method is activated. To clear any clauses appended to the Custom SQL statement, use the ResetCustomerSQL (Method).

CustomSQLFrom, CustomSQLWhere (Method), and ResetCustomerSQL (Method) correspond to the edit SQL functionality in the user interface's Custom SQL dialog. However, no Custom SQL dialog will display when this method is executed.

Note The data model of the query must have at least one table to use the Custom SQL feature either through the user interface or programmatically. If no table exists, then the Console Window displays: “Script(x):uncaught exception:Invalid String”.

Note You can use the CustomSQLFrom method to define all of the SQL (including the WHERE clause) in the Custom SQL window. If a query includes temporary tables and correlated subqueries, it is recommended that you use CustomSQLFrom method to define all of the SQL.

Syntax: Expression.CustomSQLFrom(String CustomSQLStr)

Expression Required: An expression that returns a query object.

Example: This example sets the FROM clause, the WHERE clause, next processes the query and then restores the original SQL statement.

//Set the FROM clause, Set the WHERE clause, and PROCESS, and then RESET SQLActiveDocument.Sections["Query"].CustomSQLFrom(‘FROM From.Sales_Fact, From.Periods, From.Products’)

Page 392: Hyperion Dashboard

5-40 Methods

ActiveDocument.Sections["Query"].CustomSQLWhere(‘WHERE (Periods.Day_Id=Sales_Fact.Day_Id AND Products.Product_Id=Sales_Fact.Product_Id) AND (Periods.Quarter='Q1')’)ActiveDocument.Sections["Query"].Process()ActiveDocument.Sections["Query"].ResetCustomSQL();

Page 393: Hyperion Dashboard

CustomSQLWhere (Method) 5-41

CustomSQLWhere (Method)

Applies To: QuerySection object

Description Sets the WHERE clause of an SQL statement prior to processing, overwriting any SQL from the initial “where” clause to the end of the SQL statement.

This is a useful method when you want to create a query which references temporary tables, and you need to write the SQL “WHERE” clause to derive effective database indicies.

The WHERE clause identifies which rows to use in a table based on selected criteria. The CustomSQLWhere (Method), the CustomSQLFrom (Method) and the ResetCustomerSQL (Method) correspond to the edit SQL functionality in the user interface's Custom SQL dialog. However, no Custom SQL dialog will display when this method is executed.

Note The data model of the query must have at least one table to use the Custom SQL feature either through the user interface or programmatically. If no table exists, then the Console Window displays: “Script(x):uncaught exception:Invalid String”.

Syntax: Expression.CustomSQLWhere(CustomSQLStr As String)

Expression Required: An expression that returns a query object.

Example: This example sets the FROM clause and the WHERE clause, processes the query, and then restores the original SQL statement.

//Set the FROM clause, Set the WHERE clause, PROCESS, and then RESET SQLActiveDocument.Sections["Query"].CustomSQLFrom("FROM From.Sales_Fact, From.Periods, From.Products") ActiveDocument.Sections["Query"].CustomSQLWhere("WHERE (Periods.Day_Id=Sales_Fact.Day_Id AND Products.Product_Id=Sales_Fact.Product_Id) AND (Periods.Quarter='Q1')")ActiveDocument.Sections["Query"].Process()ActiveDocument.Sections["Query"].ResetCustomSQL();

Page 394: Hyperion Dashboard

5-42 Methods

Disconnect (Method)

Applies To: Connection object, MetaDataConnection object

Description: Drops the connection between the connection object and the datasource.

Syntax: Expression.Disconnect()

Expression Required: An expression that returns a Connection object.

Example: This example shows you how to disconnect from the database.

if (ActiveDocument.Sections["Query"].DataModel.Connection.Connected == true) ActiveDocument.Sections["Query"].DataModel.Connection.Disconnect()

Page 395: Hyperion Dashboard

DoEvents (Method) 5-43

DoEvents (Method)

Applies To: Application

Description: The DoEvents() method halts a script from executing and switches control to the operating-environment kernel so that the application can respond to pending or queued events. This method is typically placed at the end of a for statement. It is usually included in a script that runs continuously and displays live data.

Note The Application.DoEvents() object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Application.DoEvents()

Example: The following script processes a query five times with limits. A DoEvents method is included to display the applied limits each time the query is processed.

function Wait(ms){var oStart = new Date();var oNow = new Date();

while (oNow.getTime() - oStart.getTime() < ms){

oNow = new Date() ;DoEvents();

}}

for (i=1;i<=5 ;i++){

// do something if(ActiveDocument.Sections["Query"].Limits[2].Ignore ==false)

ActiveDocument.Sections["Query"].Limits[2].Ignore=true;else

ActiveDocument.Sections["Query"].Limits[2].Ignore=false;Console.Write("processing number: "+i+"\n")ActiveDocument.Sections["Query"].Process()

Wait(9000) }

Page 396: Hyperion Dashboard

5-44 Methods

DownloadToResults (Method)

Applies To: OLAPQuery object

Description: The DownloadToResults method allows you to download the OLAPQuery data set to an OLAPResults section within the document. Once an OLAPResults section has been created, it is automatically refreshed with data from its associated OLAP Query section at each process of the section. When downloaded, the OLAPQuery can be integrated with the Chart, Table and reporting sections.

If you expect the query to retrieve a small to medium sized dataset, it is recommended that you use the automatic download feature from the OLAP→Tools→Options→Program Options→OLAP tab→Auto Generate Results When Processing OLAP Query. If you choose this option, note that the results sets is not created for the current OLAP query, but only for new OLAP Query sections. Also note that in some circumstances when querying large amounts of data, the automatic creation of an OLAPResults section may result in a slight reduction in the query performance. Using the manual download feature either through the menu option or the DownloadToResults method is the preferred method in this case.

If you create dependent OLAP sections from an OLAPQuery section without database totals, and later attempt to enable the database totals function, the local break totals and grand totals may not accurately reflect the correct totals.

Syntax: Expression.DownloadToResults()

Example: The following script has been associated with a OnClick event. When the user clicks a command button, an OLAPResults section is generated and appears in the Catalog pane:

ActiveDocument.Sections["OLAPQuery"].DownloadToResults()

Page 397: Hyperion Dashboard

DrillDown (Method) 5-45

DrillDown (Method)

Applies To: TopLabels collection, SideLabels collection, Measures collection

Note DrillDown and DrillUp Measures are specific to Essbase and DB2 for OLAP.

Description: Executes the drill down value set up through the AddDrillValue (Method).

Syntax: Expression.DrillDown()

Expression Required: An expression that executes a drill down value.

Example: This example shows you how to execute the drill down value “State” added through the AddDrillValue method.

ActiveDocument.Sections["OLAPQuery"].SideLabels.AddDrillValue("State")ActiveDocument.Sections["OLAPQuery"].SideLabels.DrillDown()

Page 398: Hyperion Dashboard

5-46 Methods

DrillThrough (Method)

Applies To: OLAPQuery object

Description: Executes the drill through from a mulit-dimensional database to a relational database. The DrillThrough() method assumes that a connection to both relational and OLAP queries have been set up correctly. This method may be used in conjunction with the AddDrillThroughValue (Method).

Also note the following three optional arguments:

promptOption (Number) –Specifiy either: 1.)NewPivot, 2.)UpdatePivot, or 3.)Cancel for the prompt option. If you do not specify a prompt option , the default is 1 (NewPivot).

pivotName (String)–Specify the name of either the existing pivot to update if UpdatePivot is selected as the PromptOption; if not specified and required, the default is the first pivot in the dropdown list (which is also the first in catalog pane).

promptDialog (Boolean)–Specify if the dialog prompts willappear. If this option is enabled, all related prompts appear. If this option is, no prompts appear and default values are assumed.

Also note that the dialog prompt for DrillThrough() is not a requirement in the Intelligence iServer. In the Intelligence iServer, the Prompt Dialog is ignored and the default Prompt Option is taken. If a Prompt Option is not specified, the default of New Pivot is assumed.

Syntax: Expression.DrillThrough([optional] Number [promptOption, [optional] String pivotName, [optional] Boolean promptDialog]

Expression Required: An expression that executes a drill through command .

Example: This example shows you how to drill up a drilled down value

ActiveDocument.Sections["OLAPQuery"].DrillThrough( 2,"Pivot",true)

Page 399: Hyperion Dashboard

DrillUp (Method) 5-47

DrillUp (Method)

Applies To: TopLabels collection, SideLabels collection, Measures collection

Description: Drills up the value drilled down AddDrillValue (Method).

Note DrillDown and DrillUp Measures are specific to Essbase and DB2 for OLAP.

Syntax: Expression.DrillUp

Expression Required: An expression that executes a drill up on a label or measure value.

Example: This example shows you how to drill up a side label.

ActiveDocument.Sections["OLAPQuery"].SideLabels.DrillUp()

Page 400: Hyperion Dashboard

5-48 Methods

Duplicate (Method)

Applies To: ChartSection, DataModelSection, DashboardSection, OLAPQuerySection, PivotSection object, QuerySection object, ResultsSection object, TableSection, ReportSection

Description: Creates an exact copy of a section.

Syntax: Expression.Duplicate()

Expression Required: An expression that returns an object for any of the following:

ChartSection

DataModelSection

DashboardSection

PivotSection

ReportSection

Example: This example creates a duplicate of the Chart section. The new section label is based on the original section label name, but shows the section label number. For example if you duplicated the chart three times, the section pane would show: Chart, Chart2, and Chart3.

ActiveDocument.Sections["Chart"].Duplicate()

Page 401: Hyperion Dashboard

ExecuteBScript (Method) 5-49

ExecuteBScript (Method)

Applies To: Application

Description: Executes Intelligence Clients’s old scripting language commands. By default, all old scripts are wrapped by this function when they are converted from an old document.

Syntax: Expression.ExecuteBScript(Script As String)

Expression Required: An expression that returns an Application object.

Example: This example shows a translated 5.x script:

Commands can be separated by semicolons or placed on individual lines.

ExecuteBScript("set logon root, 'OCENAME', 'test.oce'")ExecuteBScript("connect logon root; show doc root, 'sectiontab'; hide doc root, 'requestline'")

Page 402: Hyperion Dashboard

5-50 Methods

Export (Method)

Applies To: ChartSection, DataModelSection, Document object, DashboardSection object, OLAPQuerySection, PivotSection object, QuerySection, ResultsSection object, Section object, TableSection, ReportSection

Description: Creates a new file with the information from a section object. Files can be created using the standard data formats from the BqExportFileFormat constant group.

Syntax: Expression.Export(Filename As String, [optional] FileFormat As BqExportFileFormat, [optional]IncludeHeaders As Boolean], [optional] Boolean Prompt)

Expression Required: An expression that returns an object for any of the following:

ChartSection

DataModelSection

DashboardSection

OLAPQuerySection

PivotSection

QuerySection

Section

TableSection

Constants: The BqExportFileFormat constant group consists of the following values:

bqExportFileFormatCSV

bqExportFileFormatExcel2

bqExportFileFormatExcel5

bqExportFileFormatHTML

bqExportFileFormatJPEG

Page 403: Hyperion Dashboard

Export (Method) 5-51

bqExportFileFormatLotus123

bqExportFormatPDF

bqExportFileFormatText

For information on exporting a bqy file to html format statically, see HTMLExportBreakRowCount (Property) and HTMLVerticalPageBreakUnits (Property).

For information on exporting a bqy file to the html format dynamically (for use with the Intelligence iServers), see HTMLPregenerateMode (Property), HTMLPregenerateFirstLastNPages (Property), DHTMLExportBreakRowCount (Property) and DHTMLVerticalPageBreakUnits (Property).

Example: This example shows you how to export a Results section to HTML. The first part of the script creates a computed column that displays the contents of the “URL” columns as HTML HREFs.

//Call the JavaScript link() method to convert the string to HREFsvar ComputedExpression = "URL.link()"ActiveDocument.Sections["Results"].Columns.AddComputed("Clickable URLS",ComputedExpression)ActiveDocument.Sections["Results"].Export("C:\\HTML\\MyResults.htm", bqExportFormatHTML,false)

Page 404: Hyperion Dashboard

5-52 Methods

ExportToStream (Method)

Applies To: ChartSection, DataModelSection, Document object, DashboardSection object, OLAPQuerySection, PivotSection object, QuerySection, ResultsSection object, Section object, TableSection, ReportSection

Description: Enables data streaming in Intelligence iServer client. Streamed data displays before the entire file is exported. This feature improves performance.

If the the filename and associated path information are specified when this method is used in the Intelligence iServer, this information is ignored when streaming is enabled. In the case of the full clients (Designer/Explorer), the filename and associated path information are used for writing data to disk with no additional errors cited when streaming is enabled (as in the case of export without streaming).

Syntax: Expression.[optional]String Filename,

[optional]BqExportFileFormat FileFormat,

[optional]Boolean IncludeHeaders,

[optional]Boolean DataStreaming,

[optional]Boolean Prompt )

Expression Required: An expression that returns an object for any of the following:

ChartSection

DataModelSection

DashboardSection

OLAPQuerySection

PivotSection

QuerySection

Section

TableSection

Page 405: Hyperion Dashboard

ExportToStream (Method) 5-53

Constants: The ExportToStream (Method) uses the BqExportFileFormat constant group, which consists of the following values:

bqExportFileFormatCSV

bqExportFileFormatExcel2

bqExportFileFormatExcel5

bqExportFileFormatHTML

bqExportFileFormatJPEG

bqExportFileFormatLotus123

bqExportFormatPDF

bqExportFileFormatText

Example: This example shows you how to export a Results section in a data stream to HTML.Since the “streaming” is enabled, no filename and associated path information have been specified.

ActiveDocument.Sections["Results"].ExportToStream("", bqExportFormatHTML, false, true, false)

Page 406: Hyperion Dashboard

5-54 Methods

FocusSelection (Method)

Applies To: AxisLabels (XLabels, YLabels, and ZLabels)

Description: Allows you to single out selected label value item(s), enabling you to concentrate your view to particular item(s) of interest.

Note You must specify the label value(s) item in an array before using the FocusSelection method.

Syntax: Expression.FocusSelection(ItemArray As Value)

Expression Required: An expression that focuses a LabelValues item.

Example: This example shows you how to include LabelValues items 1 and 3 in an array and then focus them in the Chart.

var NewArray = new Array()NewArray[0]=ActiveDocument.Sections["AllChart"].XLabels.LabelValues.Item(1)NewArray[1]=ActiveDocument.Sections["AllChart"].XLabels.LabelValues.Item(2)ActiveDocument.Sections["AllChart"].XLabels.FocusSelection(NewArray)

Page 407: Hyperion Dashboard

GetCell (Method) 5-55

GetCell (Method)

Applies To: Column, ResultsSection object, TableSection

Description: Returns the value of an individual cell in a Results or Table section.

Syntax: Expression.GetCell(nRow As Long) as variantExpression.GetCell(nRow As Long, nCol as Long)

Expression Required: An expression that returns a Column or a TableSection object.

Example: This example shows you how to populate a listbox from the values in a Results section.

var MyList = ActiveDocument.Sections["Dashboard"].Controls["ListBox"]var RowCount = ActiveDocument.Sections["Results"].RowCountvar MyCol = ActiveDocument.Sections["Results"].Columns["State"]for (j = 1 ; j <= RowCount ; j = j+1){ var Temp = MyCol.GetCell(j) MyList.Add(Temp)}

Page 408: Hyperion Dashboard

5-56 Methods

Hide (Method)

Applies To: Chart Fact object

Description: Allows you to hide a chart fact object. When this script is executed for a Chart object, the selected item is removed from the Y-Facts area of the Chart Outliner.

Syntax: Expression.Hide()

Expression Required: An expression that hides a Chart Fact object.

Example1 : This example shows you how to hide the fact “Amount Sales.”

ActiveDocument.Sections["Chart"].Facts["Amount Sales"].Hide()

Page 409: Hyperion Dashboard

HideSelection (Method) 5-57

HideSelection (Method)

Applies To: AxisLabels (XLabels, Ylabels and ZLabels)

Description: Allows you to hide selected label value item(s), enabling you to concentrate your view to selected item(s) of interest.

Note You must specify the label value(s) item in an Array before using the HideSelection method.

Syntax: Expression.HideSelection(ItemArray As Value)

Expression Required: An expression that hides a LabelValues item.

Example: This example shows you how to include LabelValues items 1 and 3 in an array and then hide them in the Chart.

var NewArray = new Array()NewArray[0]=ActiveDocument.Sections["AllChart"].XLabels.LabelValues.Item(1)NewArray[1]=ActiveDocument.Sections["AllChart"].XLabels.LabelValues.Item(2)ActiveDocument.Sections["AllChart"].XLabels.HideSelection(NewArray)

Page 410: Hyperion Dashboard

5-58 Methods

ImportDataFile (Method)

Applies To: Sections collection, WebClientDocument

Description: Imports a data file into a Query section.

Syntax: Expression.Import(Filename As String, FileType As BqImportDataFileFormat)

Expression Required: An expression that returns a Sections object.

Constants: The BqImportDataFileFormat constant group contains the following values:

bqImportFormatCommaText

bqImportFormatExcel

bqImportFormatTabText

Example: This example shows how to import a comma separated data file.

var Filename = "C:\\Imports\SalesData.csv"var MySection = ActiveDocument.Sections.ImportDataFile(Filename, bqImportFormatCommaText)

Page 411: Hyperion Dashboard

ImportSQLFile (Method) 5-59

ImportSQLFile (Method)

Applies To: QuerySection

Description: Imports a complete SQL statement from a text file into an existing query, and retrieves the data set from the database server. When the file is imported, it is scanned to determine the number of columns that will be returned by the SQL, with the request line becoming populated with a column indicator for each of the columns. Using this feature, you can take advantage of SQL statements you have already written.

Before using this method, be sure that you are connected to a database server. The Query section to which you are importing the SQL must have no tables. In addition, the SQL file to be imported must begin with a SELECT statement and you should know the number of columns to be displayed in the Results section.Once the SQL file has been imported into the query you can drag items from the table onto the Request line, use the custom SQL feature, or display its properties.The imported SQL file cannot be edited, but you can specify a user-friendly name for the Request line item and identify its data type.

Syntax: Expression.ImportSQLFile(Filename As String,numColumns As Number)

Expression Required: An expression that returns a Query object.

Example: This example shows you how to set the imported SQL file name, and process the query.

var Filename = "C:\\Program Files\\Brio\\BrioQuery\\Samples \\SQLLoad\\SalesData.sql"var MySection = ActiveDocument.Sections["Query"].ImportSQLFile(Filename, 2)ActiveDocument.Sections["Query"].Process()

Page 412: Hyperion Dashboard

5-60 Methods

InterruptQueryProcess (Method)

Applies To: Document object

Description: The InterruptQueryProcess() method is a Intelligence Clients document level function. This method stops the processing sequence and should only be used in the OnPreProcess (Method) event. The method takes no arguments.

Syntax: Expression.InterruptQueryProcess()

Expression Required: Intelligence Clients document

Example: This example displays the OnInterruptQueryProcess method for an active document.

ActiveDocument.InterruptQueryProcess()

Page 413: Hyperion Dashboard

Item (Method) 5-61

Item (Method)

Applies To: AggregateLimits collection, AppendQueries collection, Columns collection, Controls, ControlsDropDown, ControlsListBox, DMCatalogItems collection, DMResults, Documents collection, Joins, Limits, LimitValues, ListSelection, Parentheses collection, PivotLabel object, PivotLabelTotals collection, Values, RecentFiles, Requests collection, Results collection, Sections collection, SortItems collection, Shapes, Toolbars, TopicItems collection, TopLabels collection, Topics collection

Description: This is the accessor function for all collections. Item is the default method used by all collections. It returns the value of an item in a collection referred to by the name or index.

Note The Session.Form.Item (), Session.URL.Item(), and Session.Cookies.Item() object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.Item(NameOrIndex) As Object

Expression Required: An expression that returns an object for any of the following objects:

Column

Control

ControlsDropDown

ControlsListBox

DerivableQueries

DMCatalogItem

DMResults

Document

Join

LabelValues

Page 414: Hyperion Dashboard

5-62 Methods

Limit

LimitValues

ListSelection

LocalJoins

LocalResults

OLAPLabel

OLAPMeasure

OLAPSlicer

PivotLabel

PivotLabelValue

RecentFiles

Request

Section

Shape

SortItems

Toolbar

TopicItem

Topic

Example: This example shows you how to return the third section, named “Query”, in the current document.

var MySection = ActiveDocument.Sections.Item(3)orvar MySection = ActiveDocument.Sections[3]orvar MySection = ActiveDocument.Sections.Item("Query")orvar MySection = ActiveDocument.Sections["Query"]

Page 415: Hyperion Dashboard

ItemIndex (Method) 5-63

ItemIndex (Method)

Applies To: Listbox

Description: Sets the index value of each value in a listbox.

Syntax: Expression.ItemIndex(Number nIndex)

Example: This example shows you how to return the third index value.

ListBox1.SelectedList.ItemIndex()

Page 416: Hyperion Dashboard

5-64 Methods

Layer (Method)

Applies To: Field object, Table object, ReportPivot collection, ReportChart collection, Shapes collection

Description: Sets the value of the layer value of an object in the report section. A single object can be layered (stacked) in relative position to other objects. The layer options include four rearrangement options: Send to Front, Send to Back, Bring Forward, and Send Backward.

Send to Front brings the object all the way front and puts the object at the front of the stack.

Send to Back sends the object all the way back and puts the object on the bottom of the stack. For example, if there are a square on the bottom, a triangle on top of the square and a circle on top of the triangle, and you apply "Send to Back" to the circle, it will place the circle at the bottom of the stack. The new order of the objects from bottom to top wil now be: circle, square, triangle.

Bring Forward brings an object forward one layer. For example, if there are a square on the bottom, a triangle on top of the square and a circle on top of the triangle, and you apply "Bring Forward" to the triangle, it will be placed at layer forward. The new order of the objects from top to bottom will be triangle, circle, and square.

Send Backward sends the object back one layer. Given the same initial placement of triangle, square, and circle layered from bottom to top, applying "Send Backward" to the circle will place the circle one layer down. The new order of the objects from bottom to top will be square, circle, triangle.

Syntax: Expression.Spring(Name as String)

Expression Required: An expression that layers a report object.

Page 417: Hyperion Dashboard

Layer (Method) 5-65

Constants: The Layer method uses the BqLayer constant group. This group consists of the following values:

bqLayerBack

bqLayerBackward

bqLayerForward

bqLayerFront

Example: This example shows you how to reposition the Pivot object one object forward.

ActiveDocument.Sections["Report"].Body.Pivots["Pivot"].Layer(bqLayerForward)

Page 418: Hyperion Dashboard

5-66 Methods

LoadFromFile (Method)

Applies To: Limit

Description: Loads a list of values into a limit from a file.

Syntax: Expression.LoadFromFile(Filename As String) As Boolean

Expression Required: An expression that returns a Limit object.

Example: This example loads a list of values from a file named limits.txt into a query limit on the “Store_Id” topic item.

var Filename = "d:\\LimitData.txt"ActiveDocument.Sections["Query"].Limits["Store_Id"].LoadFromFile(Filename)

Page 419: Hyperion Dashboard

LoadSharedLibrary (Method) 5-67

LoadSharedLibrary (Method)

Applies To: Application

Description: Initializes the communication between Intelligence Clients and an external shared library (dll). Returns a SharedLibrary object that can be used to invoke functions of the shared library.

Note The Application.LoadSharedLibrary() object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.LoadSharedLibrary(Name As String) As SharedLibrary

Expression Required: An expression that returns an Application object.

Example: This example calls the Beep function of the Kernal32.dll for 4 seconds with 5000Hz.

var oLibrary;oLibrary = LoadSharedLibrary("kernel32.dll");oLibrary.Call("Beep", "UI,UI", 5000, 4000);

Page 420: Hyperion Dashboard

5-68 Methods

ModifyComputed (Method)

Applies To: Columns collection

Description: Enables you to reference an existing column and change its expression while still maintaining the column name (that is, without having to delete and recreate the column which might be used by other columns).

Syntax: Expression.ModifyComputed(NameOrIndex As Value, Expression As String)

Expression Required: An expression that returns a Columns object.

Example: The first part of the script adds four undefined computed columns. The second part of the script resolves the errors in the computed columns.

//This expression causes the four computed items to become undefinedActiveDocument.Sections["Results"].Columns.AddComputed("Twice","Unit_Sales * 2");ActiveDocument.Sections["Results"].Columns.AddComputed("Fours","Twice * 2")ActiveDocument.Sections["Results"].Columns["Twice"].Remove()ActiveDocument.Sections["Query"].Process()ActiveDocument.Sections["Results"].Columns.AddComputed("Twice","Unit_Sales * 3");//This expression resolves the problemActiveDocument.Sections["Results"].Columns.AddComputed("Twice","Unit_Sales * 2");ActiveDocument.Sections["Results"].Columns.AddComputed("Fours","Twice * 2")ActiveDocument.Sections["Query"].Process()ActiveDocument.Sections["Results"].Columns.ModifyComputed("Twice", "Unit_Sales *3";

Page 421: Hyperion Dashboard

ModifyRepositoryFileOther (Method) 5-69

ModifyRepositoryFileOther (Method)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Allows you to modify a BQY repository object for an embedded browser object or hyperlink object programatically (equivalent options can be made on the user interface Document Options dialog).

Syntax: Expression.ModifyRepositoryFileOther(DocumentName, [DocumentParameters])

Expression Required: Parameters:

DocumentName – Required, String, Maps to Maps to the name of the object selected from the repository.

DocumentParams – Optional, String, Maps to the “Other Parameters” control used for any additional parameters appended to the URL.

Example: See the example in ModifyRepositoryFileBQY (Method).

Page 422: Hyperion Dashboard

5-70 Methods

ModifyRepositoryFileBQY (Method)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Allows you to modify a BQY repository object for an embedded browser object or hyperlink object programatically (equivalent options can be made on the user interface Document Options dialog). When this method executed, the corresponding smartcut will be regenerated and the Embedded browser of HyperLink will be refreshed.

Syntax: Expression. ModifyRepositoryFileBQY(DocumentName,[BQYSectionName],[Toolbar],[DocumentParameters])

Expression Required: Parameters:

DocumentName – Required, String, Maps to the name of the object selected from the repository.

BQYSectionName – Optional, String, Maps to the BQY section name set for the repository object (corresponds to the Toolbar field on the Document Options dialog).

ToolbarType – Optional, BqRepositoryToolbarType, Maps to the toolbar type set for a BQY document reposiotry object (corresponds to the Toolbar field on the Document Options dialog)

DocumentParams – Optional, String, Maps to the “Other Parameters” control used for any additional parameters appended to the URL.

Example: The following example shows you how to change a repository document, section and toolbar. This script presumes that the existences of TextBox1 through TextBox4. The Console.Writeln statements are written to the log file in the Intelligence iServer.

var ActionName = "ModifyRepositoryFileBQY"

Console.Writeln("Start " + ActionName)

Page 423: Hyperion Dashboard

ModifyRepositoryFileBQY (Method) 5-71

//Set document argument valueConsole.Writeln("Step 1")

//If the textbox is empty, use the default value, otherwise use the value in the textbox if (TextBox1.Text == "") {

try{//This is the default name of the folder and document as they appear when published var sDocumentName = "\MyDocuments\MyDocumentName.bqy" }catch(e){Console.Writeln("Caught 1a: " + e.toString())}

}else{ try{var sDocumentName = TextBox1.Text}catch(e){Console.Writeln("Caught 1b: " + e.toString())}

}

//Set section name argument valueConsole.Writeln("Step 2")

//If the textbox is empty, use the default value, otherwise use the value in the textbox if (TextBox2.Text == "") {

try{//This is the default name of the section to which the document will open var sBQYSectionName = "Dashboard" }catch(e){Console.Writeln("Caught 2a: " + e.toString())}

}else{ try{var sBQYSectionName = TextBox2.Text}catch(e){Console.Writeln("Caught 2b: " + e.toString())

Page 424: Hyperion Dashboard

5-72 Methods

}

}

//Set Toolbar argument valueConsole.Writeln("Step 3")

//If the textbox is empty, use the default value, otherwise use the value in the textbox if (TextBox3.Text == "") {

try{//This sets the document to a standard toolbarvar cToolbarType = bqRepositoryBQYToolbarStandard}catch(e){Console.Writeln("Caught 3a: " + e.toString())}

}else{ try{//Use an eval statement here to treat the TextBox contents like a constant var cToolbarType = eval(TextBox3.Text) }catch(e){Console.Writeln("Caught 3b: " + e.toString())}

}//Set parameter argument valueConsole.Writeln("Step 4")

//If the textbox is empty, use the default value, otherwise use the value in the textbox if (TextBox4.Text == "") {

try{//This sets no document parametersvar sDocParams = ""}catch(e){Console.Writeln("Caught 4a: " + e.toString())}

}else{ try{var sDocParams = TextBox5.Text

Page 425: Hyperion Dashboard

ModifyRepositoryFileBQY (Method) 5-73

}catch(e){Console.Writeln("Caught 4b: " + e.toString())}

}

//Use the argument values in the methodConsole.Writeln("Step 5")

try{ ActiveSection.Shapes["EmbeddedBrowser1"].ModifyRepositoryFileBQY(sDocumentName, sBQYSectionName, cToolbarType, sDocParams) }catch(e){Console.Writeln("Caught 5: " + e.toString())}

}

Console.Writeln("End " + ActionName

Page 426: Hyperion Dashboard

5-74 Methods

ModifyRepositoryFileBQYJob (Method)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Allows you to modify a BQY job repository object for an embedded browser object or hyperlink object programatically (equivalent options can be made on the user interface Document Options dialog). When this method executed, the corresponding smartcut will be regenerated and the Embedded browser of HyperLink will be refreshed.

Syntax: Expression.ModifyRepositoryFileBQYJob(DocumentName, JobFilename, BQYSmartcut, [DocumentParameters], [JobRun],

[BQYSectionName], [Toolbar])

Expression Required: Parameters:

DocumentName – Required, String, Maps to the name of the object selected from the repository.

JobFileName - Required, String, Maps the name of the job file object displayed from a job output repository object.

BQYSmartcut – Required, Boolean, Determine if a “BQY” smartcut is created or not.

DocumentParams – Optional, String, Maps to the “Other Parameters” control used for any additional parameters appended to the URL.

JobRun – Optional, Boolean, Maps to the Run Job control.

BQYSectionName – Optional, String, Maps to the BQY section name set for the repository object (corresponds to the Toolbar field on the Document Options dialog).

ToolbarType – Optional, BqRepositoryToolbarType, Maps to the toolbar type set for a BQY document reposiotry object (corresponds to the Toolbar field on the Document Options dialog)

Example: See the example in ModifyRepositoryFileBQY (Method).

Page 427: Hyperion Dashboard

ModifyRepositoryFileSQRJob (Method) 5-75

ModifyRepositoryFileSQRJob (Method)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Allows you to modify a SQR job repository object for an embedded browser object or hyperlink object programatically (equivalent options can be made on the user interface Document Options dialog). When this method executed, the corresponding smartcut will be regenerated and the Embedded browser of HyperLink will be refreshed.

Syntax: Expression.ModifyRepositoryFileSQRJob(DocumentName, JobFilename, [DocumentParameters], [JobRun])

Expression Required: Parameters:

DocumentName – Required, String, Maps to the name of the object selected from the repository.

JobFileName - Required, String, Maps the name of the job file object displayed from a job output repository object.

DocumentParams – Optional, String, Maps to the “Other Parameters” control used for any additional parameters appended to the URL.

JobRun – Optional, Boolean, Maps to the Run Job control.

Example: See the example in ModifyRepositoryFileBQY (Method).

Page 428: Hyperion Dashboard

5-76 Methods

Move (Method)

Applies To: Groupitems object, ReportGroup object, TableFacts object

Description: Moves an object in the report collection. For example, you might use this method to reverse the order of two items in the Table Facts outliner.

Syntax: Expression.Move(LabelNameBefore as String)

Expression Required: An expression that returns an object for any of the following:

■ GroupItems object

■ ReportGroup object

■ TableFacts object

Example: This example shows you how to move the object "Unit Sales" before "Amount Sales" in the TableFacts collection.

//State is Report Group 1, City is Report Group2. //This script should move City on top of State.//Description: void Move(String LabelNameBefore)try {ActiveDocument.Sections["Report"].Groups["Report Group2"].Move("Report Group1") }catch(e) { Console.Writeln(e.toString()) }

Page 429: Hyperion Dashboard

New (Method) 5-77

New (Method)

Applies To: Documents collection

Description: Creates a new blank Intelligence Clients document.

Syntax: Expression.New([Name As String]) As Document

Expression Required: An expression that returns a Documents object.

Example: This example shows you how to create a new Intelligence Clients document.

var MyName = "JavaScript Test"var MyDoc = Documents.New(MyName)MyDoc.Save()

Page 430: Hyperion Dashboard

5-78 Methods

OnActivate (Method)

Applies To: Dashboard Section

Description: The OnActivate() method is a Intelligence Clients section level function. This method is available regardless of the state of the application and can be accessed through scripting. The OnActivate() method will execute a script stored under the OnActivate event trigger. The method takes no arguments. Any scripts associated with the OnActivate method are executed when entering an Dashboard section.

Syntax: Expression. OnActivate()

Expression Required: An expression that returns an object for any of the following:

ControlsCheckBox

CommandButton

ListBox

Radio ButtonGraphicsLine

Hz Line

Vt Line

Rectangle

Round Rectangle

Oval

Text Label

Picture

Embedded Section Objects

Query

Results

Pivot

Chart

Page 431: Hyperion Dashboard

OnActivate (Method) 5-79

Table

OLAPQuery

Dashboard

Example: This example displays the OnActivate method for an active Dashboard section.

ActiveDocument.Sections["Dashboard"].OnActivate()

Page 432: Hyperion Dashboard

5-80 Methods

OnChange (Method)

Applies To: Dashboard Section

Description: The OnChange() method is a Intelligence Clients Dashboard Object level function. This method is only available when an Dashboard section is included in the Intelligence Clients document, and the Dashboard section contains a text box.The OnChange() method will execute a script stored in an Dashboard section text box under the OnChange event trigger. The method takes no arguments.

Note The ActiveDocument.Sections[“Dashboard”].Shapes[“TextBox1”]. OnChange()object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.OnChange()

Expression Required: An expression that returns a Textbox object.

Example: This example shows you how to associate an OnChange method in a text box.

TextBox1.OnChange()

Page 433: Hyperion Dashboard

OnClick (Method) 5-81

OnClick (Method)

Applies To: ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsOptionsButton, ControlsTextBox, Shape

Description: Simulates a user click event. This method exhibits the same behavior as simply clicking on a control. Any scripts associated with an OnClientClick event are triggered.

Syntax: Expression.OnClick()

Expression Required: An expression that returns an object for any of the following:

ControlsCheckBox

ControlsCommandButton

ControlsDropDown

ControlsOptionsButton

ControlsTextBox

Shape

Example: This example shows you how to invoke a command buttons event handler.

MyDashboard = ActiveDocument.Sections["Dashboard"]MyDashboard.Controls["CommandButton1"].OnClick()

Page 434: Hyperion Dashboard

5-82 Methods

OnClientClick (Method)

Applies To: ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsOptionsButton, ControlsTextBox, Shape

Description: Launches a client-side JavaScript “OnClientClick” event when a user clicks on a control enters a text box in the Intelligence iServer. Any client-side JavaScript associated with an OnClientClick event gets triggered.

Note For more information on client-side JavaScript, see “Client-Side Events” on page 20.

Syntax: Expression.OnClientClick()

Expression Required: An expression that returns an object for any of the following:

ControlsCheckBox

ControlsCommandButton

ControlsDropDown

ControlsOptionsButton

ControlsTextBox

Shape

Example: This example shows you how to invoke a command buttons event handler.

MyDashboard = ActiveDocument.Sections["Dashboard"]MyDashboard.Controls["CommandButton1"].OnClientClick()

Page 435: Hyperion Dashboard

OnClientEnter (Method) 5-83

OnClientEnter (Method)

Applies To: Dashboard Section

Description: Launches a client-side JavaScript “OnClientEnter” event when a user enters a text box in the Intelligence iServer. That is, any client-side JavaScript associated with an OnClientEnter event gets triggered. This method is only available when an Dashboard section contains a text box.

Note For more information on client-side JavaScript, see .

Syntax: Expression. OnClientEnter()

Expression Required: An expression that returns a Textbox object.

Example: This example shows you how to activate a text box.

ActiveDocument.Sections["Dashboard2"].Shapes["Textbox1"].OnClientEnter()

Page 436: Hyperion Dashboard

5-84 Methods

OnClientExit (Method)

Applies to:

Description: Launches a client-side JavaScript “OnClientExit” event when a user exits a text box in the Intelligence iServer. That is, any client-side JavaScript associated with an OnClientExit event gets triggered.This method is only available when an Dashboard section contains a text box.

Note For more information on client-side JavaScript, see .

Syntax: Expression. OnClientExit()

Expression Required: An expression that returns a Textbox object.

Example: This example shows you how to activate a text box.

ActiveDocument.Sections["Dashboard2"].Shapes["Textbox1"].OnClientExit()

Page 437: Hyperion Dashboard

OnDeactivate (Method) 5-85

OnDeactivate (Method)

Applies To: Dashboard Section

Description: The OnDeactivate() method is a Intelligence Clients Dashboard section level event. This method is available regardless of the state of the application and can be accessed through scripting. The OnDeactivate() method will execute a script stored under the OnDeactivate event trigger. The method takes no arguments. Any scripts associated with the OnDeactivate method are executed when leaving an Dashboard section.

Syntax: Expression. OnDeactivate()

Expression Required: An expression that returns an object for any of the following:

■ Controls

CheckBox, CommandButton, ListBox, Radio Button

■ Graphics

Line, Hz Line, Vt Line, Rectangle, Round Rectangle, Oval, Text Label, Picture

■ Embedded Section Objects

Results, Pivot, Chart, Table, OLAPQuery

■ Dashboard section script

■ Customized script

Example: This example displays the OnDeActivate method for an active Dashboard section.

ActiveDocument.Sections["Dashboard"].OnDeactivate()

Page 438: Hyperion Dashboard

5-86 Methods

OnDoubleClick (Method)

Applies To: Dashboard Section

Description: The OnDoubleClick() method is a Intelligence Clients Dashboard Object level function. This method is only available when an Dashboard section is included in the Intelligence Clients document and the Dashboard section contains a listbox.The OnDoubleClick() method will execute a script stored in an Dashboard section listbox under the OnDoubleClick event trigger. This method takes no arguments.

Syntax: Expression. OnDoubleClick()

Expression Required: An expression that returns a Listbox object.

Example: This example shows you how to associate an OnDoubleClick method with a list box.

ListBox1.OnDoubleClick()

Page 439: Hyperion Dashboard

OnEnter (Method) 5-87

OnEnter (Method)

Applies To: Dashboard Section

Description: The OnEnter() method is a Intelligence Clients Dashboard Object level function. This method is only available when an Dashboard section is included in the Intelligence Clients document and the Dashboard section contains a text box.

Note The ActiveDocument.Sections[“Dashboard”].Shapes[“TextBox1”]. OnEnter()object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression. OnEnter()

Expression Required: An expression that returns a Textbox object.

Example: This example shows you how to activate a text box.

ActiveDocument.Sections["Dashboard2"].Shapes["Textbox1"].OnEnter()

Page 440: Hyperion Dashboard

5-88 Methods

OnExit (Method)

Applies To: Dashboard Section

Description: The OnExit() method is a Intelligence Clients Dashboard Object level function. This method is only available when an Dashboard section is included in the Intelligence Clients document and the Dashboard section contains a text box.

Syntax: Expression.OnExit()

Expression Required: An expression that returns a Textbox object.

Example: This example shows you how to exit a text box.

ActiveDocument.Sections["Dashboard2"].Shapes["Textbox1"].OnExit()

Page 441: Hyperion Dashboard

OnPostProcess (Method) 5-89

OnPostProcess (Method)

Applies To: Document object

Description: The OnPostProcess() method is a Intelligence Clients document level function. This method is available regardless of the state of the application. As long as the application is running, this method is available through scripting. The OnPostProcess method will execute a script stored under the OnPostProcess event trigger. This method takes no arguments.

Note Calling the Process (Method) from the OnPreProcess (Method) or OnPreProcess (Method) events can result in an infinite loop.

Syntax: Expression.OnPostProcess()

Expression Required: An expression that returns a Intelligence Clients Document object.

Example: This example displays the OnPostProcess method for the active document.

ActiveDocument.OnPostProcess()

Page 442: Hyperion Dashboard

5-90 Methods

OnPreProcess (Method)

Applies To: Document object

Description: The OnPreProcess() method is a Intelligence Clients document level function. The OnPreProcess method will execute a script stored under the OnPreProcess event trigger. The method takes no arguments.

Note Calling the Process (Method) from the OnPreProcess (Method) or OnPostProcess (Method) events can result in an infinite loop.

Syntax: Expression.OnPreProcess()

Expression Required: An expression that returns a Intelligence Clients Document object.

Example: This example displays the OnPreProcess method for the active document.

ActiveDocument.OnPreProcess()

Page 443: Hyperion Dashboard

OnRowDoubleClick (Method) 5-91

OnRowDoubleClick (Method)

Applies To: Dashboard Section

Description: The OnRowDoubleClick() method is a Intelligence Clients Dashboard Object level function. This method is executed when you double-click on a row from an active embedded Results/Table section within an Dashboard section

Syntax: Expression. OnRowDoubleClick()

Expression Required: An expression that returns a Results/Table section.

Example: This example shows you how to associate the OnRowDoubleClick method with a active Table in the Dashboard section:

Table1.OnRowDoubleClick()

Page 444: Hyperion Dashboard

5-92 Methods

OnSelection (Method)

Applies To: Dashboard Section

Description: The OnSelection() method is an Intelligence Clients Dashboard Object level function. This method is only available when an Dashboard section is included in the BQY document and the Dashboard section contains a drop down box.

Syntax: Expression.OnSelection()

Expression Required: DropDown Box

Example: This example shows you how to change the selection in a text box based on the "OnSelection" event:

TextLabel.Text = "DropDown OnSelection"

Page 445: Hyperion Dashboard

OnShutdown (Method) 5-93

OnShutdown (Method)

Applies To: Document object

Description: The OnShutdown() method is a Intelligence Clients document level function. This method is available regardless of the state of the application. As long as the application is running, this method is available through scripting. The OnShutdown method will execute a script stored under the OnShutdown event trigger. This method takes no arguments.

Note Any OnShutDown events are executed before you are prompted to save or discard changes made to a document in the Save dialog box.

Syntax: Expression. OnShutdown()

Expression Required: An expression that returns a Intelligence Clients Document object.

Example: This example shows you how to use the OnShutdown() method to exit a document without executing Intelligence Clients. The second line of the script shows you how to turn off the Prompt to Save dialog box when an OnShutdown() method is executed.

Documents["Dashboardtrigger.bqy"].OnShutdown()Application.Quit(false)

Page 446: Hyperion Dashboard

5-94 Methods

OnStartup (Method)

Applies To: Document object

Description: The OnStartup() method is a Intelligence Clients document level function. It is executed when a document is opened and can be used to initialize the document and application for the user. This method is available regardless of the state of the application. As long as the application is running, this method is available through scripting. The OnStartup method will execute a script stored under the OnStartup event trigger. This method takes no arguments.

Syntax: Expression. OnStartup()

Expression Required: An expression that returns a Intelligence Clients Document object.

Example: This example displays the OnStartup method for an active document.

ActiveDocument.OnStartup()

Page 447: Hyperion Dashboard

Open (Method) 5-95

Open (Method)

Applies To: Connection object, MetaDataConnection object, Documents collection

Description: Documents – Opens an existing Intelligence Clients document.

Connection – Opens an existing Open Catalog Extension file.

Note The Documents.Open()object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.Open(Filename As String)

Expression Required: An expression that returns a Connection, or Documents object.

Example 1: This example shows you how to open an existing Intelligence Clients document.

var MyFile = "C:\\BQDocs\\JavaTest.bqy"var MyDoc = Documents.Open(MyFile)Alert(MyDoc.Name + " is open")

Example 2: This example shows how to open an existing Open Catalog Extension file.

var MyOCE = "C:\\BQDocs\\SQL.oce"ActiveDocument.Sections["Query"].DataModel.Connection.Open(MyOCE)ActiveDocument.Sections["Query"].DataModel.Connection.Username = "qa"ActiveDocument.Sections["Query"].DataModel.Connection.SetPassword("qa")ActiveDocument.Sections["Query"].DataModel.Connection.Connect()

or

var MyOCE = "C:\\BQDocs\\SQL.oce"var MyCon = ActiveDocument.Sections["Query"].DataModel.ConnectionMyCon.Open(MyOCE)MyCon.Username = "qa"MyCon.SetPassword("qa")MyCon.Connect()

Page 448: Hyperion Dashboard

5-96 Methods

OpenURL (Method)

Applies To: Application

Description: Requests the browser to open a URL specified by the “url” parameter. The target parameter refers to the browser window where the new url should be displayed. Target may be the name of a browser frame or a keyword referring to a specific browser window.

You must include the “http” part of the url when specifying the url parameter.

Target Description

“_self” The current browser window.

“_blank” A new browser window.

Note The OpenURL() method is only applicable for Web-based clients (web client/Intelligence iserver users). If you want to open the browser from the desktop client (for example, from the Dashboard section) use the Shell () method, for example: Application.Shell(“c.\\Program Files\\Internet Explorer\\iexplore.exe)

Syntax: Expression.OpenURL(URL As String, Target As String)

Expression Required: An expression that returns an Application object.

Example: This example shows you how to open a Web page in a new window.

if(Application.Name != "BrioQuery") { var MyURL = “http://www.SeasonPass.com” Application.OpenURL(MyURL,"_blank")}

Page 449: Hyperion Dashboard

PivotThisChart (Method) 5-97

PivotThisChart (Method)

Applies To: PivotCollection

Description: Changes a chart object into the form of a Pivot report.

Syntax: Expression.PivotThisChart()

Expression Required: An expression that returns a Pivot object.

Example: This example shows you how to change the BooksChart object into the form of a Pivot report.

ActiveDocument.Sections["BooksChart"].PivotThisChart()

Page 450: Hyperion Dashboard

5-98 Methods

PivotTo (Method)

Applies To: PivotLabel collection

Description: Changes the position of a pivot label. By default, calling the PivotTo method moves a pivot label from one label collection to another. PivotTo performs the same action as selecting or deleting a pivot label out of one group and reinserting into a different group.

Syntax: Expression.PivotTo([Index As Number])

Expression Required: An expression that returns a PivotLabel object.

Example: This example shows you how to pivot a label from the top labels collection to the 1st position in the side labels collection. The Index is an optional property, which specifies where the label pivots. If the property is empty then the pivot will place the label at the end of the list.

ActiveDocument.Sections["Pivot"].TopLabels["Year"].PivotTo(1)//To pivot back to its original position use:ActiveDocument.Sections["Pivot"].TopLabels["Year"].PivotTo()

Page 451: Hyperion Dashboard

PrintOut (Method) 5-99

PrintOut (Method)

Applies To: ChartSection, DataModelSection, OLAPQuerySection, PivotSection object, QuerySection, ResultsSection, Section, TableSection, ReportSection

Description: Sends the information in a report section to the printer.

Note The ActiveDocument.Sections[“SectionName”].PrintOut() object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.PrintOut([optional]FromPage as Number, [optional] ToPage As Number], [Copies As Long], [optional] Filename As String, [optional]Boolean Prompt)

Expression Required: An expression that returns an object for any of the following:

ChartSection

DataModelSection

OLAPQuerySection

PivotSection

QuerySection

Section

TableSection

Example: This example shows you how to print multiple copies of a Pivot section to the printer.

var StartPage = 1var EndPage = 1var NumCopies =2ActiveDocument.Sections["Pivot"].PrintOut(StartPage,EndPage,NumCopies)

Page 452: Hyperion Dashboard

5-100 Methods

Process (Method)

Applies To: OLAPQuerySection, QuerySection

Description: Executes a query. This method is equivalent to selecting the Process Current item from the Tools menu.

Syntax: Expression.Process()

Expression Required: An expression that returns an OLAPQuerySection or a QuerySection object.

Example: This example shows you how to process every query in a document.

for (j =1; j <= ActiveDocument.Sections.Count; j++){ if (ActiveDocument.Sections[j].Type == bqQuery) { var MyCon = ActiveDocument.Sections[j].DataModel.Connection MyCon.Username = "Brio" MyCon.SetPassword("Brio") MyCon.Connect() ActiveDocument.Sections[j].Process() Console.Writeln(ActiveDocument.Sections[j].Name + " was processed.") }}

Page 453: Hyperion Dashboard

ProcessAll (Method) 5-101

ProcessAll (Method)

Applies To: OLAPQuerySection, QuerySection

Description: Executes the Process All command for a query. If you have defined a query processing order, queries are processed in the order specifed on the Query Processing Order dialog or by ProcessSequenceNum (Property). For example, in a document with three queries which appear as Query4, Query2, and Query1, the quries are processed in that order.

If no query order has been defined, queries are processed in the order in which they appear in the Section Catalog. For example in a document with three queries: Query1, Query2, and Query3, the queries are processed in that order.

Syntax: Expression.ProcessAll()

Expression Required: An expression that returns an OLAPQuerySection or a QuerySection object.

Example: This example shows you how to display the number of queries in the BQY in an Alert box, set the processing the “Query” section to the second position in the Query Processing Order dialog, includes the “Query” section in a “Process All” command, and then execute the Process All command for the document.

Alert("Number of Query Sections " + ActiveDocument.Sections.QueryCount)ActiveDocument.Sections["Query"].ProcessSequenceNum = 2ActiveDocument.Sections["Query"].IncludeInProcessAll = trueActiveDocument.ProcessAll()

Page 454: Hyperion Dashboard

5-102 Methods

ProcessStoredProc (Method)

Applies To: QuerySection

Description: This method provides you with the option to process stored procedures to obtain results.

This method is used in conjunction with the SetStoredProcParam (Method).

Syntax: Expression.ProcessStoredProc()

Example: This example shows you how to open and process a stored procedure in the Query section.

ActiveDocument.Sections["Query"].SetStoredProcParam("Param1",1)ActiveDocument.Sections["Query"].SetStoredProcParam("Param2",2)ActiveDocument.Sections["Query"].ProcessStoredProc()

Page 455: Hyperion Dashboard

ProcessToTable (Method) 5-103

ProcessToTable (Method)

Applies To: QuerySection

Description: Executes the query and stores the results as a table on the database. Items on the Request line become the column headings of the new table, and you can append new columns to the table and query it as needed.

Tip The connection file and database to which you are connecting determine whether or not you can use this feature. You must also have Create and Insert priviledges on the database in order to process to a database table.

Syntax: Expression.ProcessToTable (TableName As String, bqProcessType As String, [optional] Grantee As String).

Note Grantee is the person to whom access is granted—either PUBLIC, a single user id, or list user ids that are comma delimited. Grantee is optional because it depends on whether user is creating a new table or appending to an existing table.

Expression Required: An expression that returns a QuerySection object.

Constants: The BqProcessType is constant group contains the following values:

bqProcessCreateTable

bqProcessAppendToTable

Example 1: In this example, the results are stored in a new table entitled “MyTable.”

ActiveDocument.Sections["Query"].ProcessToTable(‘MyTable’, bqProcessCreateTable, ‘Public’)

Example 2: In this example, the results are appended to “MyTable.”

ActiveDocument.Sections["Query"].ProcessToTable(‘MyTable’, bqProcessAppendToTable, ‘Public’)

Page 456: Hyperion Dashboard

5-104 Methods

Quit (Method)

Applies To: Application

Description: Shuts down the Intelligence Clients application.

Note The Application.Quit() object model syntax is not supported in an Intelligence iServer BQY document.

Note The Quit method will not shut down a browser window.

Syntax: Expression.Quit([Silent As Boolean])

Expression Required: An expression that returns an Application object.

Example: This example shows how to quit Intelligence Clients silently.

Application.Quit(false)

Page 457: Hyperion Dashboard

Recalculate (Method) 5-105

Recalculate (Method)

Applies To: ChartSection, DataModelSection, DashboardSection, OLAPQuerySection, PivotSection object, QuerySection, ResultsSection, Section, TableSection, ReportSection

Description: Forces a section to recalculate itself. Use this method to force a section to recalculate. This is particularly important if you are using variables in computed columns.

Syntax: Expression.Recalculate()

Expression Required: An expression that returns an object for the Results and Table sections.

Example: This example forces a Results section to recalculate its values.

ActiveDocument.Sections["Results"].Recalculate()

Page 458: Hyperion Dashboard

5-106 Methods

Refresh (Method)

Applies To: DMCatalog object

Description: Redisplays the tables in the table catalog.

Syntax: Expression.Refresh()

Expression Required: An expression that returns a DMCatalog object.

Example: This example shows you how to refresh the items in the table catalog.

ActiveDocument.Sections["Query"].Catalog.Refresh()

Page 459: Hyperion Dashboard

RefreshAvailableValues (Method) 5-107

RefreshAvailableValues (Method)

Applies To: Limit

Description: Generates a list of values for a limit. This method is equivalent to clicking the “Show Values” button on the Limit dialog box.

Syntax: Expression.RefreshAvailableValues()

Expression Required: An expression that returns a Limit object.

Example: This example shows how to update the available values for the “Unit Sales” limit.

ActiveDocument.Sections["SalesQuery"].Limits["Unit Sales"]. RefreshAvailableValues()

Page 460: Hyperion Dashboard

5-108 Methods

RefreshDataNow (Method)

Applies To: ChartSection, PivotSection object

Description: Use the RefreshDataNow (Method) to refresh a section immediately if you have selected to manually refresh the current section through the object model or the user interface. This method is used in conjunction with the RefreshData (Property) when the property value has been set to: bqRefreshDataManually.

Syntax: Expression.RefreshDataNow()

Expression Required: An expression that returns an object for the Pivot or Chart sections.

Example: In the following example, the Pivot section is set to be refreshed manually and immediately when the command is executed.

ActiveDocument.Sections["Pivot"].RefreshData=bqRefreshDataManuallyActiveDocument.Sections["Pivot"].RefreshDataNow()

Page 461: Hyperion Dashboard

Remove (Method) 5-109

Remove (Method)

Applies To: CategoryItems, ChartSection, Column, ControlsDropDown, ControlsListBox, DataModelSection, DashboardSection, Join object, Limit, OLAPQuerySection, PivotLabels collection, PivotSection object, QuerySection, ReportSection, Requests, ResultsSection, Section, SortItems collection, TableSection, Topic

Description: Removes an individual item from the CategoryItems (Collection). In all other cases, Remove is called without a name or index to delete an individual object.

Syntax: Expression.Remove(NameOrIndex) or Expression.Remove()

Expression Required: An expression that returns an object to any of the following:

CategoryItems

ChartSection

Column

ControlsDropDown

ControlsListBox

DataModelSection

DashboardSection

Join

Limit

LocalJoin

LocalResult

OLAPLabel

OLAPMeasure

OLAPQuerySection

OLAPSlicer

PivotLabel

Page 462: Hyperion Dashboard

5-110 Methods

PivotSection

QuerySection

Request

Section

TableSection

Topic

Example 1: This example shows you how to remove the “Product ID” column from a Results section

ActiveDocument.Sections["Results"].Columns["Product Id"]. Remove()

Example 2: This example shows you how remove the Pivot section from a bq document.ActiveDocument.Sections["Pivot"].Remove()

Page 463: Hyperion Dashboard

RemoveAll (Method) 5-111

RemoveAll (Method)

Applies To: AggregateLimits collection, AxisLabels, CategoryItems, Columns, ControlsDropDown, ControlsListBox, Joins, Limits, LimitValues, Parentheses collection, PivotLabelsTotals collection, Requests collection, Topics collection, TopLabels collection

Description: Removes all the items from a collection.

Syntax: Expression.RemoveAll()

Expression Required: An expression that returns a collection for any of the following:

Limits

AxisLabels

CategoryItems

Columns

ControlsDropDown

ControlsListBox

Join

LimitValues

LocalJoins

OLAPLabels

OLAPMeasures

OLAPSlicers

Requests

Topics

Example: This example shows how to remove every column from a Results or Table section.

ActiveDocument.Sections["Results"].Columns.RemoveAll()

Page 464: Hyperion Dashboard

5-112 Methods

RemoveAllTopics (Method)

Applies To: DefinedJoinPath object

Description: If you chose to programmatically define your own join paths, use the RemoveAllTopics() method of the DefinedJoinPath (Object) to remove all topics based on the items on the Request and Limit lines. This method corresponds to selecting all available topics on the Define Join Path dialog box and removing the values in the Topics in Join Path list.

Syntax: ActiveDocument.Sections["Query"].DataModel. JoinsOptions.DefinedJoinPath[“MyJoinPath”].RemoveAllTopics()

Example: In the following example, all topics are removed from the MyJoinPath join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath[“MyJoinPath”].RemoveAllTopics()

Page 465: Hyperion Dashboard

RemoveExportSection (Method) 5-113

RemoveExportSection (Method)

Applies To: ChartSection, DataModelSection, Document object, DashboardSection, OLAPQuerySection, PivotSection, QuerySection, Section, TableSection

Description: When sections are exported successfully, the Export (Method)clears the export buffer. If sections are unsuccessful in being exported, then use this method to flush the export buffer. All sections set for export are cleared from the export buffer. For instance, if you specify a Report, Pivot, and Chart section to be exported via the AddExportSection (Method), a call to RemoveExportSections() would nullify the section set up for export. You could then specify the Export() method to export all sections.

Syntax: Expression.RemoveExportSections()

Example: In this example, sections are set to be exported using the AddExportSection () method, then cleared from the export buffer using the Remove ExportSections() method, and then all of the documents sections are exported using the Export ()method.

//Export SELECTED Sections of .bqy documentActiveDocument.AddExportSection(‘Report’)ActiveDocument.AddExportSection(‘Report2’)ActiveDocument.AddExportSection(‘Results’)ActiveDocument.AddExportSection(‘Table’)ActiveDocument.AddExportSection(‘Pivot’)ActiveDocument.AddExportSection(‘Pivot2’)ActiveDocument.AddExportSection(‘Pivot3’)ActiveDocument.AddExportSection(‘Chart’)ActiveDocument.AddExportSection(’Chart2’)ActiveDocument.AddExportSection(’OLAPQuery’)//Flushes the Export bufferActiveDocument.RemoveExportSections()//Export ALL sections of .bqy document since Export buffer was flushedActiveDocument.Export(‘C;\\Temp\\MyExportFile.htm’, bqExportFormatHTML)

Page 466: Hyperion Dashboard

5-114 Methods

RemoveFilterValue (Method)

Applies To: TopLabel object, SideLabel object, Measure object

Description: Removes a filter value entirely, or a single value based on a literal string value in a filter array, or a single value based on the position in a filter array.

Syntax: Expression to remove a single value based on literal string value in filter array:

ActiveDocument.Sections["OLAPQuery"].Measures["Profit"].RemoveFilterValue()

Expression to remove a single value based on a literal string value in a filter array:

Expression.RemoveFilterValue(string SearchStringOrMemberNameOrNumberRowsColumnIndexORUserDefinedAttributeOrSubstitutionVariable)

Expression to remove a single value based on the position in a filter array:

ActiveDocument.Sections["OLAPQuery"].Measures["Profit"].RemoveFilterValue(number index)

Example: The following example shows you how to remove the filter value from the Line Name top label.

ActiveDocument.Sections["OLAPQuery"].TopLabels["Line Name"].RemoveFilterValue()

Page 467: Hyperion Dashboard

RemoveTopic (Method) 5-115

RemoveTopic (Method)

Applies To: DefinedJoinPath collection

Description: If you chose to programmatically define your own join paths, use the RemoveTopic() method of the DefinedJoinPath collection to remove a topic based on an item on the Request and Limit lines. This method corresponds to selecting all available topics on the Define Join Path dialog and removing the values in the Topics in Join Path list.

Syntax:

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath["MyJoinPath"].RemoveTopics(String DefinedJoinPathName)

Example: In this example, all topics are removed from the MyJoinPath join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath["MyJoinPath"].RemoveTopic("Products")

Page 468: Hyperion Dashboard

5-116 Methods

RemoveTotal (Method)

Applies To: OLAPLabels collection

Description: Removes the totals rows added to a top or side label column.

Syntax: Expression.RemoveTotal()

Example: In this example, the totals row is removed from the side labels column of the OLAPQuery and the Alert message “Label Totals Have been Removed” appears.

ActiveDocument.Sections["OLAPQuery"].SideLabels["State"].RemoveTotal()Application.Alert("Label Totals Have been Removed")

Page 469: Hyperion Dashboard

ResetCustomerSQL (Method) 5-117

ResetCustomerSQL (Method)

Applies To: QuerySection

Description: Resets the original SQL statement prior to processing and forces the Custom SQL window to open in a query. The CustomSQLFrom (Method), CustomSQLWhere (Method), and ResetCustomSQL (Method) correspond to the edit SQL functionality in the user interface's Custom SQL dialog. However, no Custom SQL dialog will display when this method is executed.

Note The data model of the query must have at least one table to use the Custom SQL feature either through the user interface or programmatically. If no table exists, then the Console Window displays: “Script(x):uncaught exception:Invalid String”.

Syntax: Expression.ResetCustomSQL()

Expression Required: An expression that returns a query object.

Example: This example sets the From clause and the Where clause, processes the query, and then restores the original SQL statement.

//Set the FROM clause, Set the WHERE clause, PROCESS, and then RESET SQLActiveDocument.Sections["Query"].CustomSQLFrom("FROM From.Sales_Fact, From.Periods, From.Products") ActiveDocument.Sections["Query"].CustomSQLWhere("WHERE (Periods.Day_Id=Sales_Fact .Day_Id AND Products.Product_Id=Sales_Fact.Product_Id) AND (Periods.Quarter='Q1')")ActiveDocument.Sections["Query"].Process()ActiveDocument.Sections["Query"].ResetCustomSQL();

Page 470: Hyperion Dashboard

5-118 Methods

ResizeToBestFit (Method)

Applies To: Column object

Description: Changes the width of a column to fit the data without clipping any information or displaying too much white space.

Syntax: Expression.ResizeToBestFit()

Expression Required: An expression that returns a Column object.

Example: This example shows you how to change all the columns in a result set to best fit the data.

for (j =1; j < = ActiveDocument.Sections["Results"].Columns.Count; j++)ActiveDocument.Sections["Results"].Columns[j].ResizeToBestFit()

Page 471: Hyperion Dashboard

RetrieveDimensions (Method) 5-119

RetrieveDimensions (Method)

Applies To: OLAPCatalog object

Description: Refreshes the dimension values in the Catalog pane.

Syntax: Expression.RetrieveDimensions()

Expression Required: An expression that returns a Dimensions object.

Example: This example shows you how to change all the columns in a result set to best fit the data.

ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions.RetrieveDimensions()

Page 472: Hyperion Dashboard

5-120 Methods

Save (Method)

Applies To: Connection object, MetaDataConnection object, Document object, WebClientDocument

Description: Saves the changes to a document or to an Open Catalog Extension file (.oce).

Note The ActiveDocument.Save()object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.Save()

Expression Required: An expression that returns an object for any of the following:

Connection

Document

WebClientDocument

Example: This example shows you how to create a new Intelligence Clients document and save it.

var MyDocs = "c:\\Mydocs"var MyName = "JavaScript Test"var MyDoc = Documents.New(MyName)MyDoc.Save()

Page 473: Hyperion Dashboard

SaveAs (Method) 5-121

SaveAs (Method)

Applies To: Connection object, MetaDataConnection object, Document object, WebClientDocument

Description: Saves a document or Open Catalog Extensions file (.oce) with a new name and/or location.

Note The ActiveDocument.SaveAs()object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.SaveAs(Filename As String)

Expression Required: An expression that returns an object for any of the following:

Connection

Document

WebClientDocument

Example: This example shows you how to save a document using a different name.

var MyDocs = "c:\\Mydocs"var MyName = "JavaScriptTest.bqy"var MyFilename = MyDocs + "\\"+ MyNameActiveDocument.SaveAs(MyFilename)

Page 474: Hyperion Dashboard

5-122 Methods

Select (Method)

Applies To: ControlsDropDown, ControlsListBox, ControlsTextBox

Description: Changes the user selection of items in a control.

Syntax: Expression.Select(Index As Long)

Expression Required: An expression that returns an object for any of the following:

ControlsDropDown

ControlsListBox

ControlsTextBox

Example: This example shows you how to set the selection of one dropdown list based selected index in another dropdown list.

var MyIndex = DropDown1.SelectedIndex=1DropDown2.Select(MyIndex)

Page 475: Hyperion Dashboard

SendSQL (Method) 5-123

SendSQL (Method)

Applies To: Application

Description: Sends a SQL string to a datasource. No data is retrieved from the database.

Currently, this will not send a SQL statement to the same database session to which your query is connected.

Note If your SendSQL string is sending data modification commands, your database may require a commit statement. The commit behavior of the database may restrict which type of SQL string you may be able to send.

Since the SendSQL method requires an .oce as an argument, it does not apply to a script written specifically for web client.

Syntax: Expression.SendSQL(Ocename As String, Username As String, Password As String, SQLString As String)

Expression Required: An expression that returns an Application object.

Example: This example shows you how to send a SQL Statement to a database associated with an OCE.

var SQL = "insert into test (store_id, store) values (2, 'Computer City')"var OCE = "c:\\OCEs\\Oracle.oce"var user = "brio"var pass = "brio"Application.SendSQL(OCE,user,pass,SQL)

Page 476: Hyperion Dashboard

5-124 Methods

SetDrillThrough (Method)

Applies To: OLAPQuery object

Description: Allows you to define the mapping between a multi-dimensional database and a relational database. You must call the SetDrillThrough method for as many times are there are map or unmap actions.

Syntax: Expression.SetDrillThrough(Boolean mapORUnMap, String relationalQueryName, String dimensionOrRelationalTopicName, String factName)

boolean MapORUnMap Specify the boolean argument (true or false), to map or unmap a selected dimension to a topic name. Use the boolean value true, to map a dimension and a topic. Use the boolean value false, to unmap a dimension.When a dimension is mapped to a topic, an internal link is created between the dimension and the selected topic.

string RelationalQueryName Specify the relational query name as a string from which you want to map or unmap a topic.

string DimensionOrRelationalTopicName Specify the dimension or relational topic name as a string that you want to map or unmap.The topic name and dimensional level name must have identical names to set up a mapping or unmapping.

string FactName Specify the topic name as a string used to map to the corresponding OLAP measure. T

Expression Required: An expression that returns a Drill Through object.

Example: The following example shows you how to use the SetDrillThrough method to map the “Store” dimension and topic.

ActiveDocument.Sections["OLAPQuery"].SetDrillThrough( true,"Query2","Store","Sales Fact")

Page 477: Hyperion Dashboard

SetODSPassword (Method) 5-125

SetODSPassword (Method)

Applies to: WebClientDocument

Description: Sets the OnDemand Server password. This method is a web-enabled method and does not apply to the Intelligence Clients. It can be used to automate logging on to the OnDemand Server.

Page 478: Hyperion Dashboard

5-126 Methods

SetPassword (Method)

Applies To: Connection object, MetaDataConnection object

Description: Sets the password that is used by the Open Catalog Extension file (.oce) when connecting to the database.

Syntax: Expression.SetPassword(Password As String)

Note It is very important that you enclose the password with parentheses. If you do not, the string is created as a variable and there is no way to unassign it.

Expression Required: An expression that returns a Connection object.

Example: This example shows you how to set the Password from a password field in an Dashboard section. The name of the password field is TextBox1.

var MyPass = TextBox1.Textif (Application.Name != "BrioQuery")ActiveDocument.Sections["Query"].DataModel.Connection.SetPassword(MyPass)

Page 479: Hyperion Dashboard

SetStoredProcParam (Method) 5-127

SetStoredProcParam (Method)

Applies To: QuerySection object

Description: This method provides you with the option to programmatically set up (select) stored procedures for obtaining results.

The optional index parameter specifies the nth position in the stored procedure argument list (with the first parameter being indexed at 1). If no index value is provided, the assumed order is the order in which they are defined (again, beginning at 1). If there is a mix of some method calls with the index value and some without, the order will be those with indexes first followed by definition order of those without indexes.

This method is used in conjunction with the ProcessStoredProc (Method).

Syntax: Expression.SetStoredProcParm(Parameter As Value, [Optional]ParamIndex As Number)

Example: This example shows you how to open and process a stored procedure in the Query section.

ActiveDocument.Sections["Query"].SetStoredProcParam("Param1",1);ActiveDocument.Sections["Query"].SetStoredProcParam("Param2",2);ActiveDocument.Sections["Query"].ProcessStoredProc();

Page 480: Hyperion Dashboard

5-128 Methods

Shell (Method)

Applies To: Application

Description: Launches an external application and passes a command line argument to the application.

This method is the preferred way to open the browser from the desktop client (fo example, from the Dashboard section.) If you need to open a url from a web-based client (web client) use the OpenURL (Method).

Note The Application.Shell() object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.Shell(CommandLine As String, [optional]Arguments As String)

Expression Required: An expression that returns an Application object.

Example: This example launches notepad with a text file.

var App = "c:\\Winnt\\notepad.exe"var Args = "C:\\Docs\\Readme.txt"Application.Shell(App,Args)

Page 481: Hyperion Dashboard

ShowAll (Method) 5-129

ShowAll (Method)

Applies To: AxisLabels

Description: Unhides all hidden axis labels.

Syntax: Expression.ShowAll()

Expression Required: An expression that returns an AxisLabels collection.

Example: This example unhides all the hidden Axis labels for the X and Z labels collections:

var MyChart = ActiveDocument.Sections["Chart"]MyChart.XLabels.ShowAll()MyChart.ZLabels.ShowAll()

Page 482: Hyperion Dashboard

5-130 Methods

ShowAsChart (Method)

Applies To: OLAPQuery object

Description: Charts the OLAPQuery data set; automatically creates OLAPChart and OLAPResults sections.

Syntax: Expression.ShowAsChart()

Example: The following script has been associated with a OnClick event. When the user clicks a command button, the OLAPQuery is charted and an OLAPResults and OLAPChart are generated automatically.

ActiveDocument.Sections["OLAPQuery"].ShowAsChart()

Page 483: Hyperion Dashboard

SortByFact (Method) 5-131

SortByFact (Method)

Applies To: PivotLabels collection, CategoryItems collection

Description: Sets a data value (rather than "label") criterion in the sort conditions available in the Pivot and Chart sections. This method corresponds to the Sort by Values feature in the Pivot and Chart report sections where the second list selection orders each value of the target item specified in the first list selection by its corresponding numeric value in the second list.

Syntax: Expression.SortByFact(FactName As String,SortFunction As BqSortFunction, [optional]SortOrder As BqSortOrder)

Expression Required: An expression that returns a PivotLabelsTotals or CategoryItems collection.

Constants: The BqSortFunction constant group contains of the following values:

bqSortFunctionAverage

bqSortFunctionCount

bqSortFunctionMaximum

bqSortFunctionMinimum

bqSortFunctionNonNullAverage

bqSortFunctionNonNullCount

bqSortFunctionNullCount

bqSortFunctionSum

The BqSortOrder constant group contains the following values:

bqSortAscend

bqSortDescend

Example: This example shows you how to sort the Product Name item by its corresponding numeric value "Amount Sales".

ActiveDocument.Sections["Pivot2"].TopLabels["Product Name"].SortByFact("Amount Sales", bqSortFunctionSum, bqSortAscend)

Page 484: Hyperion Dashboard

5-132 Methods

SortByLabel (Method)

Applies To: PivotLabels collection, CategoryItems collection

Description: Sets the primary sort criterion on an item by label or name, rather than by reference to corresponding numeric data values. This method corresponds to the Sort by Labels feature in the Pivot and Chart report sections

Syntax: Expression.SortByLabel([SortOrder As BqSortOrder])

Expression Required: An expression that returns a PivotLabelsTotals or CategoryItems collection.

Constants: The BqSort Order constant group contains the following values:

bqSortAscend

bqSortDescend

Example: This example shows you how to sort the top labels "Product Name" by region.

ActiveDocument.Sections["Pivot2"].TopLabels["Product Name"]. SortByLabel(bqSortAscend)

Page 485: Hyperion Dashboard

SortNow (Method) 5-133

SortNow (Method)

Applies To: SortItems Collection

Description: Sets the Sort Now feature on items placed on the Sort Line in Results. The Sort Now feature initiates the sorting function immediately on items on the Sort Line. This method is required to use the SortOrder (Property).

Syntax: Expression.SortNow()

Expression Required: An expression that returns a SortItems collection.

Example: This example shows you how to specify the SortNow method for items on the Sort Line in the Table section. In the example, the SortNow method is associated with a command button. When the command button is invoked, the text “Start SortNow” appears in the first text box. When the script within the try-catch block is executed, the text “End SortNow” appears in a second text box

ActiveSection.Shapes["CommandButton1"].OnClick()TextBox1.Text = "Start SortNow"try{ActiveDocument.Sections["Table"].SortItems.SortNow()}catch(e){TextBox2.Text = e.toString()}TextBox1.Text ="End SortNow"

Page 486: Hyperion Dashboard

5-134 Methods

Spring (Method)

Applies To: Field object, Table object, ReportPivot collection, ReportChart collection, Shapes collection

Description: Allows you to maintains relative vertical spacing between dynamic objects. That is, you can "spring" one object to another so that if the first object is moved, increased or diminished, the second object moves in the same flow. To “unspring” an item, see the UnSpring (Method).

Syntax: Expression.Spring(Name as String)

Expression Required: An expression that springs a report object.

Example: This example shows you how to spring the the table object and "smart" report objects.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Spring("Chart")ActiveDocument.Sections["Report"].Body.Tables["Table"].Spring("Pivot")

Page 487: Hyperion Dashboard

SyncWithDatabase (Method) 5-135

SyncWithDatabase (Method)

Applies To: DataModel object

Description: Causes a Data Model to synchronize itself with the underlying database tables.

Syntax: Expression.SyncWithDatabase()

Expression Required: An expression that returns a Data Model object.

Example: This example shows you how to synchronize a Data Model with the database.

var MyDM = ActiveDocument.Sections["Datamodel"].DataModelMyDM.SyncWithDatabase()

Page 488: Hyperion Dashboard

5-136 Methods

UnHide (Method)

Applies To: OLAPMeasure object

Description: Retrieves hidden measure items from the selected row or column to the OLAPQuery report.

Syntax: Expression.UnHide()

Expression Required: An expression that shows a hidden OLAPMeasure object.

Example1 : This example shows you how to hide the fact “Amount Sales.”

ActiveDocument.Sections["Chart"].Facts["Amount Sales"].Hide()

Example2 : This example shows you how to hide the OLAP measure “Sales Average.”

ActiveDocument.Sections["OLAPQuery"].Measures["Sales Average"].UnHide()

Page 489: Hyperion Dashboard

UnhideAll (Method) 5-137

UnhideAll (Method)

Applies To: AxisLabels (XLabels, Ylabels, and ZLabels)

Description: Allows you to restore all hidden label value item(s) that are hidden through the HideSelection (Method) and FocusSelection (Method).

Syntax: Expression.XLabels.UnhideAll()

Expression Required: An expression that unhides an AxisLabels item.

Example: This example shows you how to unhide all label value items on the Xlabels.

ActiveDocument.Sections["AllChart"].XLabels.UnhideAll()

Page 490: Hyperion Dashboard

5-138 Methods

Unselect (Method)

Applies To: ControlsListBox

Description: Causes an item in a list box to be unselected whether it has been selected or not.

Syntax: Expression.Unselect(Index As Number)

Note Index is the nth item in the ListBox (index based 1).

Expression Required: An expression that unselects a ListBox object.

Dependency: The MultiSelect (Property) must be enabled for the ListBox object in order to use this method.

Example: In the following example, a listbox has been populated with four values, which can all be selected and counted in a text box. The Unselect method has been added for each of the four values and any out of bound values.

//Selects all values in ListBox1 and performs a countvar cnt = ListBox1.Countfor (var i = 1; i <= cnt; i++){ListBox1.Select(i)}TextBox1.Text=ListBox1.SelectedList.Count//Unselects first index value in ListBox1ListBox1.Unselect(1)TextBox1.Text=ListBox1.SelectedList.Count//Unselects second index value in ListBox1ListBox1.Unselect(2)TextBox1.Text=ListBox1.SelectedList.Count//Unselects third index value in ListBox1ListBox1.Unselect(3)TextBox1.Text=ListBox1.SelectedList.Count//Unselects fourth index value in ListBox1ListBox1.Unselect(4)TextBox1.Text=ListBox1.SelectedList.Count

Page 491: Hyperion Dashboard

UnSpring (Method) 5-139

UnSpring (Method)

Applies To: Field object, Table object, ReportPivot collection, ReportChart collection, Shapes collection

Description: Allows you to remove the relative vertical spacing between dynamic objects. That is, you can "unspring" one object from another so that if the first object was sprung (moved, increased or diminished), the second object moved in the same flow. To “spring” an item, see the Spring (Method).

Syntax: Expression.Unspring(Name as String)

Expression Required: An expression that unsprings a report object.

Example: This example shows you how to spring and unspring a table and chart object in the Body section.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Spring("Chart")ActiveDocument.Sections["Report"].Body.Charts["Chart"].UnSpring()

Page 492: Hyperion Dashboard

5-140 Methods

UseAlternateMetadataLocation (Method)

Applies To: Connection object, MetaDataConnection object

Description: Sets a alternate datasource for retrieving metadata information.

Syntax: Expression.UseAlternateMetadataLocation(Value As Boolean, [MetadataOce As String])

Expression Required: An expression that returns a Connection object.

Example: This example shows you how to change the metadata location for the current Data Model.

var MyDM = ActiveDocument.Sections["DataModel"].DataModelvar MyOCE = "c:\\OCEs\\MetaOracle.oce"MyDM.Connection.UseAlternatieMetadataLocation(true,MyOCE)

Page 493: Hyperion Dashboard

Write (Method) 5-141

Write (Method)

Applies To: Console

Description: Prints the output text specified by the OutputData parameter to the console window.

Note The Console.Write() object model syntax is not supported in an Intelligence iServer BQY document.

Syntax: Expression.Write(OutputData As Value)

Expression Required: An expression that returns a Console object.

Example: This example shows you how to print the names of document sections on a single line.

Console.Write(ActiveDocument.Name +"'s sections are: ")for (j=1; j < ActiveDocument.Sections.Count; j++) Console.Write(ActiveDocument.Sections[j].Name + ", ")

Page 494: Hyperion Dashboard

5-142 Methods

Writeln (Method)

Applies To: Console

Description: Prints the output text specified by the OutputData parameter to the console window and puts a new line after the inserted text.

NoteY The The Application.Alert() object model syntax is not shown in an Intelligence iServer BQY document, but the text in the first argument is written to the BI Server .log file..

Syntax: Expression.Writeln(OutputData As Value)

Expression Required: An expression that returns a Console object.

Example: This example shows you how to print the names of document sections on individual lines.

Console.Writeln(ActiveDocument.Name +"'s sections are: ")for (j=1; j < ActiveDocument.Sections.Count; j++)Console.Writeln("Section #"+j +" = " +ActiveDocument.Sections[j].Name)

Page 495: Hyperion Dashboard

6 Properties

A property stores information and can be used to change a document. This chapter provides an alphabetical reference to the properties available for Intelligence Client objects.

Object properties are simple string, numeric or true/false statements that can be set or read. For example, a section has a property called Name. Name can be set simple by assigning a string value; or read by assigning Name to a variable.

An object tracks its properties. Properties can be:

■ Read-only—A designer can access the value, but cannot change the data.

■ Read-write—A designer can access or change the value. Changing a property affects actions. For example, changing a toolbar property can make it visible or not visible.

Object properties can be accessed directly by using a name or index as in the following examples:

■ By name using [“ “] or a .

■ By index using [ ]

■ Use . when accessing a known object property

■ Use [ ] when accessing elements within a collection.

Page 496: Hyperion Dashboard

6-2 Properties

Accessibility (Property)

Applies To: Document object

Description: Allows designers of a Dashboard section to display an alternate Dashboard section and or object which can be more accessible to disabled user.

The setting of this property is determined by the '508 Compliance Preferences' user setting set in the BrowsePublish application and persists for the duration of the Intelligence iServer document session. The property is not persisted with the document.

When an iHTML document is retrieved from the repository, the BI Service makes a determination whether or not the document is to be shown with the Accessibility features enabled (whether the speed menu frame is to be shown). This determination is of course based on the '508 Compliance Preferences' setting set in the Browse/Publish application, but it remains up BI Service to enable the Accessibility features when the document is displayed in the Intelligence iServer. It is at this point, at iHTML document open, where an ObjectModel property will be set by the BIService.

The rules governing which boolean value applies to the property are cited below:

If you select a document from his/her document list and the:

■ Accessibility option is enabled in the BrowsePublish application, the property is set to TRUE

■ Accessibility option is disabled, the property is set to FALSE

The default value for this property is FALSE.

The property is not set when selections are made on the web client document link, regardless of the user's Accessibility status as web client is not Section 508 compliant.

Page 497: Hyperion Dashboard

Accessibility (Property) 6-3

Action: Read-only, Boolean

Example: This example shows you how to to display an alternate Dashboard section and. or object

Documents["Sales.bqy"].Accessibility = trueActiveDocument.Accessibility=true

Page 498: Hyperion Dashboard

6-4 Properties

Active (Property)

Applies To: ChartSection, DataModelSection, Document object, DashboardSection, OLAPQuerySection, PivotSection object, PluginDocument, QuerySection, ResultsSection, Section, TableSection object, ReportSection

Description: Section Object: Returns true if the section object refers to the current section; otherwise, false.

Document Object: Returns true if the document object refers to the current document; otherwise, false.

Note The following object model syntax is not supported in an Intelligence iServer BQY document:

■ ActiveDocument.Save()

■ ActiveDocument.SaveAs()

■ ActiveDocument.ShowCatalog

■ ActiveDocument.ShowSectionTitleBar

■ ActiveDocument.[“SectionName”].PrintOut()

■ ActiveDocument.[SectionName”].ShowOutliner

■ ActiveDocument.Sections[“Query”].ProcessStoredProc()

■ ActiveDocument.Sections[“Query”].SetStoredProcParam()

■ ActiveDocument.Sections[“Dashboard”].Shapes[“TextBox1”].OnChange()

■ ActiveDocument.Sections[“Dashboard”].Shapes[“TextBox1”].OnEnter()

■ ActiveDocument.Sections[“Dashboard”].Shapes[“ListBox1”].OnDoubleClick()

Note The Session.Active object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-only, Boolean

Page 499: Hyperion Dashboard

Active (Property) 6-5

Example: This example shows you how to find the active section in the document.

var SectionCount = ActiveDocument.Sections.Countfor(j = 1 ; j <= SectionCount ; j++){ if(ActiveDocument.Sections[j].Active == true) Alert ("The Active section is "+ActiveDocument.Sections[j].Name)}

Page 500: Hyperion Dashboard

6-6 Properties

AdaptiveState (Property)

Applies To: PluginDocument (web client only)

Description: Returns the current Adaptive state mode to which plug-in belongs.

Action: Read-only

Constants: The BqAdaptiveState constant group consists of the following values:

bqStateAnalyzeOnly

bqStateAnalyzeProcess

bqStateDataModelAnalyze

bqStateNormal

bqStateQueryAnalyze

bqStateViewOnly

bqStateViewProcess

Example: This example shows you how to use the AdaptiveState property to conditionally execute certain scripts.

var CurState = ActiveDocument.AdaptiveStateif( CurState == bqStateAnalyzeOnly || CurState == bqStateViewOnly) ActiveDocument.Sections["Start Here"].Activate()else ActiveDocument.Sections["Query"].Activate()

Page 501: Hyperion Dashboard

AdjustableScale (Property) 6-7

AdjustableScale (Property)

Applies To: ValuesAxis

Description: Returns or sets the AdjustableScale property. Setting this property equal to true will calculate the min/max (Y) range based on the first two thousand bars. As you scroll through this range (moving to the right [X] or back [Z]}, or if any bar is above the maximum or below the minimum, the Y scale is expanded to all bars.

Action: Read-Write, Boolean

Example: This example shows you how to calculate the minimum/maximum (Y) range based on the first two thousand bars for a chart.

ActiveDocument.Sections["Chart"].ValuesAxis.AdjustableScale = true

Page 502: Hyperion Dashboard

6-8 Properties

Alignment (Property)

Applies To: Column object, Shape object, EmbeddedBrowser object, HyperLink object

Description: Returns or sets the horizontal alignment of the text in a column or shape.

Action: Read-write

Constants: The BqHorizontalAlignment constant group consists of the following values:

bqAlignCenter

bqAlignLeft

bqAlignRight

Example: This example shows you how to change the horizontal alignment of text in a column.

var MyResults=ActiveDocument.Sections["SalesResults"]var ColCount = MyResults.Columns.Countfor (j = 1 ; j <= ColCount ; j++) if (MyResults.Columns[j].DataType == bqDataTypeString) MyResults.Columns[j].Alignment = bqAlignLeft else MyResults.Columns[j].Alignment = bqAlignRight

Page 503: Hyperion Dashboard

AllowNonJoinedQueries (Property) 6-9

AllowNonJoinedQueries (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of a connection objects AllowNonJoinedQueries property. Setting AllowNonJoinedQueries equal to true allows queries with nonjoined topics to be processed.

Action: Read-write, Boolean

Example: This example opens a connection file named, SQL.oce, sets the username and password, changes the connection file to support nonjoined topics, and connects to the data source.

ActiveDocument.Sections["Query"].DataModel.Connection.Open("c:\\OCEs\\SQL.oce")ActiveDocument.Sections["Query"].DataModel.Connection.Username = "brio"ActiveDocument.Sections["Query"].DataModel.Connection.SetPassword("briobrio")ActiveDocument.Sections["Query"].DataModel.Connection.AllowNonJoinedQueries = trueActiveDocument.Sections["Query"].DataModel.Connection.Connect()

Page 504: Hyperion Dashboard

6-10 Properties

API (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of the API associated with a connection file.

Action: Read-write

Constants: The BqApi constant group consists of the following values:

bqApiCTLib

bqApiEssbase

bqApiMetaCube

bqApiNone

bqApiODBC

bqApiOLEDB

bqApiOpenClient

bqApiOracleExpress6

bqApiPersonalOracleExpress5

bqApiSQLNet

Example: This example shows you how to create a connection file from scratch and save it to a local file.

var myConmyCon = Application.CreateConnection()myCon.Api =bqApiSQLNetmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")//Now use this connection in a datamodelActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

Page 505: Hyperion Dashboard

AttributeDimension (Property) 6-11

AttributeDimension (Property)

Applies To: Dimension object

Description: Sets the Attribute Dimensions property for a dimension in Essbase. An Attribute Dimension level can be used in combintation with any Base Dimension to enhance the meaning of dimensional data. It is displayed in the Catalog Pane of the OLAP tree following the regular Dimension name. The Attribute Dimension has the text (attribute) following their name. Attribute Calculations are also visible as a separate dimension and the calculation functions are used in combination with any Attribute Diemsnion level or member..

Action: Read only, Boolean

Example: This example shows you how to activate AutoAliasing and AutoJoining.

ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Market"].AttributeDimension

Page 506: Hyperion Dashboard

6-12 Properties

AutoAlias (Property)

Applies To: DataModel object

Description: Returns or sets the value of a Data Model AutoAlias property.

Action: Read-write, Boolean

Example: This example shows you how to activate AutoAliasing and AutoJoining.

ActiveDocument.Sections["Query"].DataModel.AutoAlias = trueActiveDocument.Sections["Query"].DataModel.AutoJoin = true

Page 507: Hyperion Dashboard

AutoCommit (Property) 6-13

AutoCommit (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of a connection object Autocommit property. Set this property to false if your database does not support Autocommit.

Action: Read-write, Boolean

Example: This example shows you how to create a connection from scratch and save it to a local file.

var myConmyCon = Application.CreateConnection()myCon.Api =bqApiSQLNetmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.AutoCommit = falsemyCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")//Now use this connection in a datamodelActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

Page 508: Hyperion Dashboard

6-14 Properties

AutoFrequency (Property)

Applies To: XaxisLabel

Description: Returns or sets the value of a chart objects’ AutoFrequency object. This property enables/disables the chart function to choose automatically the display frequency on the X-axis.

Action: Read-write, Boolean

Example: This example shows you how to change a chart X-axis to support Auto Frequency.

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.AutoFrequency = true

Page 509: Hyperion Dashboard

AutoInterval (Property) 6-15

AutoInterval (Property)

Applies To: LeftAxis

Description: Returns or sets the value of a chart object’s AutoInterval property. This property enables/disables the chart function to choose automatically the data interval on the left axis.

Action: Read-write, Boolean

Example: This example shows you how to change a chart’s left-axis to support auto interval.

ActiveDocument.Sections["Chart"].ValuesAxis.LeftAxis.AutoInterval = true

Page 510: Hyperion Dashboard

6-16 Properties

AutoJoin (Property)

Applies To: DataModel object

Description: Returns or sets the value of a Data Model object’s AutoJoin property. This property enables/disables the Data Model function to create automatic joins between topics that are added to it.

Action: Read-write, Boolean

Example: This example shows you how to turn on Auto Aliasing and Auto Joining.

ActiveDocument.Sections["Query"].DataModel.AutoAlias = trueActiveDocument.Sections["Query"].DataModel.AutoJoin = true

Page 511: Hyperion Dashboard

AutoProcess (Property) 6-17

AutoProcess (Property)

Applies To: QuerySection

Description: Returns or sets the value of a Query Section object’s AutoProcess property. This property enables/disables a query’s ability to automatically process itself when it is opened or downloaded from the repository.

Action: Read-write, Boolean

Example: This example shows you how to enable AutoProcess.

ActiveDocument.Sections["Query"].AutoProcess = true

Page 512: Hyperion Dashboard

6-18 Properties

AutoResize (Property)

Applies To: ChartSection object

Description: Returns or sets the charts AutoResize property. Setting this property equal to true which redraws all the Chart components in such a way that the Chart Border is expanded to fit with the maximum allowable height or width of the Contents Pane.

.Action: Read-write, Boolean

Example: This example shows you how to add a title to a chart.

ActiveDocument.Sections["Chart"].AutoResize = true

Page 513: Hyperion Dashboard

AutoScale (Property) 6-19

AutoScale (Property)

Applies To: LeftAxis, RightAxis

Description: Returns or sets the value of a chart axis’s AutoScale property. This property enables/disables a chart axis’s ability to automatically determine the best scale.

Action: Read-write, Boolean

Example: This example enables Autoscaling on the left and right values axis.

ActiveDocument.Sections["Chart"].ValuesAxis.LeftAxis.AutoScale = trueActiveDocument.Sections["Chart"].ValuesAxis.RightAxis.AutoScale = true

Page 514: Hyperion Dashboard

6-20 Properties

AvailableValues (Property)

Applies To: Limit

Description: Returns a collection of values that represent the entire list of valid criteria for a limit.

Action: Read-only

Example: This example shows you how to take every value from the AvailableValues collection and add them to the SelectedValues collection. This is essentially the same as performing a select all values and transferring the selection in the Limit User Interface.

LimitCount = ActiveDocument.Sections["Results"].Limits[1].AvailableValues.Countfor (i=1;i<=LimitCount;i++){MyVal = ActiveDocument.Sections["Results"].Limits[1].AvailableValues[i]ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(MyVal)}

Page 515: Hyperion Dashboard

AxisPlotValues (Property) 6-21

AxisPlotValues (Property)

Applies To: Line Chart Facts

Description: Returns or sets the axis plot value of each fact in a line Chart. This property corresponds to the features on the Line Chart Axis Properties dialog box.

Action: Read-write

Constants: The BqChartAxisPlotValue constant group consists of the following values:

bqChartAxisPlotPrimary

bqChartAxisPlotSecondary

Example: This example shows you how to set the axis plot value to the primary or left axis.

ActiveDocument.Sections["Chart"].Facts["Unit_Sales"].AxisPlotValue=bqChartAxisPlotPrimary

Page 516: Hyperion Dashboard

6-22 Properties

AxisType (Property)

Applies To: CategoryItems

Description: Returns an enumerated type that represents the type of axis (X, Y or Z).

Action: Read-only

Constants: The BqChartAxisType group consists of the following values:

bqChartXAxis

bqChartYAxis

bqChartZAxis

Example: This example shows you how to determine the type of chart axis.

switch(ActiveDocument.Sections["Chart"].XCategories.AxisType ){case bqChartXAxis:Alert("The axis is X)Breakcase bqChartYAxis:Alert("The axis is Y)Breakcase bqChartZAxis:Alert("The axis is Z)Break}

Page 517: Hyperion Dashboard

BackgroundAlternateColor (Property) 6-23

BackgroundAlternateColor (Property)

Applies To: ResultsSection object, TableSection object, ReportTable object

Description: Sets the background color of staggered (alternate) rows in a table.

Action: Read–write, BqColor Type

Constants: The BackgroundAlternateColor property uses the BqColorType constant group, which consists of the following values.

bqAqua

bqBlack

bqBlue

bqBlueGray

bqBrightGreen

bqBrown

bqDarkBlue

bqDarkGreen

bqDarkRed

bqDarkTeal

bqDarkYellow

bqGold

bqGray40

bqGray50

bqGray80

bqGreen

bqIndigo

bqLavender

bqLightBlue

Page 518: Hyperion Dashboard

6-24 Properties

bqLightGreen

bqLightOrange

bqLightTurquoise

bqLightYellow

bqLime·

bqOliveGreen

bqOrange

bqPaleBlue

bqPink

bqPlum

bqRed

bqSeaGreen

bqSkyBlue

bqTan

bqTea

bqTransparent

bqTurquoise

bqViolet

bqWhite

bqYellow

Example: This example shows you how to set the alternate background color of every other row to yellow.

ActiveDocument.Sections["Results"].BackgroundAlternateColor = bqLightYellowActiveDocument.Sections["Results"].BackgroundAlternateFrequency = 1

Page 519: Hyperion Dashboard

BackgroundAlternateFrequency (Property) 6-25

BackgroundAlternateFrequency (Property)

Applies To: ResultsSection object, TableSection object, ReportTable object

Description: Defines how often alternate colored rows occur. For example, an alternate color row can occur on every other row, or every third row.

Action: Read-write, Number

Example: This example shows you how to set alternate colored rows to occur on every other row. It also changes the background alternate color to light yellow.

ActiveDocument.Sections["Table2"].BackgroundAlternateColor = bqLightYellowActiveDocument.Sections["Table2"].BackgroundAlternateFrequency = 1

Page 520: Hyperion Dashboard

6-26 Properties

BackgroundColor (Property)

Applies To: ResultsSection object, TableSection object, ReportTable object, Measure object

Description: Sets the background color of rows in a Table section.

Action: Read-write, BqColorType

Constants: The BackgroundColor property uses the BqColorType constant group, which consists of the following values.

bqAqua

bqBlack

bqBlue

bqBlueGray

bqBrightGreen

bqBrown

bqDarkBlue

bqDarkGreen

bqDarkRed

bqDarkTeal

bqDarkYellow

bqGold

bqGray40

bqGray50

bqGray80

bqGreen

bqIndigo

bqLavender

bqLightBlue

Page 521: Hyperion Dashboard

BackgroundColor (Property) 6-27

bqLightGreen

bqLightOrange

bqLightTurquoise

bqLightYellow

bqLime·

bqOliveGreen

bqOrange

bqPaleBlue

bqPink

bqPlum

bqRed

bqSeaGreen

bqSkyBlue

bqTan

bqTeal

bqTransparent

bqTurquoise

bqViolet

bqWhite

bqYellow

Example: This example shows you how to set the background color of rows to light green in the Table section.

ActiveDocument.Sections["Table"].BackgroundColor = bqLightGreen

Page 522: Hyperion Dashboard

6-28 Properties

BackgroundShowAlternateColor (Property)

Applies To: ResultsSection object, TableSection object, ReportTable object

Description: Sets the option to use the alternating row color functionality. You can use the alternate row colors at the column level or table level.

Action: Boolean

Example: This example shows you how to enable the show alternate color feature, the set alternate colored rows to occur on every other row. It also sets the background alternate color to bright green.

ActiveDocument.Sections["MusicTable"].BackgroundShowAlternateColor = trueActiveDocument.Sections["MusicTable"].BackgroundAlternateFrequency = 1ActiveDocument.Sections["MusicTable"].BackgroundAlternateColor = bqBrightGreen

Page 523: Hyperion Dashboard

BeginLimitName (Property) 6-29

BeginLimitName (Property)

Applies To: Parentheses object

Description: When the Parentheses collection is invoked, this property sets the limit value before which the beginning parentheses is inserted. This property is often used in conjunction with the EndLimitName property.

Action: Read-only, BeginLimitName as String

Example: This example shows you how to display the name of the beginning limit value enclosed in a parenthetical expression on the limit line:

Alert(ActiveDocument.Sections["Query"].Limits.Parentheses["State Province,City"].BeginLimitName)

Page 524: Hyperion Dashboard

6-30 Properties

BorderColor (Property)

Applies To: ResultsSection object, TableSection object

Description: Sets the color of a table border.

Action: Read-write, BqColorType

Constants: The BorderColor property uses the BqColorType constant group, which consists of the following values:

bqAqua

bqBlack

bqBlue

bqBlueGray

bqBrightGreen

bqBrown

bqDarkBlue

bqDarkGreen

bqDarkRed

bqDarkTeal

bqDarkYellow

bqGold

bqGray40

bqGray50

bqGray80

bqGreen

bqIndigo

bqLavender

bqLightBlue

Page 525: Hyperion Dashboard

BorderColor (Property) 6-31

bqLightGreen

bqLightOrange

bqLightTurquoise

bqLightYellow·

bqLime

bqOliveGreen

bqOrange

bqPaleBlue

bqPink

bqPlum

bqRed

bqSeaGreen

bqSkyBlue

bqTan

bqTeal

bqTransparent

bqTurquoise

bqViolet

bqWhite

bqYellow

Example: The following example shows you how to set the color of the table border to red in a Table section.

ActiveDocument.Sections["Table2"].BorderColor = bqRed

Page 526: Hyperion Dashboard

6-32 Properties

BorderWidth (Property)

Applies To: ResultsSection object, Table object, ReportTable object

Description: Sets the width of a border in points.

Action: Read-write, Number

Example: This example shows you how to set the border width to 4 points.

ActiveDocument.Sections["Results"].BorderWidth = 3

Page 527: Hyperion Dashboard

BottomMargin (Property) 6-33

BottomMargin (Property)

Applies To: ReportSection object

Description: Sets the bottom margin of the report. Margins are set for the entire report.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Number

Example: This example shows you how to set the bottom margin of the report to .25 inches.

ActiveDocument.Sections["Report"].BottomMargin = .25

Page 528: Hyperion Dashboard

6-34 Properties

BrushStyle (Property)

Applies To: Legend Collection

Description: Returns or sets the brush style property of a legend item.

Action: Read-write, Number

Constants: The BrushStyle property uses the BqBrushStyle constant group, which consists of the following values:

bqBrushStyleCross

bqBrushStyleDiagCross

bqBrsuhStyleDiagDown

bqBrushStyleDiagUp

bqBrushStyleHollow

bqBrushStyleHorizontal

bqBrushStyleSolid

bqBrushStyleVertical

Example: This example shows you how to set the brush style of a legend item property to solid:

ActiveDocument.Sections["Chart2"].Legend.Items[1].Fill.BrushStyle=bqBrushStyleSolid

Page 529: Hyperion Dashboard

ChartType (Property) 6-35

ChartType (Property)

Applies To: ChartSection object

Description: Returns or sets the type of chart. This property controls which type of chart is displayed in the chart section.

Action: Read-write

Constants: The BqChartType constant group consists of the following values:

bqChartTypeArea

bqChartTypeAreaLine

bqChartTypeBarLine

bqChartTypeClusterBar

bqChartTypeHorizontalBar

bqChartTypeHorizontalStackBar

bqChartTypeLine

bqChartTypeNone

bqChartTypePie

bqChartTypeRibbon

bqChartTypeStackArea

bqChartTypeVerticalBar

bqChartTypeVerticalStackBar

Example: This example shows you how to change chart properties based on the type of chart.

if (ActiveDocument.Sections["Chart"].ChartType == bqChartTypeBarLine){ActiveDocument.Sections["Chart"].BarLineChart.ClusterBy = bqClusterByZActiveDocument.Sections["Chart"].BarLineChart.IgnoreNulls = falseActiveDocument.Sections["Chart"].BarLineChart.ShiftPoints = bqShiftCenterActiveDocument.Sections["Chart"].BarLineChart.StackClusterType = bqBarLineClusterActiveDocument.Sections["Chart"].BarLineChart.ShowBarValues = false}

Page 530: Hyperion Dashboard

6-36 Properties

Checked (Property)

Applies To: ControlsCheckBox, ControlsRadioButton

Description: Returns or sets the selection of a check box or radio button controls.

Action: Read-write, Boolean

Example: This example shows you how to change the selection of a Radio button or check box. This script assumes that you are running in the same Dashboard as two controls: RadioButton1, CheckBox1.

if (RadioButton1.Checked ==true) CheckBox1.Checked = falseelse CheckBox1.Checked = true

Page 531: Hyperion Dashboard

ClientScriptStatus (Property) 6-37

ClientScriptStatus (Property)

Applies To: ActiveSection object, EmbeddedBrowser object

Description: Client-side JavaScripts instructs the server code to run or not by the following status indicators:

■ ActiveSection.ClientScriptStatus

■ Object.ClientScriptStatus

For example, if the client-side JavaScript (which might be activated by a command button) determines that a user did not check an option or entered alphabetic data instead of numeric, the server side JavaScript does not run until the user types the correct data.

Use the ActiveSection.ClientScriptStatus status indicator when you need to coordinate an action between objects. This indicator takes a Boolean value.

Use the Object.ClientScriptStatus status indicator to initiate an action for an independent objects. The “object” in the Object.ClientScriptStatus status indicator is replaced with the object’s name such as CommandButton1.ClientScriptStatus (“object” does not exist on its own). This indicator also takes a Boolean value. Note that an independent object is still subject to the ActiveSection’s script status settings.

Action: Read-write, Boolean

Example: This example shows you how to set the indicator value for an embedded object to true.

EmbeddedBrowser1.ClientScriptStatus=true

Page 532: Hyperion Dashboard

6-38 Properties

Clusterby (Property)

Applies To: BarChart, BarLineChart

Description: Returns or sets the type of clustering used when displaying Bar or Bar Line charts.

Action: Read-write

Constants: The BqClusterBarType constant group consists of the following values:

bqClusterByY

bqClusterByZ

Example: This example shows you how to cluster the data according to the values on the Z-axis.

ActiveDocument.Sections["Chart"].BarChart.ClusterBy = bqClusterByZ

Page 533: Hyperion Dashboard

Color (Property) 6-39

Color (Property)

Applies To: Font, Fill, Line

Description: Returns or sets the color of text associated with a font object. The color property may be set using the values in the BqColorType constant group or by using a hexadecimal number that represents a RGB color value.

Action: Read-write

Constants: The following values are some of the values that are contained in the BqColorType constant group. For a complete list see the Intelligence Clients object model Script Editor.

bqAqua

bqBlack

bqBlue

bBlueGray

bqBrightGreen

bqBrown

bqDarkBlue

bqDarkYellow

bqLightBlue

bqLightOrange

bqWhite

bqYellow

Example: This example shows you how to set the color, width and dash style of the border of an Dashboard text label box.

MyColor = ActiveDocument.Sections["Dashboard"].Shapes["TextLabel"]MyColor.Line.Color = bqRedMyColor.Line.Width = 4MyColor.Line.DashStyle = bqDashStyleDotDotDash

Page 534: Hyperion Dashboard

6-40 Properties

ColumnType (Property)

Applies To: Column

Description: Returns a value that represents the type of Results or Table column. Possible column types are: Normal, Computed, Date and Grouped.

Action: Read-only

Constants: The BqColumnType constant group consists of the following values:

bqColumnNone

bqComputedColumn

bqDateColumn

bqGroupedColumn

bqStandardColumn

Example: This example shows you how to determine the column type in a Results section.

for (j = 1 ; j < = ActiveDocument.Sections["Results"].Columns.Count ;j++){ MyCol = ActiveDocument.Sections["Results"].Column[j]. switch (MyCol.Type) { case bqComputedColumn: Alert ("The column named "+MyCol.Name + "is a Computed column") Break case bqDateColumn: Alert ("The column named "+MyCol.Name + "is a Date column") Break case bqGroupedColumn: Alert ("The column named "+MyCol.Name + " is a Grouped column") Break case bqStandardColumn: Alert ("The column named "+MyCol.Name + "" is a Standard column”) Break }

}

Page 535: Hyperion Dashboard

Connected (Property) 6-41

Connected (Property)

Applies To: Connection object

Description: Returns a value that represents the current connection status of a connection object. Returns true if the user is connected to the data source; otherwise, false.

Action: Read-only, Boolean

Example: This example shows you how to check the connection status of a connection object and how to prompt a user to connect.

var MyCon =ActiveDocument.Sections["SalesQuery"].DataModel.Connectionif (MyCon.Connected ==false){

if (Alert("Do you want to connect to the database?", "Get Connected"," Yes"," No")==1)

MyCon.Connect() }

Page 536: Hyperion Dashboard

6-42 Properties

ContainsHybridAnalysisData (Property)

Applies To: OLAPLevelorHierarchy

Description: Returns or sets the ContainsHybridAnalysisData property. Use this property to indicate if a dimension level or hierarchy has hybrid analysis values available.

Action: Read-only, Boolean

Example: This example shows you how to enable Hybrid Analysis for the OLAP query and show that Hybrid Analysis is available in an Alert box.

ActiveDocument.Sections["OLAPQuery"].DBSpecific.EnableForHybridAnalysis= trueActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Location"].ContainsHybridAnalysisData = trueAlert("Dimension has Hybrid Analysis")

Page 537: Hyperion Dashboard

Count (Property) 6-43

Count (Property)

Applies To: AggregateLimits collection, AppendQueries collection, AxisLabels, CategoryItems collection, Columns. Controls, ControlsDropDown, ControlsListBox, DerivableQueries collection, DerivedItems collection, DerivedTables collection, DMCatalogItem collection, DMResults, Documents collection, Joins collection, Limits, LimitValues, ListSelection, LocalJoins, LocalResults, OLAPLabel, OLAPLabels, OLAPMeasure, OLAPMeasures, OLAPSlicer, OLAPSlicers, Parentheses collection, PivotLabels, PivotLabelValue, PivotLabelTotals collection, RecentFiles, Repository, Requests collection, Results collection, Sections collection, SortItems collection, Sorts, StoredProcedures, Toolbars, TopicItems collection, Topics collection, TopLabels collection

Description: Returns a value that represents the number of items in a collection. The count property is a standard property of all collections.

Action: Read-only, Number

Example: This example shows you how to determine the number of sections in a document and the number of columns in a Results section.

var NumSections = ActiveDocument.Sections.Countvar NumColumns = ActiveDocument.Sections["Results"].Columns.Count

Page 538: Hyperion Dashboard

6-44 Properties

CubeName (Property)

Applies To: OlapConnection object

Description: Returns the name of a cube object.

Action: Read-only, String

Example: This example shows you how to return the name of the cube for the OLAP query in an Alert box.

Alert(ActiveDocument.Sections["OLAPQuery"].Connection.CubeName)

Page 539: Hyperion Dashboard

CurrentDir (Property) 6-45

CurrentDir (Property)

Applies To: Application

Description: Returns a value that represents the working directory of the application. The working directory specifies the path used by Intelligence Clients when using relative referencing.

Action: Read-write, String

Example: This example shows you how to change the working directory of the application.

Note JavaScript treats “\” as a special character.

var MyDir = "c:\Documents\Demos\JavaScript"Application.CurrentDir = MyDir

Page 540: Hyperion Dashboard

6-46 Properties

CSSExport (Property)

Applies To: PivotSection object, ResultsSection, ReportSection object,

Description: Sets the property to export an html page with a Cascading Style Sheet (CSS).In the user interface, the Cascading Style Sheet (CSS) file is used to apply a common "look and feel" to a set of related HTML pages. Intelligence Clients creates this file by default when exporting most sections to HTML format, giving each a "high fidelity" rendition in HTML of the section as seem in the Hyperion Intelligence Client itself.Because it is an extra file, it is sometimes less convenient, such as when e-mailing an HTML page for example. For this reason, Intelligence Clients allows you to have the style information embedded in the HTML file itself.

Action: Read-write, Boolean

Example: This example shows you how to export the Style Sheet with the report section.

ActiveDocument.Sections["Report"].CSSExport = true

Page 541: Hyperion Dashboard

CustomSQL (Property) 6-47

CustomSQL (Property)

Applies To: Limit

Description: Returns or sets the value of the CustomSQL strings in a limit.

Action: Read-write, String

Example: This example shows you how to set the value of the custom SQL for a limit.

var SQLString = "SELECT Name From Customers WHERE Cust_ID > 200"ActiveDocument.Sections["Query"].Limits[1].CustomSQL = SQLString

Page 542: Hyperion Dashboard

6-48 Properties

DashStyle (Property)

Applies To: Line

Description: Returns or sets the type of border style for a shape or control.

Action: Read-write

Constants: The BqDashStyle constant group consists of the following values:

bqDashStyleDash

bqDashStyleDot

bqDashStyleDotDash

bqDashStyleDotDotDash

bqDashStyleSolid

Example: This example shows you how to change border color, width and the dash style of a rectangle.

MyRectangle = ActiveDocument.Sections["Dashboard"].Shapes["Rectangle"]MyRectangle.Line.Color = bqRedMyRectangle.Line.Width = 4MyRectangle.Line.DashStyle = bqDashStyleDotDotDash

Page 543: Hyperion Dashboard

Database (Property) 6-49

Database (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the name of the database vendor and version number.

Action: Read-write

Constants: The following values are some of the values that are contained in the BqDataBase constant group. For a complete list see the Intelligence Clients object model Script Editor.

bqDatabaseAS400

bqDatabaseBroadbase

bqDatabaseDB2Olap

bqDatabaseEssbase6

bqDatabaseInformix7

bqDatabaseSQLServer7

bqDatabasenone

bqDatabaseODBC

bqDatabaseOracle8

bqDatabaseRedBrick5Warehouse

bqDatabaseSybaseSystem11

bqDatabaseTeraData

Page 544: Hyperion Dashboard

6-50 Properties

Example: This example shows you how to create a new connection (OCE) from scratch using JavaScript.

var myConmyCon = Application.CreateConnection()myCon.Api =bqApiSQLNetmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")//Now use this connection in a datamodelActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

Page 545: Hyperion Dashboard

DatabaseList (Property) 6-51

DatabaseList (Property)

Applies To: Connection object, MetaDataConnection object (Sybase Only and SQL Server only)

Description: Returns or sets the list of databases to which the OCE can connect.

Action: Read-write, String

Example: This example shows you how to creates a database connection and sets the list of databases to which the oce can connect.

var myConmyCon = Application.CreateConnection()myCon.Api =bqApiSQLNetmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.DatabaseList = "master, customer, sales"myCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce"

//Now use this connection in a datamodelActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

Page 546: Hyperion Dashboard

6-52 Properties

DatabaseName (Property)

Applies To: DMCatalogItem object

Description: Returns the name of the database associated with a table in the table catalog.

Action: Read-only

Example: This example prints out the name of the database for each table in the Table Catalog.

var TableCatalog = ActiveDocument.Sections["SalesQuery"].DataModel.Catalogvar TableCount = ActiveDocument.TableCatalog.CatalogItems.Countfor (j=1;j<=TableCount;j++)Console.Writeln (TableCatalog.CatalogItems[j].Name)

Page 547: Hyperion Dashboard

DatabaseTotals (Property) 6-53

DatabaseTotals (Property)

Applies To: OLAPQuery object

Description: Returns database totals when the OLAPQuery is processed.

Action: Read-write, Boolean

Example 1: This example shows you how to return database totals when the OLAP query is processed.

ActiveDocument.Sections["OLAPQuery"].DatabaseTotals = true

Example 2: This example shows you how to use an if...else statement to show if database totals are active or not. The script is attached to a command button and the message is displayed in a text box.

dbTotals = ActiveDocument.Sections["OLAPQuery"].DatabaseTotalsif (dbTotals ){TextBox1.Text = "Database Totals are on"}else{ TextBox1.Text = "DB Totals are off"}

Page 548: Hyperion Dashboard

6-54 Properties

Constants: The DataFunction property uses the BqDataFunction constant. The BqDataFunction constant consists of the following values:

bqDataFunctionAverage

bqDataFunctionCount

bqDataFunctionIncrease (Pivot Totals properties, not Facts)

bqDataFunctionMaximum

bqDataFunctionMinimum

bqDataFunctionNone

bqDataFunctionNonNullAverage

bqDataFunctionNonNullCount

Page 549: Hyperion Dashboard

DataFunction (Property) 6-55

DataFunction (Property)

Applies To: Chart and Pivot Facts

Description: Returns aggegrate values which summarize groupings of data when applied to Chart and Pivot facts. In the user interface, data functions are available from the right-click menu and Chart and Pivot menus only if a fact value is selected. Data functions are particularly useful when you need to show the kind of value represented in the Chart and Pivot report. For example, you can show the total sale, average sale, and maximum sale of each product by Quarter. The supported data functions for Pivot and Chart Facts are:

Sum (default function)

Average

Count

Maximum

Minimum

Percent Grand

Percent Column

Percent Row

Null Count

Non-Null Count

Action: Read-only

Page 550: Hyperion Dashboard

6-56 Properties

Constants: The DataFunction property uses the BqDataFunction constant. The BqDataFunction constant consists of the following values:

bqDataFunctionAverage

bqDataFunctionCount

bqDataFunctionIncrease (Pivot Totals properties, not Facts)

bqDataFunctionMaximum

bqDataFunctionMinimum

bqDataFunctionNone

bqDataFunctionNonNullAverage

bqDataFunctionNonNullCount

bqDataFunctionNullCount

bqDataFunctionPercentOfColumn

bqDataFunctionPercentOfRow

bqDataFunctionPercentofGrand (For Totals, not Facts)

bqDataFunctionSum

Example: This example shows you how to set the "Product Line" TopLabels column in the Pivot section to the average data function.

ActiveDocument.Sections["SalesPivot"].TopLabels["Product Line"].Totals[2]. DataFunction=bqDataFunctionAverage

Page 551: Hyperion Dashboard

DataType (Property) 6-57

DataType (Property)

Applies To: Column, Requests collection

Description: Returns the data type associated with an object.

Action: Read-only

Constants: The BqDataType constant group consists of the following values:

bqDataTypeDate

bqDataTypeInteger

bqDataTypeNone

bqDataTypeNumber

bqDataTypeString

Example: This script example returns the data type associated with all columns in a Results section.

var ColCount = ActiveDocument.Sections["Results"].Columns.Countfor (j = 1 ; j <= ColCount ; j++){Console.Writeln(ActiveDocument.Sections["Results"].Columns[j].DataType)}

Page 552: Hyperion Dashboard

6-58 Properties

DBLibAllowChangeDatabase (Property)

Applies To: Connection object, MetaDataConnection object

Description: DB-Lib Only. Returns or sets the value of the DBLibAllowChangeDatabase property. Allows the user to change the database during login.

Note The DBLibAllowChangeDatabase object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to create a new connection (OCE) from scratch using JavaScript.

var myConmyCon = Application.CreateConnection()myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.DBLibAllowChangeDatabase = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 553: Hyperion Dashboard

DBLibApiSeverity (Property) 6-59

DBLibApiSeverity (Property)

Applies To: Connection object, MetaDataConnection object

Description: DB-Lib only. Returns or sets the value of the DBLibApiSeverity property. Changes the API’s error level severity.

Note The DBLibApiSeverity object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Long

Example: This example shows you how to create a new connection (OCE) from scratch using JavaScript.

var myConmyCon = Application.CreateConnection()myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.DBLibApiSeverity = 2myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 554: Hyperion Dashboard

6-60 Properties

DBLibDatabaseCancel (Property)

Applies To: Connection object, MetaDataConnection object

Description: DB-Lib only. Returns or sets the value of the DBLibDatabaseCancel property. Changes the Database cancel options.

Note The DBLibApiDatabaseCancel object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write

Constants: The BqDbLibCancelMode constant group consists of the following values:

bqDbLibCancel

bqDbLibLogoff

bqDbLibPrompt

Example: This example shows you how to create a new connection (OCE) from scratch using JavaScript.

var myConmyCon = Application.CreateConnection()myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.DBLibDatabaseCancel = bqDbLibPromptmyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 555: Hyperion Dashboard

DBLibPacketSize (Property) 6-61

DBLibPacketSize (Property)

Applies To: Connection object, MetaDataConnection object

Description: DB-Lib only. Returns or sets the value of the DBLibPacketSize property. Changes the packet size of the query.

Note The DBLibPacketSize object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Numeric

Example: This example shows you how to create a new connection (OCE) from scratch using JavaScript.

var myConmyCon = Application.CreateConnection()myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.DBLibPacketSize = 200myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 556: Hyperion Dashboard

6-62 Properties

DBLibServerSeverity (Property)

Applies To: Connection object, MetaDataConnection object

Description: DB-Lib Only. Returns or sets the value of the DBLibServerSeverity property. Changes the Server’s error level severity.

Note The DBLibServerSeverity object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Numeric

Example: This example shows you how to create a new connection (OCE) from scratch using JavaScript.

var myConmyCon = Application.CreateConnection()myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.DBLibServerSeverity = 2myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 557: Hyperion Dashboard

DBLibUseQuotedIdentifiers (Property) 6-63

DBLibUseQuotedIdentifiers (Property)

Applies To: Connection object, MetaDataConnection object

Description: DB-Lib Only. Returns or sets the value of the DBLibUseQuotedIdentifiers property.

Enable or disable the use of quoted indentures when connecting via DB-Lib.

Note The DBLibUseQuotedIdentifiers object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to create a new connection (OCE) from scratch using JavaScript.

Var myConmyCon = Application.CreateConnection()myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServerMyCon.HostName ="PlutoSQLSVR"MyCon.DBLibUseQuotedIdentifiers = trueMyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 558: Hyperion Dashboard

6-64 Properties

DBLibUseSQLTable (Property)

Applies To: Connection object, MetaDataConnection object

Description: DB-Lib Only. Returns or sets the value of the DBLibUseSQLTable property. If enabled the connection will use SQL to get tables.

Note The DBLibUseSQLTable object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to create a new connection (OCE) from scratch using JavaScript.

var myConmyCon = Application.CreateConnection()myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServerMyCon.HostName ="PlutoSQLSVR"MyCon.DBLibUseSQLTable = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 559: Hyperion Dashboard

DecimalPlaces (Property) 6-65

DecimalPlaces (Property)

Applies To: DBSpecific (Essbase) object

Description: Sets the number of decimal places that the server will return. The DecimalPlaces property supports only values 0-5.

Action: Read-write, Number

Example: This example shows you how to set the number of decimal places to 3.

ActiveDocument.Sections["OLAPQuery"].DBSpecific.DecimalPlaces=3

Page 560: Hyperion Dashboard

6-66 Properties

Description (Property)

Applies To: Connection object

Description: Returns or sets the description associated with an Open Catalog Extension (OCE).

Action: Read-write, String

Example: This example creates a connection file from scratch and then applies it to the current document.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 561: Hyperion Dashboard

DHTMLExportBreakRowCount (Property) 6-67

DHTMLExportBreakRowCount (Property)

Applies: OLAPQuerySection object, PivotSection object, ResultsSection, TableSection object

Description: Enables users to set the number of rows per exported HTML page. This setting is used exclusively for HTML pages pregenerated for use with the Ingelligence iServer. The default is 100. Setting the value to 0 causes the HTML pages not to break.

Note Make sure that you publish or republish the BQY file once you have set any dynamic HTML properties. Any changes you make either through the Export Properties dialog or through the Object Model are not inherited until the BQY file is republished.

Action: Read-write, Number

Example 1: This example retrieves the value of HTMLExportBreakRowCount.

var breakVal=ActiveDocument.Sections["Pivot"]. HTMLExportBreakRowCount;

Example 2: This example shows you how to print the names of all the columns in the Results section to the console window; export the section in html format; set the pregenerate mode to “range”; pregenerate the first and last five pages, and set the vertical page break to 100 rows.

MyResults = ActiveDocument.Sections["Results"]ColumnCount = MyResults.Columns.Countfor (I=1;I<= ColumnCount;I++)Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n")MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML)MyResults.HTMLPregenerateMode = bqHTMLPregenerateModeRangeMyResults.HTMLPregenerateFirstLastNPages = 5MyResults.DHTMLVerticalPageBreakUnits = bqHTMLPageBreakUnitsRowsMyResults.DHTMLExportBreakRowCount = 100

Page 562: Hyperion Dashboard

6-68 Properties

DHTMLVerticalPageBreakUnits (Property)

Applies To: PivotSection, ResultsSection, TableSection, OLAPQuerySection

Description: Sets the type of unit (row, pixel or none) to use for the vertical page break on a HTML page. This setting is used exclusively for HTML pages pregenerated for use with the Ingelligence iServer.This property is used in conjunction with the BqHTMLPageBreakUnits constant group and the DHTMLExportBreakRowCount (Property).

Note Make sure that you publish or republish the BQY file once you have set any dynamic HTML properties. Any changes you make either through the Export Properties dialog or through the Object Model are not inherited until the BQY file is republished.

Constants: This property references the BqHTMLPageBreakUnits constants group, which consists of the following values:

■ bqHTMLPageBreakUnitsNone

■ bqHTMLPageBreakUnitsPixels

■ bqHTMLPageBreakUnitsRows

Example: This example shows you how to print the names of all the columns in the Results section to the console window; export the section in html format; set the pregenerate mode to “range”; pregenerate the first and last five pages, and set the vertical page break to 100 rows.

MyResults = ActiveDocument.Sections["Results"]ColumnCount = MyResults.Columns.Countfor (I=1;I<= ColumnCount;I++)Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n")MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML)MyResults.HTMLPregenerateMode = bqHTMLPregenerateModeRangeMyResults.HTMLPregenerateFirstLastNPages = 5MyResults.DHTMLVerticalPageBreakUnits = bqHTMLPageBreakUnitsRowsMyResults.DHTMLExportBreakRowCount = 100

Page 563: Hyperion Dashboard

Display (Property) 6-69

Display (Property)

Applies To: CornerLabels object, DataLabels object

Description: Returns the display value of a corner or data label. The Display property uses the BqPivotLabelDisplay constant. Valid options for displaying the label are side, top, both or none. The default corner label value is none.

Action: Read-write, String

Constants: The BqPivotLabelDisplay constant group consists of the following values:

BqPivotLabelDisplayBoth

BqPivotLabelDisplayNone

BqPivotLabelDisplaySide

BqPivotLabelDisplayTop

Example: This example shows you how to return a corner label at the top of the pivot report .

ActiveDocument.Sections["SalesPivot"].CornerLabels. Display=bqPivotLabelDisplayBoth

Page 564: Hyperion Dashboard

6-70 Properties

DisplayMode (Property)

Applies To: HyperLink object

Description: Select where to display the contents of the hyperlink control from the Display In dropdown list.

Valid options are:

■ New Window – A new pop-up window is created every time the hyperlink is pressed. This is the default setting. All browser menus and toolbars are hidden. This maps to the OpenURL OM method's "_blank" target.

■ Current Window – If the execution application is the web client, or Intelligence iServer, then the content replaces the entire Intelligence iServer content area (i.e. excluding surrounding browse application frames). In Designer a pop-up window will display.

■ Top Window – If the execution application is the web client, or Intelligence iServer, then the content replaces the top-most HTML window. This maps to the OpenURL OM methods "_top" target.

■ Named Window – A "named" pop-up window is created. If the named window is already present, then the URL replaces the existing content of the named window. When this option is selected, a "Target window" edit control will appear below the dropdown, in which the user can enter the desired window name. This maps to the Open URL OM method's user specified target name option.

■ No Window – No window will be displayed. This option may be used in cases where the URL causes an action (such as executing a job) that does not require any content to be displayed.Returns the display value of a corner or data label. The Display property uses the BqPivotLabelDisplay constant. Valid options for displaying the label are side, top, both or none. The default corner label value is none.

Action: Read only, BqOpenURLTarget constant group

Constants: The BqOpenURLTarget constant group consists of the following values:

bqOpenURLTargetBlank = 0

bqOpenURLTargetCustom =1

Page 565: Hyperion Dashboard

DisplayMode (Property) 6-71

bqOpenURLTargetNone = 2

bqOpenURLTargetSelf = 3

bqOpenURLTargetTop =4

Example: This example shows you how to return the Display Mode setting for a hyper link object in an Alert box:

Alert(HyperLink.DisplayMode=bqOpenURLTargetTop)

Page 566: Hyperion Dashboard

6-72 Properties

DisplayName (Property)

Applies To: DerivedItem object, Limit, Requests collection, TopicItem object

Description: Returns or sets the display name of one the objects listed above. The DisplayName property is the name of the object as viewed by the user when working with the Hyperion Intelligence Client product suite.

There are three “name” type properties used in the Object Model, including the:

DisplayName (Property)

PhysicalName (Property)

Name (Property)

When you need to determine which “name” property to use in the Object Model, consider the following example.

Suppose there is a database table entitled My.Table.MyColumn. The “PhysicalName” of the column is “MyColumn”. If you needed to show another name for “MyColumn”, such as “MySpecialColumn”, you could use the “DisplayName” property. This property allows you to modify the name shown in the Hyperion Intelligence suite even though at its source, the column still retains its original name (in this case “MyColumn”). Use the “Name” property when referencing objects in the Object Model. For example, if you have a TextBox object in Dashboards, and you need to find out the name, you could write the following script:

TextBox1.Name

Action: Read-write, String

Example: This example writes the names of all the topics and topic items to the console window.

var Tcount = ActiveDocument.Sections["Query"].DataModel.Topics.Countfor (j = 1; j <= Tcount ; j ++){var myTopic = ActiveDocument.Sections["Query"].DataModel.Topics[j]Console.Writeln("Topic : "+myTopic.PhysicalName)var TICount = ActiveDocument.Sections["Query"].DataModel.Topics[j].TopicItems.Count

Page 567: Hyperion Dashboard

DisplayName (Property) 6-73

for (k = 1 ; k <= TICount ; k ++){

var myItem = ActiveDocument.Sections["Query"].DataModel. Topics[j].TopicItems[k]

Console.Writeln(" Item: "+ myItem.DisplayName)}

}

Page 568: Hyperion Dashboard

6-74 Properties

DrillDownDisplay (Property)

Applies To: OLAPQuery object

Description: Defines what level of data is the next level displayed when you drill down in an OLAPQuery.

Drill to Next Level - Automatically displays data for the next level below the selected member.

For example, in a dimension with levels of Year, Quarter, Month, and Date, double-clicking on a Year level member name automatically displays all the data for the Quarter level belonging to that year.

Drill to All Levels - Automatically displays all possible levels of data below the selected member.

For example, in a dimension with levels of Year, Quarter, Month, and Date, double-clicking on a Year level member name automatically displays all the data for the Quarter, Month, and Date levels belonging to that year.

Drill to Lowest Level - Automatically displays data for only the lowest level belonging to the selected member (intermediate member levels are not shown).

For example, in a dimension with levels of Year, Quarter, Month, and Date, double-clicking on a Year level member name automatically displays all the data for the Date level belonging to that year.

Action: Read-write, BqDrillDownDisplay

Constants: The BqDrillDownDisplay constant group consists of the following values:

bqDrillDownDisplayAllLevels

bqDrillDownDisplayLowestLevel

bqDrillDownDisplayNextLevel

Example: This example writes the names of all the topics and topic items to the console window.

Page 569: Hyperion Dashboard

DrillDownDisplay (Property) 6-75

ActiveDocument.Sections["OLAPQuery"].DrillDownDisplay = bqDrillDownDisplayAllLevels

Page 570: Hyperion Dashboard

6-76 Properties

Effect (Property)

Applies To: Font

Description: Returns or sets the font effect of text associated with a font object.

Action: Read-write

Constants: The BqFontEffect constant group consists of the following values:

bqFontEffectNone

bqFontEffectOverDouble (not supported in Intelligence iServer)

bqFontEffectOverline

bqFontEffectStrikeThrough (not supported in Intelligence iServer)

bqFontEffectSubScript (not supported in Intelligence iServer)

bqFontEffectSuperScript (not supported in Intelligence iServer)

bqFontEffectUnderline

Note The Session.Form.Add () and Session.Form.Item() object model syntax is not supported in an Intelligence iServer BQY document.

Example: This example changes the font effect of the text in a text label named, Description.

ActiveDocument.Sections["Dashboard2"].Shapes["Description"].Font.Effect= bqFontEffectUnderline

Page 571: Hyperion Dashboard

EnableAsyncProcess (Property) 6-77

EnableAsyncProcess (Property)

Applies To: Connection object, MetaDataConnection object

Description: Enable or disable asynchronous processing of a query associated with the connection object.

Action: Read-write, Boolean

Example: This example creates a connection file from scratch and then applies it to the current document.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.EnableAsyncProcess = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 572: Hyperion Dashboard

6-78 Properties

Enabled (Property)

Applies To: Control, ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsListBox, ControlsRadioButton, ControlsTextBox, EmbeddedBrowser object

Description: Returns or sets the current state of a control object. If a control is disabled, then you cannot access it by way of the Dashboard section. The control is shown in the Dashboard section in a “grayed out or disabled state.

Action: Read-write, Boolean

Example: This examples enables every shape and control object in an Dashboard section named, Dashboard.

var DashboardSection = ActiveDocument.Sections["Dashboard"]var ShapeCount = DashboardSection.Shapes.Countfor (j=1;j <= ShapeCount ;j++){DashboardSection.Shapes[j].Enable = true}

Page 573: Hyperion Dashboard

EnableForHybridAnalysis (Property) 6-79

EnableForHybridAnalysis (Property)

Applies To: OLAPQuerySection (DBSpecific)

Description: Enables or disables the Hybrid Analysis value retrieval. Hybrid Analysis allows the lowest levels of an Essbase cube to reside in an external relational database. These levels are not reflected in the cube structure (metadata) that is resident on the Essbase Server itself. Instead, their existence and retrieval is performed by the separate Essbase Integration Server product. This option is only available for connections to Hyperion Essbase 6.5+ or IBM DB2 OLAP 8.1+ databases. .

Action: Read-write, Boolean

Example: This example shows you how to enable Hybrid Analysis:

ActiveDocument.Sections["OLAPQuery"].DBSpecific.EnableForHybridAnalysis = true

Page 574: Hyperion Dashboard

6-80 Properties

EnableNullFactsInComputedItems (Property)

Applies To: Pivot object

Description: Enables Intelligence Clients to evaluates a null fact value (an empty cell value) as a zero fact value for non-Moving functions. For Moving Function calculations, where the presence of all displayed Fact cell must be considered in calculations, the number of instances of null values are subtracted from the “Window” divisor.

Exponential Moving Averages treat missing source Fact values as having a value of zero.

When this option is disabled, the Pivot Sections that receive their data from a relational Query Section, ignore Fact cells with null data when calculating Computed Items. That is, the calculation is simply skipped for the null cell.

Action: Read-write, Boolean

Example: This examples shows you how to enable null fact values for computed items.

ActiveDocument.Sections["Pivot"].EnableNullFactsInComputedItems = true

Page 575: Hyperion Dashboard

EnableTransActionMode (Property) 6-81

EnableTransActionMode (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of the EnableTransactionMode property. If set to true, transaction mode will be enabled for the OCE or current connection.

Action: Read-write, Boolean

Example: This example creates a connection file from scratch and then applies it to the current document.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."MyCon.EnableTransAction = truemyCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 576: Hyperion Dashboard

6-82 Properties

EndLimitName (Property)

Applies To: Parentheses object

Description: When the Parentheses collection is invoked, this property sets the limit value after which the ending (closing) parentheses is inserted This property is often used in conjunction with the BeginLimitName property.

Action: Read-only, EndLimitName as String

Example: This example shows you how to display the name of the ending limit value enclosed in a parenthetical expression on the limit line:

Alert(ActiveDocument.Sections["Query"].Limits.Parentheses["State Province,City"].EndLimitName)

Page 577: Hyperion Dashboard

ExecuteOnPostProcess (Property) 6-83

ExecuteOnPostProcess (Property)

Applies To: DesktopClient object, PlugInClient object, ThinClient object and Scheduler object.

Description: Enables or disables execution of an OnStartup document event for the desktop object (Intelligence Client), plugin object (web client), thin client object (Intelligence iServer) and Scheduler in the 8.0 client environment. The OnPostProcess document event is executed after the processing of the query.

Action: Read-write, Boolean

Example: This example shows you how to disable the OnPostProcess document events when running in the web client environment.

Documents["Sample1.bqy"].Events["PlugInClient"].ExecuteOnPostProcess=false

Page 578: Hyperion Dashboard

6-84 Properties

ExecuteOnPreProcess (Property)

Applies To: DesktopClient object, PlugInClient object, ThinClient object and Scheduler object.

Description: Enables or disables execution of an OnStartup document event for the desktop object (Intelligence Client), plugin object (web client), thin client object (Intelligence iServer) and Scheduler in the 8.0 client environment. The OnStartup document event is executed immediately prior to the processing of the query. To discontinue processing for a defined condition in the PreProcess() event, see the InterruptQueryProcess (Method).

Action: Read-write, Boolean

Example: This example shows you how to enable the OnPreProcess document events when running in the Scheduler environment.

Documents["Sample1.bqy"].Events["Scheduler"].ExecuteOnPreProcess=false

Page 579: Hyperion Dashboard

ExecuteOnShutDown (Property) 6-85

ExecuteOnShutDown (Property)

Applies To: DesktopClient object, PlugInClient object, ThinClient object and Scheduler object.

Description: Enables or disables execution of an OnShutDown document event for the desktop object (Intelligence Client), plugin object (web client), thin client object (Intelligence iServer) and Scheduler in the 8.0 client environment. The OnShutDown document event is executed when the document is closed.

Action: Read-write, Boolean

Example: This example shows you how to disable the OnShutDown document event when running in the Intelligence iServer environment.

Documents["Sample1.bqy"].Events["ThinClient"].ExecuteOnShutDown=false

Page 580: Hyperion Dashboard

6-86 Properties

ExecuteOnStartup (Property)

Applies To: DesktopClient object, PlugInClient object, ThinClient object and Scheduler object.

Description: Enables or disables execution of an OnStartup document event for the desktop object (Intelligence Client), plugin object (web client), thin client object (Intelligence iServer) and Scheduler in the 8.0 client environment. The OnStartup document event is executed when the document is opened. document.

Action: Read-write, Boolean

Example: This example shows you how to enable an OnStartup document events when running in the Intelligence Client environment.

Documents["Sample1.bqy"].Events["DesktopClient"].ExecuteOnStartUp=true

Page 581: Hyperion Dashboard

ExportWithoutQuotes (Property) 6-87

ExportWithoutQuotes (Property)

Applies To: OLAPQuerySection, PivotSection object, ResultsSection object, TableSection

Description: When exporting section data, enables or disables the double quotes surrounding column/cell values containing real values. The default value is disabled.

Action: Read-write, Boolean

Example 1: This example exports Results to a tab delimited text file that retains double quotes surrounding the Results column data.

ActiveDocument.Sections["Results"].ExportWithoutQuotes=falseActiveDocument.Sections["Results"].Export("C:\Temp\ExportTest\ MyFile", bqExportFormatText)

Example 2: This example exports Results to a tab delimited text file without double quotes surrounding the Results column data.

ActiveDocument.Sections["Results"].ExportWithoutQuotes=trueActiveDocument.Sections["Results"].Export("C:\Temp\ExportTest\ MyFile", bqExportFormatText)

Page 582: Hyperion Dashboard

6-88 Properties

Filename (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns the full name and path of the OCE file associated with the connection object.

Action: Read-only, String

Example: This example creates a connection file from scratch and then applies it to the current document.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto.".Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")var OCEFilename = ActiveDocument.Sections["Query"].DataModel.Connection.FilenameConsole.Write ("Successfully opened the OCE named : "+OCEFilename)

Page 583: Hyperion Dashboard

FilePath (Property) 6-89

FilePath (Property)

Applies To: Picture Chart

Description: Sets the file name of a picture object.

Action: Read-write, Name

Example: This example shows you how to set the file path name for the picture entitled "report".

ActiveDocument.Sections["Report"].Body.Shapes["Picture"].FilePath = "c:\\brio\\report.bmp"

Page 584: Hyperion Dashboard

6-90 Properties

FillUnderRibbon (Property)

Applies To: Area Chart

Description: If set to true, the area under the ribbon on an area chart is filled in.

Action: Read-write, Boolean

Example: This example enables the FillUnderRibbion attribute of an area chart for the section named “Sales Chart”.

var MyChart = ActiveDocument.Sections["Sales Chart"]MyChart.AreaChart.FillUnderRibbon = true

Page 585: Hyperion Dashboard

Focus (Property) 6-91

Focus (Property)

Applies To: Legend Collection

Description: Returns or sets the focus of the legend on a selected chart axis type (X-axis, Y-axis, or Z axis. This property uses the BqChartAxisType constant group.

Action: Read-only

Constants: The BqChartAxisType constant group consists of the following values:

BqChartXAxis

BqChartYAxis

BqXhartZAxis

Example: This example shows you how to change the chart axis type to the X-axis category.

ActiveDocument.Sections["Chart"].Legend.Focus=bqChartXAxis

Page 586: Hyperion Dashboard

6-92 Properties

Formula (Property)

Applies To: Fields collection

Description: Sets a computable value for a Field item in the Report section.This property is analogous to editing or entering a formula for a selected field in the Expression bar. The value specified for this property instructs the application from where to retrieve information.

Action: Read-write, String

Example: This example shows you how to change the chart axis type to the X-axis category:

ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["ReportName Field"].Formula = "ReportName() + ' ' + new Date()"

Page 587: Hyperion Dashboard

FullName (Property) 6-93

FullName (Property)

Applies To: Limit

Description: Returns or sets the value of limits full name. The full name may include the topic, which it is associated with (Query and Data Model Limits only).

Action: Read-write, String

Example: This example prints out the full names of all the limits in a query section named “SalesQuery”.

var MyQuery = ActiveDocument.Sections["SalesQuery"]var LimitCount = MyQuery.Limits.Countfor (j =1 ; j <= LimitCount ; j++) Console.Writeln("Limit fullname is " + MyQuery.Limits[j].FullName)

Page 588: Hyperion Dashboard

6-94 Properties

GraphicsFileType (Property)

Applies To: Picture object

Description: Sets the graphic file type of a picture graphics object.

Action: Read-write, BqGraphicsFileType

Constants: The GraphicsFileType property uses the BqGraphicsFileType constant group, which consists of the following values:

bqGraphicsFileTypeBMP

bqGraphicsFileTypeGIF

bqGraphicsFileTypeJPEG

Example 1: The following example shows you how to set the GraphicFileType property to a .bmp file format in the Dashboard section.

ActiveDocument.Sections["Dashboard2"].Shapes["Picture2"].GrapicsFileType=bqGraphicsFileTypeBMP

Example 2: The following example shows you how to set the GraphicFileType property to a .jpeg file format in the Report section.

ActiveDocument.Sections["Report"].Body.Shapes["Picture"].GraphicsFileType=bqGraphicsFileTypeJPEG

Page 589: Hyperion Dashboard

Group (Property) 6-95

Group (Property)

Applies To: ControlsRadioButton

Description: Returns or sets the value of an Dashboard Radio buttons group property. Use the group property to join together two or more Radio buttons.

Action: Read-only, String

Example: This example shows you how to assign a group name to radiobuttons.

RadioButton1.Group="Sales"RadioButton2.Group="Sales"RadioButton3.Group="Sales"

Page 590: Hyperion Dashboard

6-96 Properties

HardwireMode (Property)

pplies To: OLAPQuerySection object

Description: If set to true, then every time there is a change to the OLAP query (an item is added or removed from the Outliner), the processing is done automatically instead of you having to manually click the Process button each time. Hardwire mode allows the instantaneous retrieval of cube slices.

When determining whether to use hardwire mode or process mode, consider if you need to drag multiple items to the Outliner before initiating the request. If this is the case, use Process mode.

Action: Read-write, Boolean

Example: This example shows to activate “hardwire” mode:

ActiveDocument.Sections["OLAPQuery"].HardwireMode = true

Page 591: Hyperion Dashboard

Height (Property) 6-97

Height (Property)

Applies To: PieChart

Description: Returns or sets the height properties of a specific Pie chart.

Action: Read-write, Numeric

Example: This example shows you how to change the height of a pie chart in the chart section named “Sales Pie Chart”.

var MyChart = ActiveDocument.Sections[" Pie Chart"]MyChart.PieChart.Height = 10

Page 592: Hyperion Dashboard

6-98 Properties

HorizontalAlignment (Property)

Applies To: TableFacts object

Description: Returns or sets the horizontal alignment of text in a table column.This property corresponds to the features on the Alignment Properties dialog box.

Action: Read-write, BqHorizontalAlignment

Constants: The HorizontalAlignment property uses the BqHorizontalAlignment constant group, which consists of the following values:

bqAlignCenter

bqAlignLeft

bqAlignRight

Example: This example shows you how to align left the horitzontal text in the "Unit Sales" column.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts["Unit Sales"].HorizontalAlignment=bqAlignLeft

Page 593: Hyperion Dashboard

HostName (Property) 6-99

HostName (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the name of the datasource.

Action: Read-write, String

Example 1: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is “PlutoSQLSVR” which is a user DSN using the SQL Server 6.5 driver.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto.".Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.EnableAsyncProcess = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Example 2: This example shows you how to derive the host name for the connection:

Console.Writeln(ActiveDocument.Sections["Query"].DataModel.Connection.HostName)

Page 594: Hyperion Dashboard

6-100 Properties

HTMLBoundaryHeight (Property)

Applies To: ChartSection object

Description: If you plan to publish/republish the chart section of a BQY file for use in the Intelligence iServer, use this property to fix the height of the chart boundary. The boundary consists of the vertical and horizontal parameters measured in pixels which surround the actual chart, legend and label.

Note Make sure that you publish or republish the BQY file once you have set any dynamic HTML properties. Any dynamic html changes you make either through the Export Properties dialog or through the Object Model are not inherited until the BQY file is republished.

Action: Read-Write, Number

Example: This example shows you how to enable the boundary and to set both the boundary height and width to 300 pixels:

ActiveDocument.Sections["Chart"].HTMLBoundaryMode = trueActiveDocument.Sections["Chart"].HTMLBoundaryHeight = 300ActiveDocument.Sections["Chart"].HTMLBoundaryWidth = 300

Page 595: Hyperion Dashboard

HTMLBoundaryMode (Property) 6-101

HTMLBoundaryMode (Property)

Applies To: ChartSection object

Description: If you plan to publish/republish the chart section of a BQY file for use in the Intelligence iServer, use this property to enable the chart boundary. The boundary consists of the rectangular parameters measured in pixels which surround the actual chart, legend and label(s).

Note Make sure that you publish or republish the BQY file once you have set any dynamic HTML properties. Any dynamic html changes you make either through the Export Properties dialog or through the Object Model are not inherited until the BQY file is republished.

Action: Read-Write, Boolean

Example: This example shows you how to enable the boundary and to set both the boundary height and width to 300 pixels:

ActiveDocument.Sections["Chart"].HTMLBoundaryMode = trueActiveDocument.Sections["Chart"].HTMLBoundaryHeight = 300ActiveDocument.Sections["Chart"].HTMLBoundaryWidth = 300

Page 596: Hyperion Dashboard

6-102 Properties

HTMLBoundaryWidth (Property)

Applies To: ChartSection object

Description: If you plan to publish/republish the chart section of a BQY file for use in the Intelligence iServer, use this property to fix the width of the chart boundary. The boundary consists of the rectangular parameters measured in pixels which surround the actual chart, legend and label.

Note Make sure that you publish or republish the BQY file once you have set any dynamic HTML properties. Any dynamic html changes you make either through the Export Properties dialog or through the Object Model are not inherited until the BQY file is republished.

Action: Read-Write, Number

Example: This example shows you how to enable. the boundary and to set both the boundary height and width to 300 pixels:

ActiveDocument.Sections["Chart"].HTMLBoundaryMode = trueActiveDocument.Sections["Chart"].HTMLBoundaryHeight = 300ActiveDocument.Sections["Chart"].HTMLBoundaryWidth = 300

Page 597: Hyperion Dashboard

HTMLDisplayViews (Property) 6-103

HTMLDisplayViews (Property)

Applies To: Chart object

Description: The HTMLDisplayView (Property) (which includes the HTMLDisplayXViews and HTMLDisplayZViews properties)enables multiple views of a HTML rendered chart (static and Intelligence iServer). This property is used in conjunction with the HTMLMaxBarsDisplayed (Property), which allows you to define the number of bars you want shown per view.

The HTMLDisplayViews (Property) is not available for Pie charts.

If the HTMLSyncScrollingProps (Property) has been set to true, then the HTMLMaxBarsDisplayed properties will be disabled. The HTMLSyncScollingProp (Property) specifies that the maximum number of bars displayed (X and Z driections) for HTML renderings will match the corresponding values in the Chart Properites dialog.

Action: Read-write, Boolean

Example: This example shows you how to enable multiple views of a rendered chart for the X and Y axis labels, and sets the number of bars per view at 10 for the X axis label and 12 for the Z axis label.

ActiveDocument.Sections["Chart"].HTMLSyncScrollingProps = falseActiveDocument.Sections["Chart"].HTMLDisplayXViews = trueActiveDocument.Sections["Chart"].HTMLDisplayZViews = trueActiveDocument.Sections["Chart"].HTMLMaxXBarsDisplayed = 10ActiveDocument.Sections["Chart"].HTMLMaxZBarsDisplayed = 12

Page 598: Hyperion Dashboard

6-104 Properties

HTMLExportBreakColCount (Property)

Applies To: OLAPQuerySection object, PivotSection object

Description: Enables the number of column per exported HTML page feature in the Pivot and OLAP section. The default is 100. Setting the value to 0 causes the HTML pages not to break based on a column position.

Action: Read-write, Number

Example 1: This example retrieves the value of HTMLExportBreakColCount.

var breakVal=ActiveDocument.Sections["Pivot"]. HTMLExportBreakColCount;

Example 2: This example sets the number of columns per HTML page to 500.

ActiveDocument.Sections["Pivot"].HTMLExportBreakColCount = 500

Page 599: Hyperion Dashboard

HTMLExportBreakRowCount (Property) 6-105

HTMLExportBreakRowCount (Property)

Applies To: OLAPQuerySection object, PivotSection object, ResultsSection object, TableSection object,

Description: Enables the number of rows per exported HTML page feature in the Pivot, OLAP, Results and Table sections. The default is 100. Setting the value to 0 causes the HTML pages not to break based on a row position.

Action: Read-write, Number

Example 1: This example retrieves the value of HTMLExportBreakRowCount.

var breakVal=ActiveDocument.Sections["Pivot"]. HTMLExportBreakRowCount;

Example 2: This example sets the number of rows per HTML page to 500.

ActiveDocument.Sections["Results"].HTMLExportBreakRowCount = 500

Page 600: Hyperion Dashboard

6-106 Properties

HTMLHorizontalPageBreakEnabled (Property)

Applies To: OLAPQuerySection object, PivotSection object

Description: Enables the horizontal page break control on the Export Property dialog for the Pivots section, Results and Tables sections.

Action: Read-write, Boolean

Example 1: This example shows you how to enable the Horizontal Page Break control:

Documents["Sales.bqy"].Sections["Results"].HTMLHorizontalPageBreakEnabled = true

Page 601: Hyperion Dashboard

HTMLHorizontalPageBreakUnits (Property) 6-107

HTMLHorizontalPageBreakUnits (Property)

pplies To: PivotSection, OLAPQuerySection

Description: Sets the type of unit (column, pixel or none) to use for horizontal page break on a HTML page. This property is used in conjunction with the BqHTMLPageBreakUnits constant group and the HTMLExportBreakColCount (Property).

Constants: This property references the BqHTMLPageBreakUnits constants group, which consists of the following values:

■ bqHTMLPageBreakUnitsCols

■ bqHTMLPageBreakUnitsPixels

■ bqHTMLPageBreakUnitsRows

Example: This example shows you how to set the horizontal page break for columns to 200 columns per HTML page.

ActiveDocument.Sections["OLAPQuery"].HTMLHorizontalPageBreakEnabled = trueActiveDocument.Sections["OLAPQuery"].HTMLExportBreakColCount = 200ActiveDocument.Sections["OLAPQuery"].HTMLHorizontalPageBreakUnits = bqHTMLPageBreakUnitsCols

Page 602: Hyperion Dashboard

6-108 Properties

HTMLMaxBarsDisplayed (Property)

Applies To: ChartSection object

Description: The HTMLMaxBarsDisplay (Property) (which includes the HTMLMaxXBarsDisplayed and HTMLZBarsDisplayed) sets the number of bars to display per view if multiple views are allowed for a HTML rendered chart (static and Intelligence iServer). These properties are used in conjunction with the HTMLDisplayViews (Property).

The HTMLDisplayViews (Property) is not available for Pie charts.

If the HTMLSyncScrollingProps (Property) has been set to true, then the HTMLMaxBarsDisplayed properties will be disabled. The HTMLSyncScollingProp (Property) specifies that the maximum number of bars displayed (X and Z driections) for HTML renderings will match the corresponding values in the Chart Properites dialog.

Action: Read-write, Number

Example: This example shows you how to enable multiple views of a rendered chart for the X and Y axis labels, and sets the number of bars per view at 10 for the X axis label and 12 for the Z axis label.

ActiveDocument.Sections["Chart"].HTMLSyncScrollingProps = falseActiveDocument.Sections["Chart"].HTMLDisplayXViews = trueActiveDocument.Sections["Chart"].HTMLDisplayZViews = trueActiveDocument.Sections["Chart"].HTMLMaxXBarsDisplayed = 10ActiveDocument.Sections["Chart"].HTMLMaxZBarsDisplayed = 12

Page 603: Hyperion Dashboard

HTMLPregenerateFirstLastNPages (Property) 6-109

HTMLPregenerateFirstLastNPages (Property)

Applies To: OLAPQuerySection object, PivotSection object, ResultsSection object, ReportSection object, TableSection object

Description: If you plan to publish/republish a BQY file for use in the Intelligence iServer, use this property to set the first and last number of pages for which you want to pregenerate the HTML. Pregeneration improves the initial response time for end users when the BQY file is accessed in the Intelligence iServer. By default, the page value of this option is five pages.

This property is used in conjunction with the HTMLPregenerateMode (Property). In order to specify a range of pages to pregenerate, you must specify the first and last pages through this property and set the HTMLPregenerateMode property to the constant value: bqHTMLPregenerateModeRange. If it is set to bqHTMLPregenerateModeAll, then no action will be executed for the HTMLPregenerateFirstLastNPages. You cannot specificy a negative number for this property.

Note Make sure that you publish or republish the BQY file once you have set any dynamic HTML properties. Any changes you make either through the Export Properties dialog or through the Object Model are not inherited until the BQY file is republished.

Action: Read-write, Number

Example : This example shows you how to print the names of all the columns in the Results section to the console window, export the section in html format, set the pregenerate mode to “range”, and pregenerate the first and last five pages.

MyResults = ActiveDocument.Sections["Results"]ColumnCount = MyResults.Columns.Countfor (I=1;I<= ColumnCount;I++)Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n")MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML)MyResults.HTMLPregenerateMode = bqHTMLPregenerateModeRangeMyResults.HTMLPregenerateFirstLastNPages = 5

Page 604: Hyperion Dashboard

6-110 Properties

HTMLPregenerateFirstLastNViews (Property)

Applies To: ChartSection object

Description: If you plan to publish/republish a BQY file in the Intelligence iServer, use this property to set the first and last views of the chart section for which you want to pregenerate the HTML. Pregeneration improves the initial response time for end users when the BQY file is accessed in the Intelligence iServer. By default, the page value of this option is five pages.

Since view are pregenerated in two directions (horizontal and vertical), first and last Nviews are “doubled”. For example if you specify “First and Last 2 views”, the first two and last two rows of views plus the first two and last two columns of views are pregenerated. So if there were at total of 6 views in either direction 32 views are pregenerated.

This property is used in conjunction with the HTMLPregenerateMode (Property). In order to specify a range of pages to pregenerate, you must specify the first and last pages through this property and set the HTMLPregenerateMode property to the constant value: bqHTMLPregenerateModeRange. If it is set to bqHTMLPregenerateModeAll, then no action will be executed for the HTMLPregenerateFirstLastNViews. You cannot specificy a negative number for this property.

Note Make sure that you publish or republish the BQY file once you have set any dynamic HTML properties. Any changes you make either through the Export Properties dialog or through the Object Model are not inherited until the BQY file is republished.

Action: Read-write, Number

Example : This example shows you how to print the names of all the columns in the Results section to the console window, export the section in html format, set the pregenerate mode to “range”, and pregenerate the first and last five views.

MyChart.Export("c:\\temp\\Sample.htm", bqExportFormatHTML)MyChart.HTMLPregenerateMode = bqHTMLPregenerateModeRangeMyChart.HTMLPregenerateFirstLastViews = 5

Page 605: Hyperion Dashboard

HTMLPregenerateMode (Property) 6-111

HTMLPregenerateMode (Property)

Applies To: ChartSection object, OLAPQuerySection, PivotSection object, Results/TableSection object, ReportSection object

Description: If you plan to publish/republish a BQY file for use in the Intelligence iServer, use this property to enable the pregeneration mode. Pregeneration improves the initial response time for end users when the BQY file is accessed in the Intelligence iServer. This property uses the BqHTMLPregenerateMode constant group, which includes two options for mode settings: bqHTMLPregenerateModeAll and bqHTMLPregenerateModeRange . The bqHTMLPregenerateModeAll constant enables pregeneration of all pages of a section. Enabling this option may place high demands on the Hyperion Intelligence Repository.

The bqHTMLPregenerateModeRange constant enables a specific page range to be pregenerated that you specify using the HTMLPregenerateFirstLastNPages (Property). In order to specify a range of pages to pregenerate, you must specify the first and last pages through this property and set the HTMLPregenerateMode property to the constant value: bqHTMLPregenerateModeRange. If it is set to bqHTMLPregenerateModeAll, then no action will be executed for this property. You cannot specificy a negative number for this property.

Note Make sure that you publish or republish the BQY file once you have set any dynamic HTML properties. Any changes you make either through the Export Properties dialog or through the Object Model are not inherited until the BQY file is republished.

Constants: BqHTMLPregenerateMode constant group

Page 606: Hyperion Dashboard

6-112 Properties

Example : This example shows you how to print the names of all the columns in the Results section to the console window, export the section in html format, set the pregenerate mode to “range”, and pregenerate the first and last five pages.

MyResults = ActiveDocument.Sections["Results"]ColumnCount = MyResults.Columns.Countfor (I=1;I<= ColumnCount;I++)Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n")MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML)MyResults.HTMLPregenerateMode = bqHTMLPregenerateModeRangeMyResults.HTMLPregenerateFirstLastNPages = 5

Page 607: Hyperion Dashboard

HTMLSyncScrollingProps (Property) 6-113

HTMLSyncScrollingProps (Property)

Applies To: ChartSection object

Description: Matches the maximum number of bars displayed (X and Z directions) for HTML renderings (static or Intelligence iServer) with the corresponding values on the Label Axis tab of Chart Properites. The default setting for this control is checked. When this control is checked, the HTMLDisplayViews (Property) and HTMLMaxBarsDisplayed (Property) are disabeed.

Action: Read-write, Boolean

Example: This example shows you how to enable the HTMLSyncScrollingPros property and disable the HTMLDisplaysViews property.

ActiveDocument.Sections["Chart"].HTMLSyncScrollingProps = falseActiveDocument.Sections["Chart"].HTMLDisplayXViews = false

Page 608: Hyperion Dashboard

6-114 Properties

HTMLVerticalPageBreakEnabled (Property)

Applies To: OLAPQuerySection object, PivotSection object, ResultsSection object, TableSection object

Description: Enables the vertical page break control on the Export Property dialog for the Pivots, Results and Tables sections.

Action: Read-write, Boolean

Example 1: This example shows you how to enable the Vertical Page Break control:

Documents["Sales.bqy"].Sections["Results"].HTMLVerticalPageBreakEnabled = true

Page 609: Hyperion Dashboard

HTMLVerticalPageBreakUnits (Property) 6-115

HTMLVerticalPageBreakUnits (Property)

Applies To: PivotSection, ResultsSection, TableSection, OLAPQuerySection

Description: Sets the type of unit (row, pixel or none) to use for the vertical page break on a HTML page. This property is used in conjunction with the BqHTMLPageBreakUnits constant group and the HTMLExportBreakRowCount (Property).

Constants: This property references the BqHTMLPageBreakUnits constants group, which consists of the following values:

■ bqHTMLPageBreakUnitsCols

■ bqHTMLPageBreakUnitsPixels

■ bqHTMLPageBreakUnitsRows

Example: This example shows you how to print the names of all the columns in the Results section to the console window; export the section in html format; enable the vertical page break unit to the row option; and set the number of rows per HTML page to 100.

MyResults = ActiveDocument.Sections["Results"]ColumnCount = MyResults.Columns.Countfor (I=1;I<= ColumnCount;I++)Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n")MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML)MyResults.HTMLVerticalPageBreakUnits = bqHTMLPageBreakUnitsRowsMyResults.HTMLExportBreakRowCount = 100

Page 610: Hyperion Dashboard

6-116 Properties

Ignore (Property)

Applies To: Limit

Description: Returns or sets the value of a limits ignore property. If set to true, the limit is not applied to the query to recalculate results.

Action: Read-write, Boolean

Example: This example shows you how to temporarily ignore all the Data Model limits prior to processing the query.

var MyQuery = ActiveDocument.Sections["Query" MyDM = MyQuery.DataModelvar DMLimitCount = MyDM.Limits.Countfor (j = 1 ; j <= DMLimitCount ; j++) MyDM.Limits[j].Ignore = true//Assumes you are already connected

Page 611: Hyperion Dashboard

IncludeInProcessAll (Property) 6-117

IncludeInProcessAll (Property)

Applies To: QuerySection, OLAPQuerySection

Description: The Boolean value selected for this property is the equivalent of the asterisk (*) in the Query Processing Order dialog. Use this property to return or set the value of the IncludeInProcessAll property.

If this property is set to true, the query is processed in the order specified by the ProcessSequenceNumber property (or as specified on the Query Processing Order dialog) when a “Process All” action is requested.

If this property is set to false, the query is not included in the Query Processing Order.

When a job is published or scheduled, all queries are listed in the “Connecting to Data Sources” section in order by the ordinal value of the ProcessSequence Number” property, regardless of the setting for the IncludeInProcessAll property. Queries with the IncludeInProcessAll property set to “true” are not listed in the “Query Connections and Processing” section. When the script is generated for the job, the processing actions is in ProcessSequenceNumber order, excluding queries where IncludeInProcessAll is set to false.

When scheduling/running a job, if a query has IncludeInProcessAll set to false, but it is used in other queries as a derived table, and the excluded query has variable limits, its parameters are requested for each query that uses it. For example, Query 1 is excluded from the processing order, but Query 2 and Query 3 use it as a derived table. When collected parameters for Query 2 and Query 3, Query 1 should be included. Note that different parameter values could be selected for each of these queries.

When a custom process order is selected from the Process Custom dialog, all queries belonging to a given node of the processing tree (Queries, OLAPQueries, and Imported Files being the nodes) are arranged in order by the ordinal value of ProcessSequenceNumber, regardless of the setting of IncludeInProcessAll. Queries that are checked in that dialog are processed in ProcessSequenceNumber order, regardless of the Query type. For example, assume a document with Query2, OLAPQuery1, authorsout.csv, Query1, and OLAPQuery2, are assigned sequence numbers 1 to 5. They will appear in the tree as Query2 and Query1, in that order under Queries, and OLAPQuery1

Page 612: Hyperion Dashboard

6-118 Properties

and OLAPQuery2 under the OLAP Queries branch, and authorsout.csv under Imported Files. When the user clicks OK, they process in the following order, assuming the user checked all five:

■ Query2

■ OLAPQuery1

■ authorsout.csv

■ Query1

■ OLAPQuery2

If a query section has the IncludeInProcessAll property set to false, clicking the Process button when viewing that section or any of its dependent sections or execution of the Process() method associated with that section still processes that query.

When a query section is duplicated, the new section gets the next highest ProcessSequenceNumber, and it appears last in the Query Processing Order dialog's listbox if it is opened immediately following the duplicate section action. The IncludeInProcessAll boolean value is inherited from the source section during duplication.

Action: Read-write, Boolean

Example: This example shows you how to display the number of queries in the BQY in an Alert box, set the processing the “Query” section to the second position in the Query Processing Order dialog, includes the “Query” section in a “Process All” command, and then execute the Process All command for the document.

Alert("Number of Query Sections " + ActiveDocument.Sections.QueryCount)ActiveDocument.Sections["Query"].ProcessSequenceNum = 2ActiveDocument.Sections["Query"].IncludeInProcessAll = trueActiveDocument.ProcessAll()

Page 613: Hyperion Dashboard

IncludeNulls (Property) 6-119

IncludeNulls (Property)

Applies To: Limit

Description: Returns or sets the value of the IncludeNulls property. If set to true then null values will be included as part of the limit.

Action: Read-write, Boolean

Example: This example shows you how to set all the limits in the Data Model to support null values.

var MyQuery = ActiveDocument.Sections[“Query”]var MyDM = MyQuery.DataModelvar DMLimitCount = MyDM.Limits.Countfor (j = 1 ; j <= DMLimitCount ; j++) MyDM.Limits[j].IncludeNulls = true//Assumes you are already connectedMyQuery.Process()

Page 614: Hyperion Dashboard

6-120 Properties

Index (Property)

Applies To: PivotLabel, PivotFact, Column

Description: Returns or sets the value of the index property.

Action: Read-write, PivotLabel and PivotFact

Read-only, Column

Example 1: This example shows you how to change the position of a PivotFact.

ActiveDocument.Sections["SalesPivot"].Facts["Unit Sales"].Index=3

Example 2: This example shows you how to change the position of a Column.

ActiveDocument.Sections["SalesResults"].Columns["Unit Sales"].Index=3

Page 615: Hyperion Dashboard

IntervalFrequency (Property) 6-121

IntervalFrequency (Property)

Applies To: LeftAxis

Description: Returns or sets the value of a chart’s left axis IntervalFrequency property.

Action: Read-write, Number

Example: This example shows you how to change the left axis to display the data in intervals of 20,000.

ActiveDocument.Sections["AllChart"].ValuesAxis.LeftAxis.IntervalFrequency=20000

Page 616: Hyperion Dashboard

6-122 Properties

KeepWithNext (Property)

Applies To: PageHeader object, PageFooter object, ReportHeader, ReportHeader, Body

Description: Returns or sets the value which instructs Intelligence Clients to keep bands within a group together when paginating a report. If the lower band cannot also fit on the page when the report is paginated, both bands will be moved to the following page.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Boolean

Example: This example shows you how to keep the body band together when a page is paginated.

ActiveDocument.Sections["Report"].Body.KeepWithNext = trueRecalculate()

Page 617: Hyperion Dashboard

KeepTogether (Property) 6-123

KeepTogether (Property)

Applies To: PageHeader object, PageFooter object, ReportHeader, ReportHeader, Body

Description: Returns or sets the value which instructs Intelligence Clients not to split a band when a break is encountered. When a break is encountered, the entire band is moved to the next page.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Boolean

Example: This example shows you how not to split the page header bade when a break is encountered in a report.

ActiveDocument.Sections["Report"].PageHeader.KeepTogetherRecalculate()

Page 618: Hyperion Dashboard

6-124 Properties

LabelFrequency (Property)

Applies To: XAxis

Description: Returns or sets the frequency of labels displayed on a chart’s X-axis.

Action: Read-write, Number

Example: This example shows you how to change the frequency of when to display the labels on the X-axis.

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.LabelFrequency = 3

Page 619: Hyperion Dashboard

LabelText (Property) 6-125

LabelText (Property)

Applies To: LeftAxis, RightAxis, XAxisLabel, ZaxisLabel

Description: Returns or sets the value of the text associated with a chart Axis or label.

Action: Read-write, String

Example: This example shows you how to set the text for the different labels.

var MyChart = ActiveDocument.Sections["Chart"]MyChart.ValuesAxis.LeftAxis.LabelText = "Left Axis"MyChart.ValuesAxis.RightAxis.LabelText = "Left Axis"MyChart.LabelsAxis.XAxis.LabelText = "Xaxis"MyChart.LabelsAxis.ZAxis.LabelText = "Zaxis"

Page 620: Hyperion Dashboard

6-126 Properties

LastSQLStatement (Property)

Applies To: QuerySection, Document, PluginDocument

Description: Returns the last SQL statement generated by a query.

Action: Read-only

Example This example shows you how to display the last SQLStatement generated by a query in an Alert box.

Alert (ActiveDocument.Sections["Query"].LastSQLStatement)

Page 621: Hyperion Dashboard

LeftMargin (Property) 6-127

LeftMargin (Property)

Applies To: ReportSection object

Description: Sets the left margin tab of the report. Margins are set for the entire report.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Number

Example: This example shows you how to set the left margin of the report to .25 inches.

ActiveDocument.Sections["Report"].LeftMargin = .25

Page 622: Hyperion Dashboard

6-128 Properties

LimitValueType (Property)

Applies To: Limit collection

Description: Returns or sets the value of the selected limit value set. That is, you can select in advance whether to use the Available values (Show values) or Custom values on the Limit dialog box.

Action: Read-write

Constants: The BqLimitValueType constant group consists of the following values:

bqLimitValueTypeAvailable

bqLimitValueTypeCustom

bqLimitValueTypeSQL

Example: This example shows you how to select the custom values for the second limit item on the Limit dialog.

ActiveDocument.Sections["Query"].Limits[2].LimitValueType=bqLimitValueTypeCustom

Page 623: Hyperion Dashboard

LogicalOperator (Property) 6-129

LogicalOperator (Property)

Applies To: Limit collection

Description: Sets the value of the limit logical operator of each limit object. The limit LogicalOperator property is ignored when only one limit value appears for the particular section. The limit LogicalOperator property is also always ignored for the first limit value when there is more than one limit value. If more than one limit value appears in a particular section, then the LogicalOperator of the second limit applies to the relationship between the first and second limit values; the LogicalOperator of the third limit applies to the relationship between the second and third limit values, and so on.

Action: Read-write

Constants: The BqLogicalOperator constant group consists of the following values:

bqLogicalOperatorAND (default value)

bqLogicalOperatorOR

Example: This example shows you how to set the "OR" logical operator on a limit object.

ActiveDocument.Sections["SalesQuery"].Limits["Year"].LogicalOperator=bqLogicalOperatorOR

Page 624: Hyperion Dashboard

6-130 Properties

MarkerBorderColor (Property)

Applies To: Legend Collection

Description: Returns or sets the color of a marker's border. A marker depicts an individual data value or point that emerges in a cell.

Action: Read-write

Constants: The following values are some of the values that are contained in the BqColorType constant group.For a complete list see the BqColorType constant group in the Script Editor.

bqAqua

bqBlack

bqBlue

bBlueGray

bqBrightGreen

bqBrown

bqDarkBlue

bqDarkYellow

bqLightBlue

bqLightOrange

bqWhite

bqYellow

Example: This example shows you how to set the marker border color to blue.

ActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line. MarkerBorderColor=bqBlue

Page 625: Hyperion Dashboard

MarkerFillColor (Property) 6-131

MarkerFillColor (Property)

Applies To: Legend Collection

Description: Returns or sets the fill color property of a marker. A marker depicts an individual data value or point that emerges in a cell.

Action: Read-write

Constants: The following values are some of the values that are contained in the BqColorType constant group. For a complete list see the BqColorType constant group in the Script Editor.

bqAqua

bqBlack

bqBlue

bBlueGray

bqBrightGreen

bqBrown

bqDarkBlue

bqDarkYellow

bqLightBlue

bqLightOrange

bqWhite

bqYellow

Example: This example shows you how to set the marker fill color to green.

ActiveDocument.Sections["AllCart"].Legend.Items["Unit Sales"].Line. MarkerFillColor=bqGreen

Page 626: Hyperion Dashboard

6-132 Properties

MarkerSize (Property)

Applies To: Legend Collection

Description: Returns or sets the size property of a marker. A marker depicts an individual data value or point that emerges in a cell.

Action: Read-write, Number

Example: This example shows you how to set the marker size property to six points.

ActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line.MarkerSize=6

Page 627: Hyperion Dashboard

MarkerStyle (Property) 6-133

MarkerStyle (Property)

Applies To: Legend Collection

Description: Returns or sets the style property of a marker, such as diamond-shaped, circular, rectangular or triangular. A marker depicts an individual data value or point that emerges in a cell.

Action: Read-write

Constants: The BqMarkerStyle constant group consists of the following values:

bqMarkerStyleCircle

bqMarkerStyleDiamond

bqMarkerStyleRectangle

bqMarkerStyleTriangle

Example: This example shows you how to set the marker style property.

ActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line. MarkerStyle=bqMarkerStyleTriangle

Page 628: Hyperion Dashboard

6-134 Properties

MaximumBarsDisplayed (Property)

Applies To: XAxisLabel object, ZAxisLabel object

Description: Sets the number of bars to display per view if multiple views are allowed in the Chart section. This property is used in conjunction with the MaximumBarsEnabled (Property), which enables the mutliple views option. The DisplayViews (Property) is not available for Pie charts.

Action: Read-write, Numeric

Example: This example shows you how to enable multiple views of a chart in the Chart section, and how to set the maximum bars displayed value to 10 bars.

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.MaximumDisplayViews = true

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.MaximumBarsEnabled = 10

Page 629: Hyperion Dashboard

MaximumBarsEnabled (Property) 6-135

MaximumBarsEnabled (Property)

Applies To: XAxisLabel object, ZAxisLabel object

Description: Enables multiple views of a rendered chart in the Chart section by way of scrolling. This property is used in conjunction with the MaximumBarsDisplayed (Property), which allows you to define the number of bars you want shown per view. The MaximumBarsEnabled (Property) is not available for Pie charts.

Action: Read-write, Boolean

Example: This example shows you how to enable multiple views of a rendered chart and set the number of bars per view at 10.

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.DisplayViews = true

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.MaxBarsDisplayed = 10

Page 630: Hyperion Dashboard

6-136 Properties

MetadataPassword (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the password used in the metadata connection.

Action: Read-write, String

Example: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is “PlutoSQLSVR” which is a user DSN using the SQL Server 6.5 driver.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto.myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.MetadataUsername = "brio"myCon.MetadataPassword = "briobrio"myCon.UseAlternateMetadataLocation(true,c:\\OCEs\\PlutoMeta.OCE)myCon.EnableAsyncProcess = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 631: Hyperion Dashboard

MetadataUser (Property) 6-137

MetadataUser (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of the username used to connect to the metadata data source.

Action: Read-write, String

Example: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is “PlutoSQLSVR” which is a user DSN using the SQL Server 6.5 driver.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto.myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.MetadataUsername = "brio"myCon.MetadataPassword = "briobrio"myCon.UseAlternateMetadataLocation(true,c:\\OCEs\\PlutoMeta.OCE)myCon.EnableAsyncProcess = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 632: Hyperion Dashboard

6-138 Properties

MetaFileChoice (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of the MetaData source from the Bqmeta0.ini file. The metadata source is the name of the predefined metadata vendor.

Action: Read-write, String

Example: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is “PlutoSQLSVR” which is a user DSN using the SQL Server 6.5 driver.

Note The MetaFileChoice object model syntax is not supported in an Intelligence iServer BQYdocument.

Example: This example shows you how to set the value of the MetaData source.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto.myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.MetadataUsername"brio"myCon.MetadataPassword = "briobrio"myCon.MetaFileChoice = "Broadbase"myCon.UseAlternateMetadataLocation(true,c:\\OCEs\\PlutoMeta.OCE)myCon.EnableAsyncProcess = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 633: Hyperion Dashboard

MinFontSize (Property) 6-139

MinFontSize (Property)

Applies To: ChartSection object

Description: Sets the minimum font size applied to text labels when the overall Chart size is changed. Normally, Hyperion Intelligence Clients tries to draw a Chart component using the component’s requested font size. If it is not possible to fit the component in the available space, the font size is reduced by one point and a redraw is attempted. This font size reduction process is repeated until the component can fit within the component’s boundary or until it reaches the value specified here or the corresponding Min Font Size field on the General tab of Chart properties.

The components to which the MinFontSize property is applied are:

■ X, Y, Z axis values

■ pie slice labels

■ chart legend

When the component is reduced, the selection of the component continues to show the original font size and not the reduced font size in the Min Font Size on the General tab during the reduction process. When the minimum font size is reached for the supported components, and the component is still too large to fit without obstructing or being obstructed, then the component is removed from the display.

The default minimum font size is 8.

Action: Read-write, Number

Example: The following example shows you how to set the font size to 12 points

ActiveDocument.Sections["Chart"].MinFontSize = 7

Page 634: Hyperion Dashboard

6-140 Properties

MultiSelect (Property)

Applies To: ControlsListBox

Description: Returns or sets the value of the Multiselect property. If set to true, multiple items may be selected from a list box control.

Action: Read-write, Boolean

Example: This example shows you how to configure a list box to support multiple user selections.

var MyDashboard = ActiveDocument.Sections["Dashboard"]MyDashboard.Shapes"Listbox1"].MultiSelect = true

Page 635: Hyperion Dashboard

Name (Property) 6-141

Name (Property)

Applies To: Application, ChartSection, Column, Control, ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsListBox, ControlsRadioButton, ControlsTextBox, DataModelSection, DerivableQuery object, DerivedItem object, DerivedTable object, DMCatalogItem object, DMResult, Document object, DashboardSection, EmbeddedBrowser object, HyperLink object, OLAPQuerySection, PivotLabelValue, PivotSection object, PluginDocument, QuerySection, ReportObjectContainer, ReportSection object, RepositoryItem, ResultsSection, Section, SortItem, StoredProcedure, TableSection, Toolbar

Description: Returns or sets the name of an object listed above.

There are three “name” type properties used in the Object Model, including the:

DisplayName (Property)

PhysicalName (Property)

Name (Property)

When you need to determine which “name” property to use in the Object Model, consider the following example.

Suppose there is a database table entitled My.Table.MyColumn. The “PhysicalName” of the column is “MyColumn”. If you needed to show another name for “MyColumn”, such as “MySpecialColumn”, you could use the “DisplayName” property. This property allows you to modify the name shown in the Hyperion Intelligence suite even though at its source, the column still retains its original name (in this case “MyColumn”). Use the “Name” property when referencing objects in the Object Model. For example, if you have a TextBox object in Dashboards, and you need to find out the name, you could write the following script:

TextBox1.Name

Page 636: Hyperion Dashboard

6-142 Properties

Note The Toolbars[“Standard”].Name, Toolbars[“Formatting”].Name, Toolbars[“Sections”].Name, and Toolbars[“Navigation”].Name object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-only, String

Application, Column, Control, ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsListBox, ControlsRadioButton, ControlsTextBox, PivotLabelValue, Toolbar

Read-write, String

ChartSection, DataModelSection, DMCatalogItem, DMResult, Document, DashboardSection, OLAPQuerySection, , PivotSection, PluginDocument, QuerySection, Section, TableSection

Example: This example prints a list of all the sections in a document to the console.

for (j = 1 ; j <= ActiveDocument.Sections.Count ; j ++)Console.Writeln(ActiveDocument.Sections[j].Name)

Page 637: Hyperion Dashboard

Negate (Property) 6-143

Negate (Property)

Applies To: Limit object

Description: Returns or sets the value of the negate property. If negate is set to true then the negation will be applied to the limit operator. For example, if a limit is set to select only the values Equal to a criteria and the negate property is true, then the values returned from the query will be NOT Equal to the criteria.

Action: Read-write, Boolean

Example: This example shows you how to set the negate property of a limit.

var MyLimit = ActiveDocument.Sections["Query"].Limits["State"]MyLimit.Negate = true

Page 638: Hyperion Dashboard

6-144 Properties

NumberFormat (Property)

Applies To: Column

Description: Returns or sets the value of the number format property. Use this property to format the data in a results or table column.

Action: Read-write, String

Example: This example shows you how to apply currency number formatting to data in the Results section.

ActiveDocument.Sections["SalesResults"].Columns["Amount Sales"]. NumberFormat="$#,##0.00"

Page 639: Hyperion Dashboard

ODBCDatabasePrompt (Property) 6-145

ODBCDatabasePrompt (Property)

Applies To: Connection object, MetaDataConnection object

Description: ODBC Only. Returns or sets the value of the ODBCDatabasePrompt property. If set to true, users will be prompted to enter the name of the ODBC database.

Action: Read-write, Boolean

Example: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is “PlutoSQLSVR” which is a user DSN using the SQL Server 6.5 driver.

var myCon = Application.CreateConnection()myCon.Description"This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.ODBCDatabasePrompt = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 640: Hyperion Dashboard

6-146 Properties

ODBCEnableLargeBufferMode (Property)

Applies To: Connection object, MetaDataConnection object

Description: ODBC Only. Returns or sets the value of the ODBCEnableLargeBufferMode property. If set to true, then ODBC connections will use Larger buffer mode.

Action: Read-write, Boolean

Example: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is “PlutoSQLSVR”, which is a user DSN using the SQL Server 6.5 driver.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.ODBCEnableLargeBufferMode = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 641: Hyperion Dashboard

ODSUsername (Property) 6-147

ODSUsername (Property)

Applies To: WebClientDocument (Quickview and FreeView Only)

Description: Returns or sets the value of the username when connecting to the OnDemand Server. This property only applies if a Web document has been saved to a local file system. This property can be used to reconnect without prompting to logon to the ODS.

Action: Read-write, String

Example: This example shows you how to connect to the OnDemand server from a script.

The following example shows you how to connect to the OnDemand server from a script.

Note This script only applies to documents that have already been registered to the OnDemand server and saved locally.

ActiveDocument.ODSUsername = "Brio"ActiveDocument.SetODSPassword("BrioBrio")

Page 642: Hyperion Dashboard

6-148 Properties

Operator (Property)

Applies To: Limit

Description: Returns or sets the value of a limits operator. The operator is applied to the limit criteria when executing a query or recalculating a results set. If the operator is set to Equal, only the values, which are exactly equal to the limit criteria, are returned or displayed.

Action: Read-write

Constants: The BqLimitOperator constant group consists of the following values:

bqLimitOperatorBeginsWith

bqLimitOperatorBetween

bqLimitOperatorContains

bqLimitOperatorCustomSQL

bqLimitOperatoEndsWith

bqLimitOperatorEqual

bqLimitOperatorGreaterThan

bqLimitOperatorGreaterThanOrEqual

bqLimitOperatorIsNull

bqLimitOperatorLessThan

bqLimitOperatorLessThanOrEqual

bqLimitOperatorLike

bqLimitOperatorNotEqual

Page 643: Hyperion Dashboard

Operator (Property) 6-149

Example: This example shows you how to modify values of an existing results limit.

MyLimit = ActiveDocument.Sections["Results"].Limits[1]//Clear all the values which are currently setMyLimit.SelectedValues.RemoveAll()// add new values to the selectedvalues collectionMyLimit.SelectedValues.Add(2000)//Change the limit criteriaMyLimit.Operator = bqLimitOperatorLessThan

Page 644: Hyperion Dashboard

6-150 Properties

Orientation (Property)

Applies To: ReportSection object

Description: Returns the value of portrait (vertical) or landscape (horizontal) for the page orientation of the printed report.

Note WWhen using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-only, String

Constants: The Orientation property uses the BqOrientation constant group, which consists of the following values: bqOrientationPortrait and bqOrientationPortrait

Example: This example shows you how to set the page orientation to landscape:

ActiveDocument.Sections["Report"].Orientation = bqOrientationLandscape

Page 645: Hyperion Dashboard

Owner (Property) 6-151

Owner (Property)

Applies To: DMCatalogItem object

Description: Returns the value of the database owner name associated with table in the table catalog.

Action: Read-only, String

Example: This example shows you how to write all the information about the tables in the Table Catalog to the console window.

with (ActiveDocument.Sections["Query"].DataModel){var NumTables = Catalog.CatalogItems.Count

for (I = 1 ; I <= NumTables ;I++){

OutputString = "Database Name =" + Catalog.CatalogItems[I].DatabaseNameOutputString = OutputString +":Database Owner=" + Catalog.CatalogItems[I].OwnerOutputString = OutputString +":Table Name=" + Catalog.CatalogItems[I].NameConsole.Writeln(OutputString)

}}

Page 646: Hyperion Dashboard

6-152 Properties

PageBreak (Property)

Applies To: PageHeader object, PageFooter object, ReportHeader, ReportHeader, Body

Description: Returns or sets the value which instructs BrioQuery on where to page break in the report. Note that a page break cannot be inserted before a report header group or in the page header, body or page footer.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Boolean

Constants: The PageBreak property uses the BqPageBreak constant group. This constant group consists of the following values:

bqPageBreakBoth

bqPageBreakAfter

bqPageBreakBefore

bqPageBreakNone

Example: This example shows you how to insert a page break after the Report Header group.

ActiveDocument.Sections["Report"].ReportHeader.PageBreak = bqPageBreakAfter

Page 647: Hyperion Dashboard

ParentName (Property) 6-153

ParentName (Property)

Applies To: OLAPLevelorHierarchy collection, Measures collection

Description: Returns the parent name value of the OLAP level or hierarchyd

Action: Read-only, String

Example: This example shows you how to display the parent name of an OLAP level or hierarchy in an Alert box:

Alert(ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Customers"]["Country"].ParentName)

Page 648: Hyperion Dashboard

6-154 Properties

Password (Property)

Applies To: ControlsTextBox

Description: Returns or sets the value of a text box’s password setting. If this property is true, the text in the text box will be replaced with ****.

Action: Read-only, String

Example: This example shows you how to set the password property on a text box.

ActiveDocument.Sections["Dashboard"].Shapes["TextBox1"].Password = true

Page 649: Hyperion Dashboard

Path (Property) 6-155

Path (Property)

Applies To: Document object, PluginDocument

Description: Returns a string containing the full path and name of the document.

Note A plugin document name will be the temporary name and path of the document on the local file system. For information about Web server path, refer to the URL property.

Action: Read-only, String

Example: This example prints out the path information for all the open documents to the console window.

for ( j = 1 ; j < = Documents.Count ; j++)\ Console.Writeln( Documents[j].Name + is located on +Documents[j].Path)

Page 650: Hyperion Dashboard

6-156 Properties

PathSeparator (Property)

Applies To: Application

Description: Returns the separator used by the operating systems file system.

Windows – “\

UNIX – “/

Macintosh – “:

Action: Read-only, String

Example: This example shows you how to use the path separator to build a path.

var PS = Application.PathSeparatorAlert(PS)

Page 651: Hyperion Dashboard

Pattern (Property) 6-157

Pattern (Property)

Applies To: FillFormat object

Description: Returns or sets the background fill pattern of an object. The fill pattern refers to the level of shading used in the background object.

Action: Read-only

Constants: The Pattern property uses the BqFillPattern constant group, which consists of the following values:

bqFillPattern100

bqFillPattern25

bqFillPattern50

bqFillPattern75

bqFillPatternNone

Example: This example shows you how to use the path separator to build a path:

var PS = Application.PathSeparatorvar myDir = "c:"+PS+"Documents"+PS+"Brio Docs"+PS+"Sales Reports"Alert(myDir)

Page 652: Hyperion Dashboard

6-158 Properties

PhysicalName (Property)

Applies To: Topic, TopicItem object

Description: Returns the actual name of the topic or topic item. This name cannot be changed through scripting or through the user interface.

There are three “name” type properties used in the Object Model, including the:

DisplayName (Property)

PhysicalName (Property)

Name (Property)

When you need to determine which “name” property to use in the Object Model, consider the following example.

Suppose there is a database table entitled My.Table.MyColumn. The “PhysicalName” of the column is “MyColumn”. If you needed to show another name for “MyColumn”, such as “MySpecialColumn”, you could use the “DisplayName” property. This property allows you to modify the name shown in Hyperion Intelligence Clients even though at its source, the column still retains its original name (in this case “MyColumn”). Use the “Name” property when referencing objects in the Object Model. For example, if you have a TextBox object in Dashboards, and you need to find out the name, you could write the following script:

TextBox1.Name

Action: Read-only, String

Page 653: Hyperion Dashboard

PhysicalName (Property) 6-159

Example: This example writes the names of all the topics and topic items to the console window.

var Tcount = ActiveDocument.Sections"Query"].DataModel.Topics.Countfor (j = 1; j <= Tcount ; j ++){var myTopic = ActiveDocument.Sections["Query"].DataModel.Topics[j]Console.Writeln("Topic : "+myTopic.PhysicalName)var TICount = ActiveDocument.Sections["Query"].DataModel.Topics[j].TopicItems.Countfor (k = 1 ; k <= TICount ; k ++){var myItem = ActiveDocument.Sections["Query"].DataModel.Topics[j].TopicItems[k]Console.Writeln("Topic Item: "+ myItem.PhysicalName)}}

Page 654: Hyperion Dashboard

6-160 Properties

PrintAllViews (Property)

Applies To: ChartSection

Description: Returns or sets the charts PrintAllViews property. Setting this property equal to true prints the entire rendered chart (all bars are printed on a page).

The setting you specify here is not applied to the Export to PDF option in the Intelligence iServer.

.Action: Read-write, Boolean

Example: This example shows you how to add a title to a chart.

ActiveDocument.Sections["Chart"].PrintAllViews = true

Page 655: Hyperion Dashboard

ProcessEventOrigin (Property) 6-161

ProcessEventOrigin (Property)

Applies To: Document object

Description: Identifies how the Process() event was initiated.

Action: Read-only

Constants: The BqRequestEventOriginType constant group consists of the following values:

bqRequestEventOriginScript

bqRequestEventOriginMenu

bqRequestEventOriginToolbar

Example: This example shows you how to identify the origin of the process event.

Console.Writeln("Start OnPreProcess")

//determine process event originConsole.Writeln("Process Event Origin is: " + ActiveDocument.ProcessEventOrigin)

//write process event origin to the selected console techniqueswitch(ActiveDocument.ProcessEventOrigin){case 0: Console.Writeln("Switch: Process Event Origin is 0, Menu")break;

case 1: Console.Writeln("Switch: Process Event Origin is 1, Toolbar")break;

case 2: Console.Writeln("Switch: Process Event Origin is 2, Script")break;

default: break;}

Console.Writeln("End OnPreProcess")

Page 656: Hyperion Dashboard

6-162 Properties

ProcessSequenceNum (Property)

Applies To: QuerySection, OLAPQuerySection

Description: The ProcessSequenceNum property sets the ordinal equivalent to a query’s position in the Query Processing Order dialog. That is, when the query is listed first in the listbox, the ProcessSequenceNum is one (1). When it is listed second, this property is two (2) and so on.

This property may be used in association with the “IncludeInProcessAll (Property)”. The value selected here is relevant even if the IncludeInProcessAll is set to false.

A catchable exception is thrown if the value to be assigned is less than 1. If the user-assigned value is higher than the count of query sections in the document, it is silently reset to be equal to the count assigned by the “QueryCount (Property)”.

When a ProcessSequenceNum is assigned to a specified query section, the query section that previously had this value and all subsequent or preceding query section, have their ProcessSequenceNum properted incremented or decremented by one (1). This recalculation fills in the “gap” left by the old sequence number of the selected query section. For example, if QueryA, OLAPQueryB and Query C have the values of this property set to 1, 2, and 3 respectively, the following incrementation or decrementation occurs:

■ If QueryA is assigned a ProcessSequenceNum property of 1, no change occurs because the ProcessSequenceNum property of QueryA already has that value.

■ If QueryC is assigned a ProcessSequenceNum of 1, QueryA has its ProcessSequenceNum incremented by 1 to 2, and OLAPQueryB is incremented by 1 to 3.

■ If the second example is revered and OLAPQueryB is assigned a ProcessSequenceNum of 3, QueryC, consequently, has its ProcessSequenceNum decremented by 1 to 2. There would be no change to the ProcessSequenceNum property for QueryA.

Page 657: Hyperion Dashboard

ProcessSequenceNum (Property) 6-163

The Boolean value selected for this property is the equivalent of the asterisk (*) in the Query Processing Order dialog. Use this property to return or set the value of the IncludeInProcessAll property .

If this property is set to true, the query is processed in the order specified by the ProcessSequenceNum property (or as specified on the Query Processing Order dialog) when a “Process All” action is requested.

If this property is set to false, the query is not included in the Query Processing Order.

When a job is published or scheduled, all queries are listed in the “Connecting to Data Sources” section in order by the ordinal value of the ProcessSequence Num” property, regardless of the setting for the IncludeInProcessAll property. Queries with the IncludeInProcessAll property set to “true” are not listed in the “Query Connections and Processing” section. When the script is generated for the job, the processing actions is in ProcessSequenceNum order, excluding queries where IncludeInProcessAll is set to false.

When scheduling/running a job, if a query has IncludeInProcessAll set to false, but it is used in other queries as a derived table, and the excluded query has variable limits, its parameters are requested for each query that uses it. For example, Query 1 is excluded from the processing order, but Query 2 and Query 3 use it as a derived table. When collected parameters for Query 2 and Query 3, Query 1 should be included. Note that different parameter values could be selected for each of these queries.

When a custom process order is selected from the Process Custom dialog, all queries belonging to a given node of the processing tree (Queries, OLAPQueries, and Imported Files being the nodes) are arranged in order by the ordinal value of ProcessSequenceNum, regardless of the setting of IncludeInProcessAll. Queries that are checked in that dialog are processed in ProcessSequenceNum order, regardless of the Query type. For example, assume a document with Query2, OLAPQuery1, authorsout.csv, Query1, and OLAPQuery2, are assigned sequence numbers 1 to 5. They will appear in the tree as Query2 and Query1, in that order under Queries, and OLAPQuery1 and OLAPQuery2 under the OLAP Queries branch, and authorsout.csv under Imported Files. When the user clicks OK, they process in the following order, assuming the user checked all five:

■ Query2

■ OLAPQuery1

Page 658: Hyperion Dashboard

6-164 Properties

■ authorsout.csv

■ Query1

■ OLAPQuery2.

If a query section has the IncludeInProcessAll property set to false, clicking the Process button when viewing that section or any of its dependent sections or execution of the Process() method associated with that section still processes that query.

When a query section is duplicated, the new section gets the next highest ProcessSequenceNum, and it appears last in the Query Processing Order dialog's listbox if it is opened immediately following the duplicate section action. The IncludeInProcessAll boolean value is inherited from the source section during duplication.

Action: Read-write, numeric

Example: This example shows you how to display the number of queries in the BQY in an Alert box, set the processing the “Query” section to the second position in the Query Processing Order dialog, includes the “Query” section in a “Process All” command, and then execute the Process All command for the document.

Alert("Number of Query Sections " + ActiveDocument.Sections.QueryCount)ActiveDocument.Sections["Query"].ProcessSequenceNum = 2ActiveDocument.Sections["Query"].IncludeInProcessAll = trueActiveDocument.ProcessAll()

Page 659: Hyperion Dashboard

Prompt (Property) 6-165

Prompt (Property)

Applies To: Limit

Description: Returns or sets the value of the text displayed on the limit dialog box.

Action: Read-write, String

Example: This example shows you how to change the text displayed in a variable limit.

var MyLimit = ActiveDocument.Sections"Query"].Limits["State"]MyLimit.VariableLimit = trueMyLimit.Prompt = "Please select a state from the list box below."

Page 660: Hyperion Dashboard

6-166 Properties

QueryCount (Property)

Applies To: Section object

Description: Identifies the count of all query sections in a BQY document. This count includes relational, OLAP and processable imported data file sections. The count does not include Data Model sections.

This property may be used on association with the “IncludeInProcessAll (Property)” and “ProcessSequenceNum (Property)”.

If you use the ProcessSequenceNumber to assign a query’s position on the Query Processing Order dialog and the value is highter than the count of query sections in the document, it is silently reset to be equal to the count assigned by the “QueryCount (Property)”.

Action: Read only

Example: This example shows you how to display the number of queries in the BQY in an Alert box, set the processing the “Query” section to the second position in the Query Processing Order dialog, includes the “Query” section in a “Process All” command, and then execute the Process All command for the document.

Alert("Number of Query Sections " + ActiveDocument.Sections.QueryCount)ActiveDocument.Sections["Query"].ProcessSequenceNum = 2ActiveDocument.Sections["Query"].IncludeInProcessAll = trueActiveDocument.ProcessAll()

Page 661: Hyperion Dashboard

QueryInProcess (Property) 6-167

QueryInProcess (Property)

Applies To: Document object

Description: Identifies the name of the query being processed. This property is only appropiate for use in the OnPreProcess() and OnPostProcess() events.

Action: Read-only, String

Example: This example shows you how to display the name of the query being processed in an Alert box.

Console.Writeln("Start OnPreProcess")switch(ActiveDocument.QueryInProcess){case "Query": Alert("Query");break; case "Query2": Alert("Query2");break; case "OLAPQuery": Alert("OLAPQuery");break; default: Alert("Default");break;}

Page 662: Hyperion Dashboard

6-168 Properties

QuerySize (Property)

Applies To: QuerySection

Description: Returns the estimated number of rows the current query will return if processed.

Action: Read-only, Integer

Example: This example shows you how to check the size of the query before processing and ask the user if they want to process the query given the size.

var MyCon = ActiveDocument.Sections"Query"].DataModel.ConnectionMyCon.Username = "Brio"MyCon.SetPassword("BrioBrio")MyCon.Connect()var QS = ActiveDocument.Sections["Query].QuerySizeif (QS > 5000){ var Msg = "The query you are about to run, returns "+QS+ rows. "Are you sure you want to continue?" var retVal = Alert(Msg,Alert,Yes,No) if (retVal == 1) ActiveDocument.Sections["Query"].Process()}

Page 663: Hyperion Dashboard

RefreshData (Property) 6-169

RefreshData (Property)

Applies To: PivotSection object, ChartSection

Description: You can set a separate refresh frequency for each Pivot and Chart in your document. When the query is processed, reports are populated with data according to their refresh frequencies. There are three methods available for refreshing reports: After Process, OnActivate and Manually. These options are mutually exclusive. An additional option, the RefreshDataNow method, is only available when "Manually" is the selected option.

Note Refresh options are set on a per-report basis. For example, if you have ten Pivot reports that you want to refresh when activated, you need to set the When Section Displayed option for each report.

Action: Read-Write

Constants: The BqRefreshData constant group consists of the following values:

bqRefreshDataAfterProcess

bqRefreshDataManually

bqRefreshDataOnActivate

Example 1 : In this example, a request is made to manually refresh the Pivot section, after which an immediate refresh to the current section is invoked.

//Manual Refresh of DataActiveDocument.Sections["Pivot"].RefreshData=bqRefreshDataManuallyActiveDocument.Sections["Pivot"].RefreshDataNow()

Page 664: Hyperion Dashboard

6-170 Properties

Example 2: In this example, a request is made to establish an automatic link to the Results section to update the report whenever the query is processed.

//Refresh Data After ProcessingActiveDocument.Sections["Pivot"].RefreshData=bqRefreshDataAfterProcess

Example 3: In this example, a request is made to refresh when the section is accessed and displayed.

//Refresh Data When Section is DisplayedActiveDocument.Sections["Pivot"].RefreshData=bqRefreshDataOnActivate

Page 665: Hyperion Dashboard

Repository (Property) 6-171

Repository (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns the Repository radio button setting on the Object tab dialog for Embedded Browser control and the HyperLink control. If this property is set to “true”, the Repository radio button has been checked.

Action: Read only, Boolean

Example: This example shows you how to show if the Repository radio button has been checked in an Alert box:

Alert(EmbeddedBrowser1.Repository)

Page 666: Hyperion Dashboard

6-172 Properties

RepositoryBQYSection (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns the BQY section name set for the BQY document repository object on the Document Options dialog. The default section name matches the BQY’s default (that is, whatever section would display if the user opened the BQY via the Intelligence Server icon in the browse application).

Action: Read only, String

Example: This example shows you how to display the name of BQY section in an Alert box:

Alert(EmbeddedBrowser1.RepositoryBQYSection)

Page 667: Hyperion Dashboard

RepositoryBQYToolbarType (Property) 6-173

RepositoryBQYToolbarType (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns the BQY toolbar type set for a BQY document repository object on the Document Options dialog (corresponds to the Toolbar field). The toolbar type indicates which toolbar is associated with the BQY document when it is viewed in the Intelligence iServer.

Action: Read only, BqRepositoryBQYToolbarType

Constants: The BqRepositoryBQYToolbarType constant group consists of the following values:

bqRepositoryBQYToolbarNone = 0

bqRepositoryBQYToolbarPaging = 1

bqRepositoryBQYToolbarStandard =2

Example: This example shows you how to display the type of toolbar shown for the BQY document reposiotry object in an Aler box:

Alert(EmbeddedBrowser1.RepositoryBQYToolbarType)

Page 668: Hyperion Dashboard

6-174 Properties

RepositoryDocument (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns the name of the object selected from the Repository on the Document Options dialog.

Action: Read only, String

Example: This example shows you how to display the name of the object selected from the Reposiotry in an Alert box (only the object name appears, and not the path name):

Alert(EmbeddedBrowser1.RepositoryDocument)

Page 669: Hyperion Dashboard

RepositoryFileType (Property) 6-175

RepositoryFileType (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns the type of file associated with the repository object on the Document Options dialog. There are four repository file types available for external content in the Intelligence iServer including: BQY, BQY Job, SQR Job, and Other.

Action: Read only, BqRepositoryFiletype constant group

Constants: The BqRepositoryFileType constant group consists of the following values:

bqRepositoryFiletypeBQY = 2

bqRepositoryFiletypeBQYJob = 3

bqRepositoryFiletypeOther = 1

bqRepositoryFiletypeSQRJob = 4

Example: This example shows you how to display the file type of the repository object in an Alert box:

Alert(EmbeddedBrowser1.RepositoryFiletype)

Page 670: Hyperion Dashboard

6-176 Properties

RepositoryJobFilename (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns the name of the job file displayed from a job output repository object. The job file name represents the BQY or SQR job to be viewed in the Intelligence iServer. This property is only available when the “Document Type” is “BQY Job” or “SQR Job” on the Document Options dialog.

Action: Read only, String

Example: This example shows you how to display the job filename off the repository object in an Alert box:

Alert(EmbeddedBrowser1.RepositoryJobFilename)

Page 671: Hyperion Dashboard

RepositoryJobRun (Property) 6-177

RepositoryJobRun (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns the value of the Run Job value on the Document Options dialog. This property is only available for BQY Job or SQR Job document types.

Action: Read only, Boolean

Example: This example shows you how to return the value in Run Job check box in an Alert box.

Alert(EmbeddedBrowser1.RepositoryJobRun)

Page 672: Hyperion Dashboard

6-178 Properties

RepositoryParams (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns any parameters appended to the URL (used as a Smartcut for accessing the document in the Intelligence iServer) through the “Other Parameters” control of the Document options dialog.

Action: Read only, String

Example: This example shows you how to return any additional parameters appended to the URL in an Alert box.

Alert(EmbeddedBrowser1.RepositoryParams)

Page 673: Hyperion Dashboard

RepositorySmartcut (Property) 6-179

RepositorySmartcut (Property)

Applies To: EmbeddedBrowser object, HyperLink object

Description: Returns the smartcut that is generated by way of the Repository options on the Document Ooptions dialog.

Action: Read only, String

Example: This example shows you how to return the smartcut path generated for the embedded repository object in an Alert box.

Alert(EmbeddedBrowser1.RepositorySmartcut)

Page 674: Hyperion Dashboard

6-180 Properties

ResetPrintProperties (Property)

Applies To: Application

Description: Provides users with the option to use the most current default print settings or to use the documents original print settings. When ResetPrintProperties is false (the default), the original default print settings are used for all sections of the document. When ResetPrintProperties is true, the document uses the most current default print settings.

Note Unexpected print behavior may occur when this option is enabled in the user interface and disabled through the object model in a document OnStartup script.

Action: Read-write, Boolean

Example: This example shows you how to set the SetPrintProperties to true.

Application.ResetPrintProperties=true

Page 675: Hyperion Dashboard

RightMargin (Property) 6-181

RightMargin (Property)

Applies To: ReportSection object

Description: Sets the right margin of the report. Margins are set for the entire report.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Number

Example: This example shows you how to set the right margin of the report to .25 inches.

ActiveDocument.Sections["Report"].RightMargin = .25

Page 676: Hyperion Dashboard

6-182 Properties

Rotation (Property)

Applies To: PieChart

Description: Returns or sets the value of a pie charts rotation. Use this property to change the visual perspective of a pie chart.

Action: Read-write, Numeric

Example: This example shows you how to change the rotation of a pie chart.

ActiveDocument.Sections["AllChart"].PieChart.Rotation=45

Page 677: Hyperion Dashboard

RowCount (Property) 6-183

RowCount (Property)

Applies To: ResultsSection object, TableSection object

Description: Returns the number of rows in a results or table section.

Note The number of rows in section can be affected by local limits. Consequently, this property does not always equal the number of rowsreturned by a query. Use the QuerySize property to determine the number of rows returned by a query.

Action: Read-only, Integer

Example: This example shows you how to transfer a list of values from a table column to a list box in an Dashboard section.

var RC = ActiveDocument.Sections["Table"].RowCount for ( j = 1; j <= RC ; j++) { var MyVal = ActiveDocument.Sections["Table"].Column["State"].GetCell(j) ActiveDocument.Sections["Dashboard"].Shapes["ListBox1"].Add(MyVal) }

Page 678: Hyperion Dashboard

6-184 Properties

RowLimit (Property)

Applies To: QuerySection, DataModel object

Description: Sets the maximum of rows to be retrieved by a query against the Data Model. This property corresponds to the Rows field on the General tab of the Data Model Options dialog.

Action: Read-Write, Number

Example: This example shows you how to set the row limit to 100 and then process the query.

ActiveDocument.Sections["Query2"].DataModel.RowLimitActive = trueActiveDocument.Sections["Query2"].DataModel.RowLimit = 100ActiveDocument.Sections["Query2"].Process()

Page 679: Hyperion Dashboard

RowLimitActive (Property) 6-185

RowLimitActive (Property)

Applies To: QuerySection, DataModelSection

Description: Returns the enable/disable for Row Limit setting property. This property corresponds to the Return First field on the General tab of the Data Model Options dialog.

Action: Read-only, Boolean

Example: This example enables the Row Limit setting, sets the maximum number of rows to retrieve, and processes the query.

ActiveDocument.Sections["Query2"].DataModel.RowLimitActive = trueActiveDocument.Sections["Query2"].DataModel.RowLimit = 200ActiveDocument.Sections["Query2"].Process()

Page 680: Hyperion Dashboard

6-186 Properties

RowNumber (Property)

Applies To: ResultsSection, TableSection

Description: Returns the selected row in a Results/Table section. The RowNumber property can be called from the OnRowDoubleClick event as well as from within any other BQ event, including those in the Dashboard section, Startup/Shutdown, and Custom Menu items. RowNumber is determined by what row is selected in the Row/Table section. This property also applies to a Results/Table section that is "actively" embedded in an Dashboard section when you select a row from the embedded Results/Table. Selecting a Results/Table section sets the RowNumber property to a number that represents the nth row in the section. When no row is selected, the RowNumber property is reset to 0.

Action: Read-only, Number

Example: This example shows you how to display the RowNumber.

Alert (ActiveDocument.Sections["Results"].RowNumber)

Page 681: Hyperion Dashboard

SaveResults (Property) 6-187

SaveResults (Property)

Applies To: QuerySection

Description: Returns or sets the value of the “Save Results with document” options. Setting this property equal to true will save the results of a query with the document.

Note Saving results with the document is performed on a query-by-query basis.

Action: Read-write, Boolean

Example: This example shows you how to save the results with the query section named “SalesQuery”.

ActiveDocument.Sections["SalesQuery"].SaveResults=true

Page 682: Hyperion Dashboard

6-188 Properties

SaveWithoutUsername (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of the SaveWithoutUsername property. Setting this property equal to true will NOT save the database username with the Open Catalog Extension file.

Action: Read-write, Boolean

Example: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is “PlutoSQLSVR”, which is a user DSN using the SQL Server 6.5 driver.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.EnableAsyncProcess = truemyCon.SaveWithoutUsername = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 683: Hyperion Dashboard

ScaleMax (Property) 6-189

ScaleMax (Property)

Applies To: LeftAxis, RightAxis

Description: Returns or sets the maximum scale values for the right and/or left chart axis.

Action: Read-write, Numeric

Example: This example shows you how to change the maximum scale of left and right chart axes.

ActiveDocument.Sections["AllChart"].ValuesAxis.LeftAxis.ScaleMax=2000000ActiveDocument.Sections["AllChart"].ValuesAxis.RightAxis.ScaleMax=2000000

Page 684: Hyperion Dashboard

6-190 Properties

ScaleMin (Property)

Applies To: LeftAxis, RightAxis

Description: Returns or sets the minimum scale values for the right and/or left chart axes.

Action: Read-write, Numeric

Example: This example shows you how to change the minimum scale of a left and right chart axis.

var MyChart = ActiveDocument.Sections["Chart"]MyChart.ValuesAxis.LeftAxis.ScaleMin = 25MyChart.ValuesAxis.RightAxis.ScaleMin = 25

Page 685: Hyperion Dashboard

ScaleX (Property) 6-191

ScaleX (Property)

Applies To: Picture object

Description: Sets the horizontal scale of a picture object.

This property corresponds to the Percent Scale Width field on the Picture Properties screen.

Action: Read-write, Numeric

Example: This example shows you how to reduce the width of the picture by 50%.

ActiveDocument.Sections["Report"].Body.Shapes["Picture"].ScaleX = 50

Page 686: Hyperion Dashboard

6-192 Properties

ScaleY (Property)

Applies To: Picture object

Description: Sets the vertical scale of a picture object.

This property corresponds to the Percent Scale Height field on the Picture Properties screen.

Action: Read-write, Numeric

Example: This example shows you how to increase the width of the picture by 50%.

ActiveDocument.Sections["Report"].Body.Shapes["Picture"].ScaleY = 150

Page 687: Hyperion Dashboard

Scrollable (Property) 6-193

Scrollable (Property)

Applies To: ControlsTextBox

Description: Returns or sets the value of the textbox’s scrollable property. Setting this property to true will enable vertical scrolling of text in the Text box control.

Action: Read-write, Boolean

Example: This example shows you how to change the properties of a text box.

ActiveDocument.Sections["Dashboard"].Shapes["TextBox1"].Scrollable = true

Page 688: Hyperion Dashboard

6-194 Properties

ShowScrollbar (Property)

Applies To: Chart Embedded Object, EmbeddedBrowser object

Description: Sets the scroll bar option to indicate when scroll bars get displayed for an Embedded Content control.

Available scroll bar options are:

■ Always

■ Never

■ Automatic

Automatic is the default scroll bar option.

Action: Read write, BqScrollbar constant group

Constants: The BqScrollbar constant group consists of the following values:

bqScrollbarTypeAlways

bqScrollbarTypeNever

bqScrollbarTypeAutomatic

Example: The following example shows you how to set the Scrollbar feature for an embedded browser control to

EmbeddedBrowser1.ShowScrollbar = bqScrollbarTypeAlways

Page 689: Hyperion Dashboard

ScrollbarsAlwaysShown (Property) 6-195

ScrollbarsAlwaysShown (Property)

Applies To: DashboardSection

Description: Provides the option of having scrollbars always showing for embedded section objects. This property does not apply to hyperlinked embedded section objects or view-only embedded sections with auto-sizing enabled.

The default setting, show scrollbars after the embedded section is selected, is false.

Action: Read-write, Boolean

Example: This example shows you how to enable embedded section objects to always show scrollbars.

ActiveDocument.Sections["Dashboard"].Shapes["Chart1"].ScrollbarsAlwaysShown = true

Page 690: Hyperion Dashboard

6-196 Properties

SelectedIndex (Property)

Applies To: ControlsDropDown

Description: Returns or sets the selections index in a dropdown control. Setting this value will cause the dropdown to change its selection.

Action: Read-write, Integer

Example: This example shows you how to display the number of the selected item in an Alert dialog box.

Index=ActiveDocument.Sections["Dashboard2"].Shapes["DropDown1"].SelectedIndex=3Alert("The user selected " + String(Index))

Page 691: Hyperion Dashboard

Shadow (Property) 6-197

Shadow (Property)

Applies To: Picture object

Description: Sets the value to display a drop-shadow to a line or shape so that objects appear as three-dimensional.

This property corresponds to the Shadow field on the Borders and Background screen in the user interface.

Action: Read-write, Boolean

Example: This example shows you how to set the shadow property to the picture object.

ActiveDocument.Sections["Report"].Body.Shapes["Picture"].Shadow = true

Page 692: Hyperion Dashboard

6-198 Properties

ShiftPoints (Property)

Applies To: BarLineChart

Description: Returns or sets the value of the BarLine chart’s ShiftPoints property. The ShiftPoints property determines where line chart plot points are placed in relation to the bar.

Action: Read-write, BqBarLineShift constant group

Constants: The BqBarLineShift constant group consists of the following values:

bqShiftCenter

bqShiftLeft

Example: This example shows you how to change a Bar Line charts shift points.

ActiveDocument.Sections["AllChart"].BarLineChart.ShiftPoints=bqShiftLeft

Page 693: Hyperion Dashboard

Show3DObjects (Property) 6-199

Show3DObjects (Property)

Applies To: ChartSection

Description: Returns or sets the value of the chart sections Show3DObjects property. Setting this property to true will display charts using 3D objects, setting it to false will display charts using 2D objects.

Action: Read-write, Boolean

Example: This example shows you how to change a chart to display 3D objects.

ActiveDocument.Sections"Chart"].Show3DObjects = true

Page 694: Hyperion Dashboard

6-200 Properties

ShowAdvanced (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the Show advanced options property of a connection file. Setting this property to true will enable the advanced properties dialog in the OCE wizard.

Action: Read-write, Boolean

Example: This example shows you how to set the advanced property.

ActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")ActiveDocument.Sections["Query"].DataModel.Connection.ShowAdvanced = trueActiveDocument.Sections["Query"].DataModel.Connection.Save()

Page 695: Hyperion Dashboard

ShowAllPositive (Property) 6-201

ShowAllPositive (Property)

Applies To: PieChart

Description: Returns or sets the ShowAllPositive Property for Pie charts. Setting this property to true will display all values (both positive and negative) as positive when displaying a pie chart.

Action: Read-write, Boolean

Example: This example shows you how to display all the values as positive values in a pie chart.

var MyChart = ActiveDocument.Sections["Sales Pie Chart"]MyChart.PieChart.ShowAllPositive = true

Page 696: Hyperion Dashboard

6-202 Properties

ShowBackPlane (Property)

Applies To: ChartSection

Description: Returns or sets the ShowBackPlane property of a chart. Setting this property equal to true will cause charts to display a back plane.

Action: Read-write, Boolean

Example: This example shows you how to display the back plane in a chart section.

var MyChart = ActiveDocument.Sections["Sales Chart"]MyChart.ShowBackPlane = true

Page 697: Hyperion Dashboard

ShowBarValues (Property) 6-203

ShowBarValues (Property)

Applies To: BarChart, BarLineChart

Description: If set to true data values are displayed on the tops of individual bars in Bar and Bar Line Charts.

Action: Read-write, Boolean

Example: This example shows you how to display the values on top of the bars in bar and bar line charts.

var MyChart = ActiveDocument.Sections["AllChart"]MyChart.BarChart.ShowBarValues = true

Page 698: Hyperion Dashboard

6-204 Properties

ShowBorder (Property)

Applies To: ChartSection

Description: Returns or sets a charts ShowBorder property. Setting this property equal to true will display a border around a chart.

Action: Read-write, Boolean

Example: This example shows you how to display the chart border.

var MyChart = ActiveDocument.Sections["Sales Chart"]MyChart.ShowBorder = true

Page 699: Hyperion Dashboard

ShowBrioRepositoryTables (Property) 6-205

ShowBrioRepositoryTables (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets a connections ShowBrioRepositoryTables property. Setting this property equal to true will display the Document Repository Tables in the table catalog associated, which is associated with the Open Catalog Extension.

Action: Read-write, Boolean

Example: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is: “PlutoSQLSVR”, which is a user DSN using the SQL Server 6.5 driver.

Var myCon = Application.CreateConnection()MyCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServerMyCon.HostName ="PlutoSQLSVR"MyCon.EnableAsyncProcess = trueMyCon.ShowBrioRepositoryTables = trueMyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 700: Hyperion Dashboard

6-206 Properties

ShowCatalog (Property)

Applies To: Document object, PluginDocument

Description: Returns or sets a document objects ShowCatalog property. Setting this property equal to true will display the Section/Catalog pane. This has the same effect as selecting/deselecting the Section/Catalog item from the view menu.

Note The ActiveDocument.ShowCatalog object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to hide and show various user interface elements in Intelligence Clients based on the application they are running.

if (Application.Name == "BrioQuery"){ ActiveDocument.ShowCatalog = true ActiveDocument.ShowMenuBar = true}else{//Save space in plugin by hiding catalog and turning off menu bar ActiveDocument.ShowCatalog = false Application.ShowMenuBar = false}

Page 701: Hyperion Dashboard

ShowColumnTitles (Property) 6-207

ShowColumnTitles (Property)

Applies To: ReportTable object

Description: Sets the value to either display or not display table column titles.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Boolean

Example: This example shows you how not to display table column titles.

ActiveDocument.Sections["Report"].Body.Tables["Table"].ShowColumnTitles = false

Page 702: Hyperion Dashboard

6-208 Properties

ShowColumnTotal (Property)

Applies To: TableFact object

Description: Sets the attribute to display a column total (break total) on a table fact column in the report section.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Boolean

Example: This example shows you how to display the column total for the "Amount Sales" table column.

ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts["Amount Sales"].ShowColumnTotal = true

Page 703: Hyperion Dashboard

ShowCustomMenu (Property) 6-209

ShowCustomMenu (Property)

Applies To: Application object

Description: Sets the attribute to enable or disable a custom menu. This property is useful for those users who need to disable the Custom menu option when performing security-based processing in an OnPreProcess event. The boolean value you specify here remains in effect as long as the Designer is running. For web client, the application restarts each time a new document is opened. Consequently for every document where there is a need to disable a Custom menu option, you will have to write script to disable it.

Action: Read-write, Boolean

Example: This example shows you how to display the column total for the "Amount Sales" table column.

Application.ShowCustomMenu = false;

Page 704: Hyperion Dashboard

6-210 Properties

ShowFullNames (Property)

Applies To: DMCatalog object

Description: Returns or sets a table catalogs ShowFullNames property. Setting this property equal to true will display the full names of tables in the table catalog.

Action: Read-write, Boolean

Example: This example shows you how to display the full names of tables in a table catalog.

var myQuery = ActiveDocument.Sections["Query"]myQuery.DataModel.Catalog.ShowFullNames = true

Page 705: Hyperion Dashboard

ShowHorizontalPlane (Property) 6-211

ShowHorizontalPlane (Property)

Applies To: ChartSection object

Description: Returns or sets a chart sections ShowHorizontalPlane property. Setting this property equal to true will display the horizontal plane of a chart.

Action: Read-write, Boolean

Example: This example shows you how to display the chart border.

var MyChart = ActiveDocument.Sections"Sales Chart"]MyChart.ShowBorder = trueMyChart.ShowHorizontalPlane = true

Page 706: Hyperion Dashboard

6-212 Properties

ShowIconJoins(Property)

Applies To: DataModel object

Description: Returns or sets a DataModels ShowIconJoins property. Setting this property equal to true will display the joins between topics that have been made into icons in the Data Model.

Action: Read-write, Boolean

Example: This example shows you how to show icon joins in a Data Model.

ActiveDocument.Sections["Query"].DataModel.ShowIconJoins = true

Page 707: Hyperion Dashboard

ShowIntervalTickmarks (Property) 6-213

ShowIntervalTickmarks (Property)

Applies To: ValuesAxis

Description: Returns or sets a charts ValueAxis ShowIntervalTickmarks property. Setting this property equal to true will display the tickmarks on a charts values axis.

Action: Read-Write, Boolean

Example: This example shows you howshows you how to enable Interval tickmarks for a chart.

ActiveDocument.Sections["Chart"].ValuesAxis.ShowIntervalTickmarks = true

Page 708: Hyperion Dashboard

6-214 Properties

ShowIntervalValues (Property)

Applies To: ValueAxis

Description: Returns or sets a charts ValueAxis ShowIntervalValues property. Setting this property equal to true will display the interval values on a charts values axis.

Action: Read-write, Boolean

Example: This example shows you how to enable Interval tickmarks for a chart.

ActiveDocument.Sections"Chart"].ValuesAxis.ShowIntervalValues = true

Page 709: Hyperion Dashboard

ShowLabel (Property) 6-215

ShowLabel (Property)

Applies To: LeftAxis , RightAxis, XAxisLabel, ZaxisLabel

Description: Returns or sets a charts ShowLabel property. Setting this property equal to true will display the label associated with an axis.

Action: Read-write, Boolean

Example: This example shows you how to show all the labels for the various chart objects.

ActiveDocument.Sections["Chart"].Activate()ActiveSection.ValuesAxis.RightAxis.ShowLabel = trueActiveSection.LabelsAxis.XAxis.ShowLabel = trueActiveSection.ValuesAxis.LeftAxis.ShowLabel = trueActiveSection.LabelsAxis.ZAxis.ShowLabel = true

Page 710: Hyperion Dashboard

6-216 Properties

ShowLabels (Property)

Applies To: PieChart

Description: Returns or sets a pie chart’s ShowLabels property. Setting this property equal to true will display the labels associated with a pie chart.

Action: Read-write, Boolean

Example: This example shows you how to set pie chart specific properties.

ActiveDocument.Sections["Chart"].PieChart.ShowLabels = trueActiveDocument.Sections["Chart"].PieChart. ShowPercentages = true

Page 711: Hyperion Dashboard

ShowLegend (Property) 6-217

ShowLegend (Property)

Applies To: ChartSection

Description: Returns or sets a charts ShowLegend property. Setting this property equal to true will display the legend associated with a chart.

Action: Read-write, Boolean

Example: This example shows you how to enable the chart legend.

ActiveDocument.Sections["Chart"].ShowLegend = true

Page 712: Hyperion Dashboard

6-218 Properties

ShowLevelProperties (Property)

Applies To: OLAPConnection object (OLE DB only)

Description: Sets the ShowLevelProperties property.

Action: Read only, Boolean

Example: This example shows you how to display in a text box if level properties are shown in the query or not.

var xxx=ActiveDocument.Sections["OLAPQuery"].Connection.ShowLevelProperties

if (xxx==true){TextBox1.Text = "Levels are shown"}else (xxx==false){TextBox1.Text = "Levels are not shown"}

Page 713: Hyperion Dashboard

ShowLocalResults (Property) 6-219

ShowLocalResults (Property)

Applies To: DMCatalog object

Description: Returns or sets a table catalogs ShowLocalResults property. Setting this property equal to true will display the list of local results in the table catalog.

Action: Read-write, Boolean

Example: This example shows you how to search through the document for more than one results set and then display the local results in the Table Catalog.

var ResultsCount = 0for (j =1 ; j <= ActiveDocument.Sections.Count ; j++) if (ActiveDocument.Sections[j].Type == bqQuery) ResultsCount++if (ResultsCount > 1 ) ActiveDocument.Sections["Query"].DataModel.ShowLocalResults = true

Page 714: Hyperion Dashboard

6-220 Properties

ShowMenuBar (Property)

Applies To: Application

Description: Returns or sets the applications ShowMenuBar property. Setting this property equal to true will display the applications menu bar. The default value is true.

Note The Application.ShowMenuBar object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to hide and show various user interface elements in Intelligence Clients based on the application they are running.

if (Application.Name == "BrioQuery Designer"){ ActiveDocument.ShowCatalog = true Application.ShowMenuBar = true}else{//Save space in plugin by hiding catalog and turning off menu bar ActiveDocument.ShowCatalog = false Application.ShowMenuBar = false}

Page 715: Hyperion Dashboard

ShowMetadata (Property) 6-221

ShowMetadata (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets a connections ShowMetadata property. Setting this property equal to true will display metadata settings in the Open Catalog Extensions wizard.

Action: Read-write, Boolean

Example: This example creates a connection file from scratch and then applies it to the current document. The data source name in this example is “PlutoSQLSVR”, which is a user DSN using the SQL Server 6.5 driver.

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."mmyCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.EnableAsyncProcess = truemyCon.ShowMetaData = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 716: Hyperion Dashboard

6-222 Properties

ShowOutliner (Property)

Applies To: ChartSection, OLAPQuerySection, PivotSection object, QuerySection object, ResultsSection, TableSection, ReportSection

Description: Returns or sets a ShowOutliner property. Setting this property equal to true will display the Outliner associated with a section. The default value is true.

Note The ActiveDocument.Sections[“SectionName”]. ShowOutliner() object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to display the chart outliner.

ActiveDocument.Sections["Chart"].ShowOutliner = true

Page 717: Hyperion Dashboard

ShowPartialViewIndicator (Property) 6-223

ShowPartialViewIndicator (Property)

Applies To: ChartSection object

Description: Returns or sets the charts AutoResize property. Setting this property equal to true which redraws all the Chart components in such a way that the Chart Border is expanded to fit with the maximum allowable height or width of the Contents Pane.

.Action: Read-write, Boolean

Example: This example shows you how to hide the Partial View Indicator on the Chart screen.

ActiveDocument.Sections["Chart"].ShowPartialViewIndicator = false

Page 718: Hyperion Dashboard

6-224 Properties

ShowPercentages (Property)

Applies To: PieChart

Description: Returns or sets a pie charts ShowPercentages property. Setting this property equal to true will display the percentages next to the pie slices in a pie chart.

Action: Read-write, Boolean

Example: This example shows you how to set pie chart specific properties.

ActiveDocument.Sections["Chart"].PieChart.ShowLabels = trueActiveDocument.Sections["Chart"].PieChart. ShowPercentages = true

Page 719: Hyperion Dashboard

ShowRowNumbers (Property) 6-225

ShowRowNumbers (Property)

Applies To: ResultsSection, TableSection

Description: Returns or sets a table sections ShowRowNumbers property. Setting this property equal to true will display the row numbers in the left most region of a table section.

Action: Read-write, Boolean

Example: This example displays the row numbers.

ActiveDocument.Sections"Results"].ShowRowNumbers = true

Page 720: Hyperion Dashboard

6-226 Properties

ShowSectionTitleBar (Property)

Applies To: Document object, PluginDocument

Description: Returns or sets a documents ShowSectionTitleBar property. Setting this property equal to true will display the section specific title bar. Changing this property is equivalent to showing/hiding the section title bar from the view menu.

Note The ActiveDocument.ShowSectionTitleBar object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to hide and show various user interface elements in Intelligence Clients based on the application you are running.

if (Application.Name == "BrioQuery Designer"){ ActiveDocument.ShowCatalog = true

ActiveDocument.ShowSectionTitleBar = trueApplication.ShowStatusBar = true

Application.ShowMenuBar = true}else{//Save space in plugin by turning off various user interface elements ActiveDocument.ShowCatalog = false ActiveDocument.ShowSectionTitleBar = false

Application.ShowStatusBar = false Application.ShowMenuBar = false}

Page 721: Hyperion Dashboard

ShowSlicer (Property) 6-227

ShowSlicer (Property)

Applies To: OLAPQuerySection object

Description: Returns or sets ShowSlicer property. Setting this property equal to true will display the slicer in the OLAPQuery outliner section. The default value is true.

Action: Read-write, Boolean

Example: This example shows you how to hide the slicer in the OLAPQuery.

ActiveDocument.Sections["OLAPQuery"].ShowSlicer=false

Page 722: Hyperion Dashboard

6-228 Properties

ShowSortLine (Property)

Applies To: Section object

Description: Returns or sets ShowSortLine property. Setting this property equal to true will display the sort line in each section (with the exception of the Dashboard section). The default value is true.

Action: Read-write, Boolean

Example: This example shows you how to hide the sort line in the OLAPQuery.

ActiveDocument.Sections["OLAPQuery"].ShowSortLine=false

Page 723: Hyperion Dashboard

ShowStatusBar (Property) 6-229

ShowStatusBar (Property)

Applies To: Application

Description: Returns or sets the applications ShowStatusBar property. Setting this property equal to true will display the status bar. Changing this property is equivalent to showing/hiding the status bar from the view menu.

Note The Application.ShowStatusBar and Application.ShowStatusText object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to hide and show various user interface elements in Intelligence Clients based on the application they are running.

if (Application.Name == "BrioQuery Designer"){ ActiveDocument.ShowCatalog = true

ActiveDocument.ShowSectionTitleBar = trueApplication.ShowStatusBar = true

Application.ShowMenuBar = true}else{//Save space in plugin by hiding by various user interface elements ActiveDocument.ShowCatalog = false ActiveDocument.ShowSectionTitleBar = false Application.ShowStatusBar = false Application.ShowMenuBar = false}

Page 724: Hyperion Dashboard

6-230 Properties

ShowSubTitle (Property)

Applies To: ChartSection

Description: Returns or sets the charts ShowSubTitle property. Setting this property equal to true will display the sub title.

Action: Read-write, Boolean

Example: This example shows you how to add a sub-title to a chart.

var MyChart=ActiveDocument.Sections["Chart"]MyChart.SubTitle="This is the Sub Title"MyChart.ShowSubTitle=true

Page 725: Hyperion Dashboard

ShowTickmarks (Property) 6-231

ShowTickmarks (Property)

Applies To: XAxis, ZAxis

Description: Returns or sets the charts ShowTickmarks property. Setting this property equal to true will display the tickmarks on X-axis and/or Z-axis.

Action: Read-write, Boolean

Example: This example shows you how to display tickmarks on the X-axis and hide them on the Z-axis.

var MyChart = ActiveDocument.Sections["Chart"]MyChart.LabelsAxis.XAxis.ShowTickmarks = trueMyChart.LabelsAxis.ZAxis.ShowTickmarks = false

Page 726: Hyperion Dashboard

6-232 Properties

ShowTitle (Property)

Applies To: ChartSection

Description: Returns or sets the charts ShowTitle property. Setting this property equal to true will display the chart title.

Action: Read-write, Boolean

Example: This example shows you how to add a title to a chart.

var MyChart=ActiveDocument.Sections["Chart"]MyChart.Title="This is the Title"MyChart.ShowTitle=true

Page 727: Hyperion Dashboard

ShowValues (Property) 6-233

ShowValues (Property)

Applies To: XAxis, ZAxis

Description: Returns or sets the charts ShowValues property. Setting this property equal to true will display the values along the X-axis and/or the Z-axis.

Action: Read-write, Boolean

Example: This example shows you how to display the values on the X-axis and hide them on the Z-axis.

var MyChart = ActiveDocument.Sections["Chart"]MyChart.LabelsAxis.XAxis.ShowValues = trueMyChart.LabelsAxis.ZAxis.ShowValues = false

Page 728: Hyperion Dashboard

6-234 Properties

ShowValuesAtRight (Property)

Applies To: ValuesAxis

Description: Returns or sets the charts ShowValuesAtRight property. Setting this property equal to true will display the values to the right of the values axis.

Action: Read-write, Boolean

Example: This example shows you how to display the values to the right of the axis.

var MyChart = ActiveDocument.Sections"Chart"]MyChart.ValuesAxis.ShowValuesAtRight = true

Page 729: Hyperion Dashboard

ShowVerticalPlane (Property) 6-235

ShowVerticalPlane (Property)

Applies To: ChartSection object

Description: Returns or sets the charts ShowVerticalPlane property. Setting this property equal to true will display the vertical plane in a chart section.

Action: Read-write, Boolean

Example: This example shows you how to display the vertical plane on a chart.

ActiveDocument.Sections["Chart"].ShowVerticalPlane=true

Page 730: Hyperion Dashboard

6-236 Properties

Size (Property)

Applies To: Font objec

Description: Returns or sets the value of a font objects size property. This property controls the size of the text associated with a font object.

Action: Read-write, Numeric

Example: This example shows you how to change the size of the text associated with a text label.

var MyLabel = ActiveDocument.Sections"Dashboard"].Shapes["TextLabel1"]MyLabel.Font.Size = 14MyLabel.Font.Style = bqFontStyleBoldItalic

Page 731: Hyperion Dashboard

SmartScaling (Property) 6-237

SmartScaling (Property)

Applies To: ChartSection

Description: Returns or sets the charts SmartScaling property. Setting this property equal to true enables the “Smart Scaling” feature, which governs how Chart components are initially displayed, how they behave during Chart resizing and how Chart components can be moved or repositioned.

Smart Scaling relies on a display hierarchy or a draw order when it determines what is displayed. The display hierarchy is based on the number of components and the initial size of the chart boundary. The display hierarchy for the Chart sections is as follows.

Bar, Line and Area charts have this display order:

■ Planes

■ Bar/Lines/Ribbons

■ Z axis values

■ X axis values

■ Y axis values

■ Legend

■ Titles

■ Axis

■ Inserted text

Pie charts have this display order:

■ Slices

■ Slice Labels

■ Legend

■ Titles

■ Inserted text

Page 732: Hyperion Dashboard

6-238 Properties

As you add or modify various Chart label components, Smart Scaling uses the hierarchy to determine which components are added or omitted when placing items.

.Action: Read-write, Boolean

Example: This example shows you how to add a title to a chart.

ActiveDocument.Sections["Chart"].SmartScaling = true

Page 733: Hyperion Dashboard

SortAscending (Property) 6-239

SortAscending (Property)

Applies To: ReportTable object

Description: Returns or sets the sort ascending property for items in a ReportTable column.

Action: Read-write, Boolean

Example This example shows you how to sort items in the "Region" column in ascending order.

ActiveDocument.Sections["Report"].Body.Tables["Table"].SortItems["Region"].SortAscending = true

Page 734: Hyperion Dashboard

6-240 Properties

SortDescending (Property)

Applies To: ReportTable object

Description: Returns or sets the sort descending property for items in a ReportTable column.

Action: Read-write, Boolean

Example This example shows you how to sort items in the "Region" column in descending order.

ActiveDocument.Sections["Report"].Body.Tables["Table"].SortItems["Region"].SortDescending = true

Page 735: Hyperion Dashboard

SortFactName (Property) 6-241

SortFactName (Property)

Applies To: PivotLabels collection, XCategory object, ZCategory object

Description: Returns or sets the sort criteria for a pivot fact. This property is used in conjunction with the SortByFact (Method).

Action: Read-only, String

Example: This example shows you how to sort the side label "Product Name" by the fact value.

ActiveDocument.Sections["Pivot3"].SideLabels["Product Name"].SortFactName="Unit Sales"

Page 736: Hyperion Dashboard

6-242 Properties

SortFunction (Property)

Applies To: PivotLabels Collection, XCategory object, ZCategory object

Description: Returns or sets aggregate statistical functions programmatically. This property takes a BqSortFunction group value, which duplicates the data functions available in the Pivot and Chart sections. This property is used in conjunction with the SortByFact (Method) which allows you to sort by a numeric data item.

Action: Read-only, String

Constants: The BqSortFunction group constant consists of the following values:

bqSortFunctionAverage

bySortFunctionCount

bqSortFunctionMaximum

bqSortFunctionMinimum

bqSortFunctionNonNullAverage

bqSortFunctionNonNullCount

bqSortFunctionNullCount

bqSortFunctionSum

Example This example shows you how to sort values based on the average statistical function.

ActiveDocument.Sections["Pivot3"].SideLabels["Product Name"].SortFunction= bqSortFunctionAverage

Page 737: Hyperion Dashboard

SortOrder (Property) 6-243

SortOrder (Property)

Applies To: Sort Items, XCategory object, ZCategory object

Description: Returns or sets the ascending or descending sort order property. Th SortNow is required to use SortOrder (Property).

Action: Read-write

Constants The constant associated with this property is a member of the constant group called BqSortOrder. The BqSortOrder constant group consists of the following values:

bqSortAscend

bqSortDescend

Example: This example shows you how to use the SortOrder property in a Table section. The example references the Add method, SortNow Method SortOrder property and the BqSortOrder constant group. It involves four command buttons and two text boxes. The text boxes are used to record the actions of the scripts as they are executed.

1st Command button

//adds the Store Id conditonActiveSection.Shapes["CommandButton1"].OnClick()TextBox1.Text = "Start Add Sort"try{ActiveDocument.Sections["Table"].SortItems.Add("Store Id")}catch(e){TextBox2.Text = e.toString()}TextBox1.Text = "End Add Sort"

2nd Command Button

//invokes the SortNow methodActiveSection.Shapes["CommandButton1"].OnClick()TextBox1.Text = "Start SortNow"try{

Page 738: Hyperion Dashboard

6-244 Properties

ActiveDocument.Sections["Table"].SortItems.SortNow()}catch(e){TextBox2.Text = e.toString()}TextBox1.Text ="End SortNow"

3rd Command Button

//invokes the SortOrder property and bqSortAscend constant

ActiveSection.Shapes["CommandButton1"].OnClick()TextBox1.Text = "Start SortOrder"try{TextBox1.Text = "Step1"ActiveDocument.Sections["Table"].SortItems[1].SortOrder = bqSortAscendTextBox1.Text = "Step2"TextBox3.Text = ActiveDocument.Sections["Table"].SortItems[1].SortOrderTextBox1.Text = "Step3"switch(ActiveDocument.Sections["Table"].SortItems[1].SortOrder){case 1: TextBox3.Text = "Sort Order is bqSortAscend"break; case 2: TextBox3.Text = "Sort Order is bqSortDescend"break; default: TextBox3.Text = "No Sort Order is Available"}}catch(e){TextBox2.Text = e.toString()}TextBox1.Text = "End SortOrder"

4th Command Button

//invokes the SortOrder property and bqSortAscend constantTextBox1.Text = "Start SortOrder"try{TextBox1.Text = "Step1"ActiveDocument.Sections["Table"].SortItems[1].SortOrder = bqSortDescendTextBox1.Text = "Step2"TextBox3.Text = ActiveDocument.Sections["Table"].SortItems[1].SortOrderTextBox1.Text = "Step3"switch(ActiveDocument.Sections["Table"].SortItems[1].SortOrder){case 1: TextBox3.Text = "Sort Order is bqSortAscend"break; case 2:

Page 739: Hyperion Dashboard

SortOrder (Property) 6-245

TextBox3.Text = "Sort Order is bqSortDescend"break; default: TextBox3.Text = "No Sort Order is Available"}}catch(e){TextBox2.Text = e.toString()}TextBox1.Text = "End SortOrder"

Page 740: Hyperion Dashboard

6-246 Properties

SpecificMetadataLogin (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets a connection objects SpecificMetadataLogin property. Setting this property to true will use the login information specified in the default connection for the metadata connection.

Action: Read-write, Boolean

Example: This example creates an OCE from scratch and then applies it to the current document. The data source name in this example is: “PlutoSQLSVR”, which is a user DSN using the SQL Server 6.5 driver.

var myCon = Application.CreateConnection()myCon.Description"This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."myCon.Api = bqApiOpenClientmyCon.Database = bqDatabaseSQLServermyCon.HostName ="PlutoSQLSVR"myCon.EnableAsyncProcess = truemyCon. SpecificMetadataLogin = truemyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoSQL.oce")

Page 741: Hyperion Dashboard

SQLName (Property) 6-247

SQLName (Property)

Applies To: Requests collection

Description: Returns the value of a request object’s SQLName property. The value of this property is the name of the request object, which is used in building the SQL statement.

Action: Read-only, String

Example: This example shows you how to display all the names used in the SQL statement corresponding to the request line items.

var RequestCount = ActiveDocument.Sections["Query"].Requests.Countfor (j =1 ; j <= RequestCount ; j++) { var DisplayName = ActiveDocument.Sections["Query"].Requests[j].DisplayName var SQLName = ActiveDocument.Sections["Query"].Requests[j].SQLName Console.Writeln("The column named "+ DisplayName + "is actually known by "+ SQLName + "to the database.") }

Page 742: Hyperion Dashboard

6-248 Properties

SQLNetRetainDateFormats (Property)

Applies To: Connection object, MetaDataConnection object

Description: SQLNet Only. Returns or sets the value of a connection objects SQLNetRetainDateFormats property. Setting this property equal to true will retain the date formats specified by SQLNet.

Action: Read-write, Boolean

Example: This example creates a connection file from scratch and then applies it to the current document.

Var myCon = Application.CreateConnection()MyCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."MyCon.Api = bqApiSQLNetMyCon.Database = bqDatabaseOracle71MyCon.HostName ="PlutoORACLE"MyCon. SQLNetRetainDateFormats =trueMyCon.SaveAs("d:\\OCEs\\PlutoORACLE.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoORACLE.oce")

Page 743: Hyperion Dashboard

StackClusterType (Property) 6-249

StackClusterType (Property)

Applies To: BarLineChart

Description: Returns or sets the value of the BarLineChart objects StackClusterType property.

Action: Read-write

Constants: The BqClusterBarType constant consists of the following values:

bqClusterByY

bqClusterByZ

Example: This example shows you how to change the type of BarLineChart.

var MyChart = ActiveDocument.Sections["Chart"]MyChart.BarLineChart.StackClusterType = bqClusterByY

Page 744: Hyperion Dashboard

6-250 Properties

StatusText (Property)

Applies To: Application

Description: Returns or sets the applications StatusText property. Setting this property equal to true will display status text. Changing this property is equivalent to showing/hiding the status text from the view menu.

Note The Application.ShowStatusBar and Application.StatusText object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example shows you how to hide and show various user interface elements in Intelligence Clients based on the application they are running.

if (Application.Name == "BrioQuery Designer"){ ActiveDocument.ShowCatalog = true

ActiveDocument.ShowSectionTitleBar = trueApplication.StatusText = true

Application.ShowMenuBar = true}else{//Save space in plugin by hiding by various user interface elements ActiveDocument.ShowCatalog = false ActiveDocument.ShowSectionTitleBar = false Application.StatusText = false Application.ShowMenuBar = false}

Page 745: Hyperion Dashboard

StringRetrieval (Property) 6-251

StringRetrieval (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of a connection objects StringRetrieval property. If this property is set to true then the connection will use string retrieval, if the property is set to false then the connection will use binary retrieval.

Action: Read-write, Boolean

Example: This example creates a connection from scratch and then applies it to the current document.

Var myCon = Application.CreateConnection()MyCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto."myCon.Api = bqApiSQLNetmyCon.Database = bqDatabaseOracle71myCon.HostName ="PlutoORACLE"myCon. StringRetrieval =truemyCon.SaveAs("d:\\OCEs\\PlutoORACLE.oce")

//Now use this connection in a datamodelActiveDocument.Sections["Query"].DataModel.Connection.Open("d:\\OCEs\\PlutoORACLE.oce")

Page 746: Hyperion Dashboard

6-252 Properties

Style (Property)

Applies To: Font

Description: Returns or sets the value of a font objects style property. This property changes the look and feel of the text associated with the font object.

Action: Read-write

Constants: The BqFontStyle constant consists of the following values:

bqFontStyleBold

bqFontStyleBoldItalic

bqFontStyleItalic

bqFontStyleNone

bqFontStyleRegular

Example: This example shows you how to change the size of the text associated with a text label.

var MyLabel = ActiveDocument.Sections["Dashboard"].Shapes["TextLabel1"]MyLabel.Font.Size = 14MyLable.Font.Style = bqFontStyleBoldItalic

Page 747: Hyperion Dashboard

SubTitle (Property) 6-253

SubTitle (Property)

Applies To: ChartSection

Description: Returns or sets the value of a charts sub title.

Action: Read-write, String

Example: This example shows you how to add a sub title to a chart.

ActiveDocument.Sections["Chart"].SubTitle ="This is the sub title"ActiveDocument.Sections["Chart"].ShowSubTitle=true

Page 748: Hyperion Dashboard

6-254 Properties

SuppressDuplicates (Property)

Applies To: Column

Description: Returns or sets the value of a column objects SuppressDuplicates property. Setting this property equal to true will suppress duplicate values in an individual column.

Action: Read-write, Boolean

Example: This example shows you how to suppress duplicate results on specific columns within a Results section.

var Col1 = "State"var Col2 = "City"ActiveDocument.Sections"Results"].Columns[Col1].SupressDuplicates = trueActiveDocument.Sections["Results"].Columns[Col2].SupressDuplicates = true

Page 749: Hyperion Dashboard

SuppressEmptyRows (Property) 6-255

SuppressEmptyRows (Property)

Applies To: DBSpecific object (MS OLAP and SAP BW)

Description: Suppresses the retrieval of any empty rows for which there is no measure data.

Action: Read-write, Boolean

Example: This example shows you how to suppress empty rows in the OLAP query.

ActiveDocument.Sections["OLAPQuery"].DBSpecific.SuppressEmptyRows=true

Page 750: Hyperion Dashboard

6-256 Properties

SuppressMissingRows (Property)

Applies To: DBSpecific object (Essbase and DB2 OLAP only)

Description: Suppresses the retrieval of any missing rows where all cells are null.

Action: Read-write, Boolean

Example: This example shows you how to suppress empty rows in the OLAP query.

ActiveDocument.Sections["OLAPQuery"].DBSpecific.SuppressMissingRows=true

Page 751: Hyperion Dashboard

SuppressZeroRows (Property) 6-257

SuppressZeroRows (Property)

pplies To: DBSpecific object (Essbase and DB2 OLAP only)

Description: Suppresses the retrieval of any zero rows where all cells are null.

Action: Read-write, Boolean

Example: This example shows you how to suppress empty rows in the OLAP query.

ActiveDocument.Sections["OLAPQuery"].DBSpecific.SuppressZeroRows=true

Page 752: Hyperion Dashboard

6-258 Properties

SurfaceValues (Property)

Applies To: PivotSection object

Description: Returns or sets the value of the Pivot Section's surface values property. Surface values instruct the entire Pivot to perform calculations based on the computed item formula to evaluate the break total. Changes to the property are selected in the user interface when the property is set. Changes to the UI are reflected when the property is read. The default value is false.

Average and Count aggregation Data Functions are not evaluated in True Total mode unless the Use Surface Values property is also enabled (see Use Surface Value above). If Use Surface Values is not enabled, the Average and Count aggregation are calculated using the count of the underlying Table/Result Section data values instead of the displayed Pivot values.

Action: Read-write, Boolean

Example 1: This example shows you how to turn on surface values.

//Surface Values ONActiveDocument.Sections["Pivot"].SurfaceValues=true

Example 2: This example shows you how to turn off surface values.

//Surface Values OFF ActiveDocument.Sections["Pivot"].SurfaceValues=false

Page 753: Hyperion Dashboard

SuspendCalculation (Property) 6-259

SuspendCalculation (Property)

Applies To: ReportSection

Description: Returns or sets the value of a report object’s SuspendCalculation property. Setting this property equal to true will prevent a graphic recalculation of the Report section when an item is added through the object model. By enabling this property, you can greatly enhance performance of the Report section.

Note You must use the Recalculate() method or the Process method to force a recalculation when using this property.

Action: Read-write, Boolean

Example: This example shows you how to increase the performance of the report section using the SuspendCalculation property.

ActiveDocument.Sections["Report"].SuspendCalculation = true

Page 754: Hyperion Dashboard

6-260 Properties

SuspendRecalculation (Property)

Applies To: Limit (Results limits only)

Description: Returns or sets the value of a results limit object SuspendRecalculation property. Setting this property equal to true will prevent the results limit from recalculating after every modification. This greatly enhances performance of results limit calculations.

Note You must use the Recalculate() method to force a recalculation when using this property.

Action: Read-write, Boolean

Example: This example shows you how to increase the performance of limits applied to a results set using the Suspend Recalculation property.

var MyLimit = ActiveDocument.Sections["Results"].Limits["Units"]MyLimit.SuspendRecalculation = trueMyLimit.SelectedValues.RemoveAll()MyLimit.SelectedValues.Add(10)MyLimit.SelectedValues.Add(11)MyLimit.SelectedValues.Add(12)MyLimit.SuspendRecalculation = falseActiveDocument.Sections["Results].Recalculate()

Note Instead of calculating the results limit four times, the script above only calculates it once.

Page 755: Hyperion Dashboard

Text (Property) 6-261

Text (Property)

Applies To: ControlsTextBox, EmbeddedBrowser object, HyperLink object,

Description: Returns or sets the value of the text that is displayed in a Text box control or Text label shape.

Action: Read-write, String

Example: This example shows you how to set an initial value for a text box.

ActiveDocument.Sections["Dashboard2"].Shapes["TextBox1"].Text="Hello World"Alert (ActiveDocument.Sections["Dashboard2"].Shapes["TextBox1"].Text)

Page 756: Hyperion Dashboard

6-262 Properties

TextWrap (Property)

Applies To: Column

Description: Returns or sets the value of a column objects Textwrap property. Setting this property equal to true will cause the text in a column to wrap and extend the height of the column.

Action: Read-write, Boolean

Example: This example shows you how to force text to wrap on specific columns within the Results section.

var Col1 = "State"var Col2 = "City"ActiveDocument.Sections["Results"].Columns[Col1].TextWrap = falseActiveDocument.Sections["Results"].Columns[Col2]. TextWrap = true

Page 757: Hyperion Dashboard

TickmarkFrequency (Property) 6-263

TickmarkFrequency (Property)

Applies To: XAxis

Description: Returns or sets the value of a charts XAxis objects TickmarkFrequency property. This property effects the number of tickmarks displayed on the X-axis.

Action: Read-write, Numeric

Example 1: This example shows you how to display a tickmark for every value on the X-axis.

ActiveDocument.Sections["AllChart"].LabelsAxis.XAxis.TickmarkFrequency=1ActiveDocument.Sections["AllChart"].LabelsAxis.XAxis.ShowTickmarks=true

Example 2: This example shows you how to display a tickmark for every other value on the X-axis.

ActiveDocument.Sections["AllChart"].LabelsAxis.XAxis.TickmarkFrequency=2ActiveDocument.Sections["AllChart"].LabelsAxis.XAxis.ShowTickmarks=true

Page 758: Hyperion Dashboard

6-264 Properties

TimeLimit (Property)

Applies To: Connection object, MetaDataConnection object, DataModel, QuerySection

Description: Returns or sets the value of the timelimit property. This property controls the maximum time limit a query can process before timing out. It can be set on the OCE, DataModel or Connection level. The time increment is minutes.

Action: Read-write, Numeric

Example: This example shows you how to set the Time limit property for all the supported objects.

//Connectionsvar myCon = Application.CreateConnection()myCon.Api = bqApiSQLNetmyCon.Database = bqDatabaseOracle71myCon.HostName ="PlutoORACLE"myCon.TimeLimit = 20 myCon.SaveAs("d:\\OCEs\\PlutoORACLE.oce")

//DataModelActiveDocument.Sections["Query].DataModel.TimeLimit = 30

//QueryActiveDocument.Sections["Query].TimeLimit = 30

Page 759: Hyperion Dashboard

TimeLimitActive (Property) 6-265

TimeLimitActive (Property)

Applies To: QuerySection, DataModel object

Description: Returns the enable/disable for Time Limit setting property. It is associated with the TimeLimit property.

Action: Read-only, Boolean

Example: This example shows you how to enable the Time Limit setting, set the maximum time limit to process a query before timing out,. and process the query.

ActiveDocument.Sections["Query"].DataModel.TimeLimitActive = trueActiveDocument.Sections["Query"].DataModel.TimeLimit = 30ActiveDocument.Sections["Query"].Process()

Page 760: Hyperion Dashboard

6-266 Properties

Title (Property)

Applies To: ChartSection object

Description: Returns or sets the value of the title property. This property changes the value of the title displayed on a chart.

Action: Read-write, String

Example: This example shows you how to add a title to a chart.

var MyChart = ActiveDocument.Sections"Chart"]MyChart.Title = "This is the Title"MyChart.ShowTitle = true

Page 761: Hyperion Dashboard

TopMargin (Property) 6-267

TopMargin (Property)

Applies To: ReportSection object

Description: Sets the top margin of the report. Margins are set for the entire report.

Note When using this property and the SuspendCalculation property is set to true (which it is by default), then you must use the Recalculate method to force the Report section to recalculate itself.

Action: Read-write, Number

Example: This example shows you how to set the top margin of the report to .25 inches.

ActiveDocument.Sections["Report"].TopMargin = .25

Page 762: Hyperion Dashboard

6-268 Properties

TopicName (Property)

Applies To: Join object, Local Join

Description: Retrieves the parent of the Topic item, which is the Topic Name in a join or local join. It also allows you to retrieve the Topic Item Names of joins (and not local joins).

Action: Read-only, String

Example 1: This example shows you how to retrieve the topic names 1 and 2 from a join.

//Get Join Topic NamesTextBox1.Text=ActiveDocument.Sections["Query"].DataModel.Joins["1"].Topic1Name;TextBox2.Text=ActiveDocument.Sections["Query"].DataModel.Joins["1"].Topic2Name;TextBox3.Text=ActiveDocument.Sections["Query"].DataModel.Joins["1"].Type;

Example 2: This example shows you how to retrieve the Topic Item Names from a join.

/Get Join Topic Item NamesTextBox4.Text=ActiveDocument.Sections["Query"].DataModel.Joins["1"].TopicItem1.DisplayNameTextBox5.Text=ActiveDocument.Sections["Query"].DataModel.Joins["1"].TopicItem2.PhysicalName

Example 3: This example shows you how to retrieve the topic names 1 and 2 from a local join.

//Get Local Join Topic NamesTextBox6.Text=ActiveDocument.Sections["Query"].DataModel.LocalJoins["1"].Topic1Name;TextBox7.Text=ActiveDocument.Sections["Query"].DataModel.LocalJoins["1"].Topic2Name;TextBox8.Text=ActiveDocument.Sections["Query"].DataModel.LocalJoins["1"].Type;

Page 763: Hyperion Dashboard

TrueComputedItemTotals (Property) 6-269

TrueComputedItemTotals (Property)

Applies To: PivotSection object

Description: When this property is set to “true”, the True Computed Items Totals option in the Pivot section is enabled. This option recalculates all computed item break totals so that they are equal to the sum (or other aggregation data function) of their displayed values in the Computed item column. If you need to calculate break totals based on the computed item formula, use the boolean value “false” in your argument.

If this property is set to “false”, the value in a computed item break toals is calculated based on the formula used to create the corresponding break total in the source fact column.

Average and Count aggregation Data Functions are not evaluated in True Total mode unless the Use Surface Values property is also enabled (see Use Surface Value above). If Use Surface Values is not enabled, the Average and Count aggregation are calculated using the count of the underlying Table/Result Section data values instead of the displayed Pivot values.

Action: Read-write, Boolean

Example: This example shows you how to enable the true computed items totals option.

ActiveDocument.Sections["Pivot"].TrueComputedItemTotals = true

Page 764: Hyperion Dashboard

6-270 Properties

Type (Property)

Applies To: Application object, EmbeddedBrowser object, EmbeddedBrowser object, HyperLink object, Join object, JoinsOptions object, PivotSection object. QuerySection, ReportSection object, Section object, Shape object,Toolbar object, Topic object

Description: Returns the value of the type property.

Section Objects – This property represents the type of section. (Chart, Pivot, Query, etc..)

Join – This property refers to the type of join. (Left, right, Outer, etc.)

Toolbar – This property represents the type of toolbar. (Standard, format, etc.)

Topic – This property represents the type of topic. (Standard, Meta, etc.)

Shape – This property represents the type of drawing object or control in an Dashboard section. (Line, Rectangle, etc)

Joins Options – This property represents the type of join option. (All Topics, Auto Join, etc.)

External Content– This property represents the type of shape for an Embedded Browser object or HyperLink object.

Note The Toolbars[“Standard”].Type, Toolbars[“Formatting”].Type, Toolbars[“Sections”].Type, and Toolbars[“Navigation”].Type object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-only

Constants: Application object – BqAppType

bqAppTypeDesktopClient

bqAppTypePlugInClient

Page 765: Hyperion Dashboard

Type (Property) 6-271

bqAppTypeScheduler

bqAppTypeThinClient

Section Objects – BqSectionType

bqChart

bqDataModel

bqDetail

bqDashboard

bqOLAP

bqPivot

bqQuery

bqReport

bqResults

bqTable

Join – BqJoinType

bqJoinLeft

bqJoinOuter

bqJoinRight

bqJoinSimpleEqual

bqJoinSimpleGreaterThan

bqJoinSimpleGreaterThanOREqual

bqJoinSimpleLessThan

bqJoinSimpleLessThanOrEqual

bqJoinSimpleNotEqual

Toolbar – BqToolbars

bqToolbarFormat

bqToolbarNavigation

Page 766: Hyperion Dashboard

6-272 Properties

bqToolbarSections

bqToolbarStandard

Topic – BqTopicType

bqTopicTypeMeta

bqTopicTypeNone

bqTopicTypeQueryObject

bqTopicTypeResults

bqTopicTypeStoredProcedure

Shape – BqShapeType

bqButton

bqCheckBox

bqDropBox

bqEmbeddedSection

bqEmbeddedBrowser

bqHorizontalLine

bqLine

belistBox

bqOval

bqPicture

bqRadioButton

bqRectangle

bqRoundRectangle

bqTextBox

bqTextLabel

bqVerticalLine

JoinsOptions – BqDataModelJoinsOptions

Page 767: Hyperion Dashboard

Type (Property) 6-273

bqDataModelJoinsOptionAllTopics

bqDataModelJoinsOptionAutoJoin

bqDataModelJoinsOptionDefJoin

bqDataModelJoinsOptionMinTopics

bqDataModelJoinsOptionRefTopics

Example: This example shows you how to use the type property to determine which properties apply to a specific object. In this example, checking the Type property of the Section objects allows the script to process every query in a document.

var SecCount = ActiveDocument.Sections.Countfor (j = 1; j <= SecCount ; j++) { if (ActiveDocument.Sections[j].Type == bqQuery) ActiveDocument.Sections[j].Process() }

Page 768: Hyperion Dashboard

6-274 Properties

UnionController (Property)

Applies To: AppendQueriesSection

Description: Returns or sets the value of the Append Query union operator. The union operator governors how rows are retrieved when the Append Query Option feature is used. This property uses the BqUnionController constant group, which consists of the bqUnion and bqUnionAll constants value. Use the bqUnion constant value when you want to programmatically retrieve all distinct rows selected by either query without duplicates. Use the bqUnionAll constant value when you want to programmatically retrieve all rows selected by either query, including duplicate rows.

Action: Read-write

Constants: The BqUnionController constant consists of the following values:

bqUnion

bqUnionAll

This is the UnionController Constant Definition:

typedef enum BqUnionController{

bqUnion = 1,bqUnionAll,

} BqUnionController;

Example: This example shows you how to append a query using the Union operator.

ActiveDocument.Sections["Query"].AppendQueries.Add()ActiveDocument.Sections["Query"].AppendQueries[1].UnionController=bqUnion

Page 769: Hyperion Dashboard

UniqueRows (Property) 6-275

UniqueRows (Property)

Applies To: QuerySection

Description: Returns or sets the value of a query sections unique row property. Setting this property to true will cause the query to return only unique rows of data.

Action: Read-write, Boolean

Example: This example sets each query in a document to return unique rows.

var SecCount = ActiveDocument.Sections.Countfor (j = 1; j <= SecCount ; j++) { if (ActiveDocument.Sections[j].Type == bqQuery) ActiveDocument.Sections[j].UniqueRows = true }

Page 770: Hyperion Dashboard

6-276 Properties

URL (Property)

Applies To: EmbeddedBrowser object, HyperLink object,PluginDocument (web client only)

Description: PluginDocument – Returns the value of the URL (Uniform Resource Locator) associated with the document. If the document is registered with the OnDemand Server, the URL contains the address to the server and the name of the Broker. If the document came from a Web server or local file system, the URL contains the fully qualified server name and directory.

Action: Read-only, String

Example: This example illustrates the how to use the URL property to direct users to help information stored on the same server.

if(Application.Name.indexOf("BrioQuery") != -1) {

Alert("This property is not valid in BrioQuery")}

else{

var MyURL = ActiveDocument.URLApplication.OpenURL(MyURL + "\/helpinfo.html,_new")

}

Page 771: Hyperion Dashboard

Username (Property) 6-277

Username (Property)

Applies To: Connection object, MetaDataConnection object

Description: Returns or sets the value of the username property. The username property of the connection objects refers to the username used by the OCE (Open Catalog Extension).

Action: Read-write, String

Example: This example shows you how to create a connection from scratch and how to set its various properties.

var myCon = Application.CreateConnection()myCon.Api = bqApiSQLNetmyCon.Database = bqDatabaseOracle71myCon.HostName ="PlutoORACLE"myCon.TimeLimit = 20 //minutesmyCon.Username = "BriomyCon.SaveAs("d:\\OCEs\\PlutoORACLE.oce")

Page 772: Hyperion Dashboard

6-278 Properties

ValueSource (Property)

Applies To: Limit

Description: Returns the value of a limit object’s ValueSource property. This property returns an enumerated value, which specifies where the limit values originated.

Action: Read-only

Constants: The BqLimitValueSource constant consists of the following values:

bqLimitSourceDatabase

bqLimitSourceFile

Example: This example shows you how to use the ValueSource property to determine the location of the limits values.

ActiveDocument.Sections["Query"].Limits[1].LoadFromFile("d:\\LimitData.txt")if (ActiveDocument.Sections["Query"].Limits[1].ValueSource != bqLimitSourceFile) Alert("An error has occurred,Error!")

Page 773: Hyperion Dashboard

VariableLimit (Property) 6-279

VariableLimit (Property)

Applies To: Limit

Description: Returns or sets the value of a limit objects VariableLimit Property. This property enables or disables a limit as a variable limit. If the VariableLimit property is equal to true then a limit is considered a variable limit and will prompt the user for a limit value when they process a query.

Action: Read-write, Boolean

Example: This example checks to see if any query limits are set as variable limits and reverts them into normal limits.

for (j=1 ; j <= ActiveDocument.Sections["Query"].Limits.Count; j++) if (ActiveDocument.Sections["Query"].Limits[j].VariableLimit == true) ActiveDocument.Sections["Query"].Limits[j].VariableLimit = false

Page 774: Hyperion Dashboard

6-280 Properties

VariableSlicerMode (Property)

Applies To: OLAPSlicer collection

Description: Sets the variable slicer values to a members list or a tree control on the Slicer dialog box. The members list view is useful when you want to see all members at the same level as the previously selected member. The tree control allows you to see all available parent-child slicer value relationships.

Action: Read-write, BqSlicerDisplayOptions constant group

Constants: The VariableSlicerMode property uses the BqSlicerDispayOptions constant group, which consists of the following: bqListView and bqTreeView.

Example: This example shows you how to set the variable slicer mode to tree view.

ActiveDocument.Sections["OLAPQuery"].Slicers.VariableSlicerMode = bqTreeView

Page 775: Hyperion Dashboard

Version (Property) 6-281

Version (Property)

Applies To: Application

Description: Returns the value of the Intelligence Clients application version number.

Action: Read-only, String

Example: This example shows you how to display your current version number.

Alert (Application.Version)

Page 776: Hyperion Dashboard

6-282 Properties

VerticalAlignment (Property)

Applies To: Shape object, EmbeddedBrowser object, HyperLink object,

Description: Returns or sets the vertical alignment of the text in a shape objectThis property corresponds to the features on the Alignment Properties dialog box.

Action: Read-write, BqVerticalAlignment constant

Constants: The BqVerticalAlignment constant group consists of the following values:

bqAlignBottom

bqAlignMiddle

bqAlignTop

Example: This example changes a text label to 8 points, bold, italic and vertically aligns text at the top.

var MyLabel = ActiveDocument.Sections["Dashboard"].Shapes["TextLabel"]MyLabel.Font.Size = 8MyLabel.Font.Style = bqFontStyleBoldItalicMyLabel.VerticalAlignment=bqAlignTop

Page 777: Hyperion Dashboard

View (Property) 6-283

View (Property)

Applies To: Topic

Description: Returns or sets the value of a topic objects view property. This property controls the display characteristics of topics in a Data Model.

Action: Read-Write, BqTopicView constant

Constants: The BqTopicView constant consists of the following values:

bqDetailView

bqIconView

bqStructureView

bqTopicViewNone

Example: This example resets all the Topics in a Data Model to the structure view.

var TopicCount = ActiveDocument.Sections["Query"].DataModel.Topics.Countfor (j =1 ; j <= TopicCount ; j++)ActiveDocument.Sections["Query"].DataModel.Topics[j].View = bqStructureView

Page 778: Hyperion Dashboard

6-284 Properties

Visible (Property)

Applies To: Application, ChartSection, Column, ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsListBox, ControlsRadioButton, ControlsTextBox, Hyperlink object, PivotLabelValue, PivotSection object, QuerySection, Requests collection, ReportSection object. ResultsSection object, Section, Shape,Toolbar, TopicItem object,

Description: Returns or sets the value of the visible property. The visible property controls the display of its base object. Setting visible equal to false will hide the object or setting visible equal to true will show the object.

Note The Toolbars[“Standard”].Visible, Toolbars[“Formatting”].Visible, Toolbars[“Sections”].Visible, and Toolbars[“Navigation”].Visible object model syntax is not supported in an Intelligence iServer BQY document.

Note The Application.Visible object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, Boolean

Example: This example unhides all the sections in a document.

var SecCount = ActiveDocument.Sections.Countfor ( j =1 ; j <= SecCount ; j++) if (ActiveDocument.Sections[j].Visible == false) ActiveDocument.Sections[j].Visible = true

Page 779: Hyperion Dashboard

Width (Property) 6-285

Width (Property)

Applies To: Line

Description: Returns or sets the value of the Lines Width property. This property effects the size of the border of shape and control objects.

Action: Read-write, Number

Example: This example changes all the rectangles to have a border width of five pixels.

var ShapeCount = ActiveDocument.Sections["Dashboard"].Shapes.Countvar ShapesCol = ActiveDocument.Sections["Dashboard"].Shapesfor ( j =1 ; j <= ShapeCount ; j++) if (ShapesCol[j].Type == bqShapeTypeRectangle) ShapesCol[j].Line.Width = 5

Page 780: Hyperion Dashboard

6-286 Properties

WindowState (Property)

Applies To: Application (Intelligence Clients Only)

Description: Returns or sets the value of the applications WindowState property. This property effects the display of the main application window. Using the enumerated type BqWindowState the window can be minimized, maximized or restored back to a default state.

Note The Application.WindowState object model syntax is not supported in an Intelligence iServer BQY document.

Action: Read-write, BqWindowState constant

Constants: The BqWindowState constant consists of the following values:

bqWindowStateMaximized

bqWindowStateMinimized

bqWindowStateNormal

Example: This example checks if Hyperion Intelligence Clients is maximized, and changes its state based on the result.

if( Application.WindowState != bqWindowStateMaximized) Application.WindowState = bqWindowStateMaximizedelse Application.WindowState = bqWindowStateNormal

Page 781: Hyperion Dashboard

7 List of Constants

A constant is a value that never changes. It is used to define predetermined values. The Object Model contains a number of constants that are hardcoded in the client application, such as the following:

■ BqChartType

■ BqColorType

■ BqDataType

In the Object Model, constants are identified by group name, each of which can be expanded to display their values.

Table 7-1 links the constants group and the associated properties and methods in which they are used.

Table 7-1 Constant Groups and Associated Properties/Methods

Constant Group Associated Properties and Methods

BqAdaptiveState AdaptiveState (Property)

BqAppType Application (Object)

BqApi API (Property)

BqAuditEventType AuditSQL (Method)

BqBarLineShift ShiftPoints (Property)

BqBarLineType ShiftPoints (Property)

BqBrushStyle BrushStyle (Property)

BqChartAxisPlotValue AxisPlotValues (Property)

BqChartAxisType AxisType (Property)

BqChartLabelOrientation Not Used

Page 782: Hyperion Dashboard

7-2 List of Constants

BqChartType ChartType (Property)

BqClusterBarType Clusterby (Property), StackClusterType (Property)

BqColorType Color (Property), MarkerBorderColor (Property), MarkerFillColor (Property)

BqColumnType ColumnType (Property)

BqDashStyle DashStyle (Property)

BqDatabase Database (Property)

BqDataFunction DataFunction (Property)

BqDataModelJoinsOption Type (Property)

BqDataType DataType (Property), AddComputedItem (Method)

BqDbLibCancelMode DBLibDatabaseCancel (Property)

BqDrillDownDisplay DrillDownDisplay (Property)

BqEvents Events (Collection)

BqExportFileFormat Export (Method)

BqFillPattern Pattern (Property)

BqFontEffect Display (Property)

BqFontStyle Style (Property)

BaGraphicsFileType GraphicsFileType (Property)

BqHorizonalAlignment Alignment (Property)

BqHTMLPageBreakUnits HTMLVerticalPageBreakUnits (Property), HTMLExportBreakColCount (Property)

BqHTMLPregenerateMode HTMLPregenerateMode (Property)

BqImportDataFileFormat ImportDataFile (Method)

BqJoinType Type (Property)

BqLayer Layer (Method)

Table 7-1 Constant Groups and Associated Properties/Methods (Continued)

Constant Group Associated Properties and Methods

Page 783: Hyperion Dashboard

7-3

BqLimitOperator Operator (Property)

BqLimitValueSource ValueSource (Property)

BqLimitValueType LimitValueType (Property)

bqLimitValueTypeSQL LimitValueType (Property)

BqLogicalOperator LogicalOperator (Property)

BqMarkerStyle MarkerStyle (Property)

BqOpenURLTarget DisplayMode (Property)

BqOperator AddFilterValue (Method), AddFilter (Method)

BqOperatorType AddFilter (Method)

BqOrientation Orientation (Property)

BqPageBreak PageBreak (Property)

BqPictureEffect Effect (Property)

BqPivotLabelDisplay Display (Property)

BqPivotLabelType Not Used

BqProcessEventOriginType ProcessEventOrigin (Property)

BqProcessType ProcessToTable (Method)

BqRefreshData RefreshData (Property)

BqRepositoryObjectType Not Used

BqRepositoryBQYToolbarType RepositoryBQYToolbarType (Property)

FqRepositoryFiletype RepositoryFileType (Property)

BqSectionType Type (Property)

BqShapeType Type (Property)

BqSlicerDisplayOptions VariableSlicerMode (Property)

BqSortFunction SortFunction (Property)

BqSortOrder SortOrder (Property)

Table 7-1 Constant Groups and Associated Properties/Methods (Continued)

Constant Group Associated Properties and Methods

Page 784: Hyperion Dashboard

7-4 List of Constants

BqScrollbar ShowScrollbar (Property)

BqToolbars Type (Property)

BqTopicType Type (Property)

BqTopicView View (Property)

BqUnionController UnionController (Property)

BqVerticalAlignment VerticalAlignment (Property)

BqWindowState WindowState (Property)

Table 7-1 Constant Groups and Associated Properties/Methods (Continued)

Constant Group Associated Properties and Methods

Page 785: Hyperion Dashboard

8 Object Model Map

This chapter provides a detailed map of how objects relate to one another within the Hyperion Intelligence Clients object model. The object model map is divided according to these levels and/or sections of the object tree:

In This Chapter Object Model Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-2

Application Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-3

Active Document Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-4

Query Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-5

Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-6

Chart Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-7

Results, Report, and Pivot Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-8

Table and OLAPQuery Sections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8-9

Page 786: Hyperion Dashboard

8-2 Object Model Map

Object Model HierarchyThe object model map is an expanded view of selected objects in the object model hierarchy, as seen in the Dashboard Script Editor. It starts at the highest level—the Application level—and drills down through the object hierarchy. The top levels of the object model heirarchy include:

■ Application Level

■ Active Document Level

■ Sections

Application Level

Active Document Level

Expanded Query Section

Sections

Page 787: Hyperion Dashboard

Application Level 8-3

Application LevelThe following illustration shows the objects following the Application level.

Active Document

Active Section

Toolbars

Recent Files

Console

Session

DocName

LastSaved

Standard

Formatting

Sections

NavigationItem Number

Form

URL

Cookies

Documents

Sections

Application

Page 788: Hyperion Dashboard

8-4 Object Model Map

Active Document LevelThe following illustration shows the objects following the Active Document level.

EIS

Sections

Query

Table

Pivot

OLAPQuery

Report

Results

Chart

DataModel

Active Document

(Doc Name)

Last Saved

Application

Page 789: Hyperion Dashboard

Query Section 8-5

Query SectionThe following illustration shows the objects following the Query Section level.

Query Section

Sections

Active Documents

Application

Data Model

Connection

MetaDataConnection

CatalogItems

Topics TopicItems

TopicItemName

Catalog

Joins JoinNumber

TopicItem1

TopicItem2

Limits

Local Results

Local Joins

Requests

Limits

RequestNum

LimitNum

AvailableValues

SelectedValues

CustomValues

SortItems

Query (base)

Query (append)

Requests RequestNum

Limits

AppendQuery

LimitValue

TableName

TopicName

Results

AvailableValues

SelectedValues

CustomValues LimitValueLimitNum

Page 790: Hyperion Dashboard

8-6 Object Model Map

Dashboard SectionThe following illustration shows the objects following the Dashboard Section level.

EIS

Sections

Active Document

Shapes

CommandButton

TextBox

DropDown

ListBox

CheckBox

RadioButton

HorizontalLine

TextLabel

VerticalLine

Line

EmbeddedSection

Picture

Font

Font

SelectedList

Rectangle

Fill

Oval

Fill Font

Line

Line

Line

Fill

Fill Font

Application

Page 791: Hyperion Dashboard

Chart Section 8-7

Chart SectionThe following illustration shows the objects following the Chart Section level.

Chart

Sections

Active Document

XCategories(C)

Facts(C)

ZCategories(C)

XLabels

YLabels

ValueAxis

LabelAxis

AreaChart

PieChart

BarLineChart

BarChart

LineChart

Legend

XAxis

YAxis

LeftAxis

Items

RightAxis

LabelValues

ZCategories(O)

Fact(O)

XCategories(O)

Item

Fill

Line

ZLabels

Application

Page 792: Hyperion Dashboard

8-8 Object Model Map

Results, Report, and Pivot SectionsThe following illustration shows the objects following theResults, Report and Pivot Section levels.

Results

Sections

Columns Column

Limits

SortItems SortItem

AvailableValues

CustomValuesLimit

SelectedValues

TopLabels

SideLabels

Facts

PivotLabel

LimitValue

CornerLabels

DataLabels

PivotFact

Application

Active Document

Pivots

Reports

Page 793: Hyperion Dashboard

Table and OLAPQuery Sections 8-9

Table and OLAPQuery SectionsThe following illustration shows the objects following the Table and OLAPSQuery Section levels.

Table

Section

Columns

Limits

SortItems

TopLabels

Connection

SideLabels

Measures

Slicers

SortItemName

SlicerNumber

TopLabelName

SideLabelNum

TopLabelNum

Application

Active Document

OLAP Query

Page 794: Hyperion Dashboard

8-10 Object Model Map

Page 795: Hyperion Dashboard

9 JavaScript Examples

This chapter provides sample JavaScript scripts for Designer and Explorer tasks.

In This Chapter Displaying and Entering Values in a Text Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-2

Retrieving and Setting the Properties of an Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-3

Enabling and Disabling Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-4

Controlling the Visibility of Graphics and Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-5

Creating an OCE (connection file). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-6

Displaying a Connection Login Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-6

Downloading Data Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-7

Displaying a Table Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-7

Adding Topics to a Data Model Section. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-7

Setting up Topic Object Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-8

Adding Joins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-8

Adding Items to the Request Line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-9

Adding a Computed Column to a Query Request Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-9

Creating and Setting Variable Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-10

Using a BrioQuery 5.5 Limit Dialog Box and Storing Selected Value in Text Box . . . . . . . . . . .9-10

Turning off the Page Headers for the First Page in the Report . . . . . . . . . . . . . . . . . . . . . . . . .9-11

Turning off the Prompt To Save Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9-11

Page 796: Hyperion Dashboard

9-2 JavaScript Examples

Displaying and Entering Values in a Text BoxAn Intelligence Clients text box provides users a way to display output to and gather input from the application. You can write values to a text box or read values from a text box. There are three events associated with a text box—OnEnter, OnChange, and OnExit.

Uses for a text box in Run Mode include:

■ Entering values

■ Displaying values

■ Displaying read-only information

■ Validating data

■ Calculating data

Example 1, Example 2, and Example 3 show you how to attach JavaScript scripts to the various text box events.

Example 1 /* OnEnter Event—enables CommandButton */var sect_name=’Dashboard’;var ctrl_name=’CommandButton1’;ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Enabled

= true;

Example 2 /* OnChange Event- validates changes*/var sect_name=’Dashboard’;var ctrl_name=’TextBox1’;if

(ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Text==’Hello’)

{Alert(‘Hello is an Invalid Entry’);}

Example 3 /* OnExit Event- increments variable counter */var sect_name=’Dashboard’;var ctrl_name=’TextBox1’;if

(ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Text==’2’)

{x=x+1;}

Page 797: Hyperion Dashboard

Retrieving and Setting the Properties of an Object 9-3

Retrieving and Setting the Properties of an ObjectIntelligence Clients objects have associated properties. The properties represent attributes of an object. Some examples of properties include name, visible, enabled, and text. Many of the properties can be set using the Properties dialog box in the Dashboard section. Example 4, Example 5, and Example 6 show you how to use JavaScript to get and set properties for controls.

Example 4 /* Get the value of the ListBox MultiSelect property*/var sect_name=’Dashboard’;var ctrl_name=’ListBox1’;TextBox1.Text =ActiveDocument.Sections[sect_name].Shapes[ctrl_name].MultiSel

ect;

Example 5 /* Set the value of the CheckBox Checked property */var sect_name=’Dashboard’;var ctrl_name=’CheckBox1’;ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Checked

= true;

Example 6 /* Get the value of the RadioButton Group property */var sect_name=’Dashboard’;var ctrl_name=’CheckBox1’;TextBox1.Text =ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Group;

Page 798: Hyperion Dashboard

9-4 JavaScript Examples

Enabling and Disabling ControlsDashboard graphics and control objects have an enabled property that determines whether the object is enabled or disabled in Dashboard Run mode. When an object is enabled, users can access the control and trigger events that can perform actions. When an object is disabled, the object appears dimmed and does not recognize events when a user attempts to access the control. The enabled property is available from the Object page of the Properties dialog box for graphics and control objects. Example 7 and Example 8 show how to programmatically enable or disable a control.

Example 7 /* Enables controls */var sect_name=’Dashboard’;var ctrl_name=’TextBox1’;ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Enabled

= true;

Example 8 /* Disables controls */var sect_name=’DashboardDashboard’;var ctrl_name=’TextBox1’;ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Enabled

= false;

Page 799: Hyperion Dashboard

Controlling the Visibility of Graphics and Controls 9-5

Controlling the Visibility of Graphics and ControlsDashboard graphics and control objects have a visible property that determines whether the object is displayed in Dashboard Run mode. When an object is visible, users can access the control and trigger events that can perform actions. When an object is invisible, the object does not appear. The visible property is available from the Object page of the Properties dialog box for graphics and control objects. Example 9 and Example 10 show you how to programmatically make a control visible or invisible.

Example 9 /* Makes control Visible */var sect_name=’Dashboard’;var ctrl_name=’TextBox1’;ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Visible

= true;

Example 10 /* Makes control Invisible */var sect_name=’Dashboard’;var ctrl_name=’TextBox1’;ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Visible

= false;

Page 800: Hyperion Dashboard

9-6 JavaScript Examples

Creating an OCE (connection file)Example 11 shows the script to use to create an OCE (connection file).

Example 11 // try to create sample.oce from scratch.// create SQLNet-Oracle8 oce - save as sample.oceMyConnection =

ActiveDocument.Sections["Query"].DataModel.ConnectionMyConnection.Open("c:\\OCEs\\Sample.oce")MyConnection.Username = "brio"MyConnection.SetPassword("brio")MyConnection.Connect()MyConnection.SaveAs("c:\\temp\\sample.oce")

ActiveDocument.Sections["DataModel"].DataModel.Connection.Open("c:\\temp\\astro8.oce")

// need to connect ?ActiveDocument.Sections["DataModel"].DataModel.Connection.Use

rName = "brio"ActiveDocument.Sections["DataModel"].DataModel.Connection.Set

Password("brio")ActiveDocument.Sections["DataModel"].DataModel.Connection.Con

nect()

Displaying a Connection Login BoxExample 12 shows the script to use to display a connection login box.

Example 12 ExecuteBScript("set logon root, 'OCENAME', 'd:\\program files\\brio\\oces\\Astro SQLNet

Oracle8.oce'; connect logon root")

Page 801: Hyperion Dashboard

Adding Topics to a Data Model Section 9-7

Downloading Data ModelsExample 13 shows the script to use to download a data model, standard query, or standard query with report from the repository.

Example 13 //download a data model, standard query or standard query with reports //from a local repository

//(document name to gain the download), (type of document), (repository //owner) (group with access), (name of document)

ExecuteBScript("download doc root, 'SQR', 'ts', 'PUBLIC', 'Sales")

Displaying a Table CatalogExample 14 shows the script to use to programmatically show a listing of the available tables on your database.

Example 14 // display table catalogActiveDocument.Sections["DataModel"].DataModel.Catalog.Refres

h()

Adding Topics to a Data Model SectionExample 15 shows the script to use to add topics to a data model section.

Example 15 // add topics to DataModel sectionCatItem =

ActiveDocument.Sections["DataModel"].DataModel.Catalog.CatalogItems["PCW_ITEMS"]

ActiveDocument.Sections["DataModel"].DataModel.Topics.Add(CatItem)

Page 802: Hyperion Dashboard

9-8 JavaScript Examples

Setting up Topic Object VariablesExample 16 shows the script to use to set up topic object variables.

Example 16 // setting up topic objects variables...PCWItems =

ActiveDocument.Sections["DataModel"].DataModel.Topics["PCW_ITEMS"]

PCWSales = ActiveDocument.Sections["DataModel"].DataModel.Topics["PCW_SALES"]

PCWCustomers = ActiveDocument.Sections["DataModel"].DataModel.Topics["PCW_CUSTOMERS"]

PCWPeriods = ActiveDocument.Sections["DataModel"].DataModel.Topics["PCW_PERIODS"]

Adding JoinsExample 17 shows the script to use to add a join.

Example 17 // add join between PCW_PERIODS (Day) and PCW_SALES (Order_Date)

PCWPeriods_Day = PCWPeriods.TopicItems["Day"]PCWSales_OrderDate = PCWSales.TopicItems["Order_Date"]Day_OrderDate_Join =

ActiveDocument.Sections["DataModel"].DataModel.Joins.Add(PCWPeriods_Day,PCWSales_OrderDate,bqJoinSimpleEqual)

Page 803: Hyperion Dashboard

Adding a Computed Column to a Query Request Line 9-9

Adding Items to the Request LineExample 18 shows the script to use to add items to the request line.

Example 18 // add items to the request lineActiveDocument.Sections["Query"].Requests.Add("PCW_CUSTOMERS"

, "Store")ActiveDocument.Sections["Query"].Requests.Add("PCW_SALES",

"Store_Id")ActiveDocument.Sections["Query"].Requests.Add("PCW_SALES",

"Order_Date")ActiveDocument.Sections["Query"].Requests.Add("PCW_SALES",

"Delivery_Date")ActiveDocument.Sections["Query"].Requests.Add("PCW_SALES",

"Units")ActiveDocument.Sections["Query"].Requests.Add("PCW_SALES",

"Amount")ActiveDocument.Sections["Query"].Requests.Add("PCW_CUSTOMERS"

, "City")ActiveDocument.Sections["Query"].Requests.Add("PCW_CUSTOMERS"

, "State")ActiveDocument.Sections["Query"].Requests.Add("PCW_PERIODS",

"Year")

Adding a Computed Column to a Query Request LineExample 19 shows the script to use to add a computed column to a query request line.

Example 19 // add computed column to Query request line - Amount/UnitsActiveDocument.Sections["Query"].Requests.AddComputedItem

("CompItem","Amount/Units",3)

Page 804: Hyperion Dashboard

9-10 JavaScript Examples

Creating and Setting Variable LimitsExample 20 shows the script to use to create and set variable limits.

Example 20 // create and set variable limit - Store_Idmylimit =

ActiveDocument.Sections["Query"].Limits.CreateLimit("PCW_SALES.Store_Id")

mylimit.Operator = bqLimitOperatorLessThanOrEqualmylimit.CustomValues.Add(10)mylimit.SelectedValues.Add(10)ActiveDocument.Sections["Query"].Limits.Add(mylimit)mylimit.VariableLimit = true

Using a BrioQuery 5.5 Limit Dialog Box andStoring Selected Value in Text Box

The script in Example 21 shows how to use an Intelligence Client 8.0 Limit dialog box and store the selected value in a text box.

Example 21 ExecuteBScript("modify limit root.'Pcw Customers'.'Store Type'.'Store Type'")

var limit = ActiveDocument.Sections["Query"].Limits["Store Type"]

var TextBox = ActiveSection.Shapes["TextBox1"]if (!limit.Ignore){TextBox.Text = limit.SelectedValues[1]}else{TextBox.Text =""}

Page 805: Hyperion Dashboard

Turning off the Prompt To Save Dialog Box 9-11

Turning off the Page Headers for the First Page in the ReportThe script in Example 22 shows how to turn off page headers for the first page in the report.

Example 22 if ( PageNm==1){' '}else{"Query Processed: "+ Format(new Date(), "d-mmm-yyyy")}

Turning off the Prompt To Save Dialog BoxThe script in Example 23 shows how to shut down the Intelligence Client application on an OnShutdown event.

Example 23 Application.Quit(false)

Page 806: Hyperion Dashboard

9-12 JavaScript Examples

Page 807: Hyperion Dashboard

10 TroubleShooting Scripts

When a script fails to execute due to a syntax or runtime error, you need to debug the code. Finding errors may take time depending on the length and complexity of the code. One way to prevent errors is by observing the protocols that JavaScript requires. This section explains what you need to know to help prevent and locate errors in your scripts.

In This Chapter Space-Saving Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-2

Case-Sensitive Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-3

Assignment Operators Versus Comparison Operators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-4

Conditional Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-5

Syntax Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-7

Recalculating Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-8

Designing Your Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10-9

Code Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11

Bypass Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11

Getting Help with a Problem Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-12

Page 808: Hyperion Dashboard

10-2 TroubleShooting Scripts

Space-Saving VariablesOne exception to the Code Entry rule is: If you plan to repeatedly use an object model path, define it as a variable to save space and keep your script compact.

For example, instead of typing:

ActiveDocument.Sections["Query"].DataModel.Connection.Username = "brio"ActiveDocument.Sections["Query"].DataModel.Connection.SetPassword("brio")ActiveDocument.Sections["Query"].DataModel.Connection.Connect

try this:

DMPath = ActiveDocument.Sections["Query"].DataModel.ConnectionDMPath.Username = "brio"DMPath.SetPassword("brio")DMPath.Connect

You must remember to treat space-saving variables like the actual object model paths. That is, insert periods between object model segments and do not add unnecessary spaces.

Also, it is generally a good idea to only include objects as part of the path. That is, make sure that your variable does not have any methods or properties segments for the object with which you want to work. For example:

LPath = ActiveDocument.Sections["Query"].LimitsLPath.Activate()

is incorrect because ActiveDocument.Sections["Query"].Limits does not have an Activate() method.

However, this script is correct:

LPath = ActiveDocument.Sections["Query"]LPath.Activate()

Page 809: Hyperion Dashboard

Case-Sensitive Code 10-3

Case-Sensitive CodeJavaScript is case sensitive and distinguishes between uppercase (capital) and lowercase (small) letters. Rules to remember include:

■ All JavaScript statements (for example, var, if…else, while, switch, and so on) start with a lowercase letter. This script will fail because var is capitalized:

Var StringName = "John Smith"

■ All JavaScript core operators start with an uppercase letter, for example new Date(). This script fails because Date is in lowercase.

new date()

■ All object model Path segments start with a capital letter, for example ActiveDocument.Sections["Dashboard"].Activate().

Both of these commands will cause the script to fail because the ActiveDocument segment is not properly capitalized.

activeDocument.Sections["Dashboard"].Activate()

Activedocument.Sections["Dashboard"].Activate()

■ You must refer to variables exactly as you define them. If you define a variable as:

var StringName

then you must always refer to it as StringName, not Stringname or stringName or stringname.

Page 810: Hyperion Dashboard

10-4 TroubleShooting Scripts

Assignment Operators Versus Comparison OperatorsJavaScript makes a distinction between Assignment and Comparison Operators.

This is an assignment operator:

myvar = 5

This is a comparison operator:

if (myvar == 5)

A common error is to switch the two. Keep them separate. Be particularly careful when you are assigning argument values to methods.

DMPath = ActiveDocument.Sections[”Query”].DataModel.Connection//This works…DMPath.SetPassword(“brio”)

//This does not!!!!DMPath.SetPassword = "brio"

The last line of script assigns the value “brio” to DMPath.SetPassword, which is probably not what you want to do.

Page 811: Hyperion Dashboard

Conditional Tests 10-5

Conditional TestsWhen using if statements, avoid impossible conditional tests. For example, the following script will always return “myvar is not 5!” even though myvar is 5. This is because the condition will always evaluate to false. In this case, 5 is not the same as “five.”

var myvar = 5if ( myvar == "five")

{Alert("myvar = 5!")}

else{Alert("myvar is not 5!")}

It is especially important to know exactly how a variable reports in your condition. The Console.Writeln() and Alert() methods are especially useful in diagnosing problems like this. Note that the JavaScript core operator String is used only to format myvar for the Console window:

var myvar = 5Console.Writeln(String(myvar))

if ( myvar == "five"){Alert("myvar = 5!")}

else{Alert("myvar is not 5!")}

If you are comparing the value you selected in a list box or a drop-down box to another value, make sure you know what value you are getting back before you compare it to something else. You especially want to avoid mixing up the placement of the item you selected in the control with the item’s actual value.

Sometimes it is a bit tricky to get the value you want back from one of these control boxes. Remember that list boxes have selected lists that may contain multiple values, while drop-down boxes have a selected that can contain only one value.

For example, if you have values of 4, 9, 15, 25, and 36 in your drop-down box, and you select 36, the script below returns myvar is 5!, which seems wrong.

Page 812: Hyperion Dashboard

10-6 TroubleShooting Scripts

This happens because the DropDown1.SelectedIndex returns the placement in the drop-down box of the item you selected. Your choice of 36 is the fifth item in the drop-down box. Note that the console window reports “5”.

var myvar = DropDown1.SelectedIndexConsole.Writeln(String(myvar))if ( myvar == 5)

{Alert("myvar = 5!")}

else{Alert("myvar is not 5!")}

Now let’s say you have a drop-down box that contains the values of “one,” “two,” “three,” “four” and “five.” The script below returns myvar = five! when you select “five.” However this is only because your choice “five” is the fifth choice in the drop-down box. However, the fifth choice is not necessarily equal to five. You can end up comparing the wrong things.

DropDown1 = ActiveDocument.Sections["Dashboard"].Shapes.DropDown1var myvar = DropDown1.SelectedIndexConsole.Writeln(String(myvar))if ( myvar == 5)

{Alert("myvar = five!")}

else{Alert("myvar is not five!")}

The script below returns the actual value you see in the drop-down box. Let’s assume again that you have a drop-down box that contains the values of “one,” “two,” “three,” “four” and “five:”

DropDown1 = ActiveDocument.Sections["Dashboard"].Shapes.DropDown1var myvar = DropDown1[DropDown1.SelectedIndex]Console.Writeln(String(myvar))if ( myvar == "five")

{Alert("myvar = 5!")}

else{Alert("myvar is not 5!")}

Page 813: Hyperion Dashboard

Syntax Reference 10-7

Syntax ReferenceOn the bottom left of the Script Editor, directly above the Help button, is the Description pane. The Description pane shows you the necessary syntax for any item you select in the Object browser.

For example, in the Object browser, navigate to Application→ActiveDocument→Sections→Query→Methods, then select the Activate(). The Description pane reads:

void Activate()

This indicates that the Activate() method does not take any arguments.

Now click on the Export() method. The Description pane reads:

void Export(String Filename, BqExportFileFormat FileFormat, [optional] Boolean IncludeHeaders)

This indicates that the Export() takes three arguments, two required arguments and an one optional.

For more detailed information, click Help to open the online help for the Export() Method topic.

Page 814: Hyperion Dashboard

10-8 TroubleShooting Scripts

Recalculating ResultsA script that includes limits may execute slowly because it has to recalculate a complete data set each time there is a modification. You can use the SuspendRecalculate property to prevent a Results limit from recalculating after each modification.

In the following example, limit values are dynamically selected at a list box, but the recalculation occurs only after the last value is selected.

Sections[sect_name].Limits[limit_col].SuspendRecalculation = true;Sections[sect_name].Limits[limit_col].SelectedValues.RemoveAll();for(I = 1; I <= ListBox2.SelectedList.Count;I++){NewLimitValue = ListBox2.SelectedList[I];newname += ListBox2.SelectedList[I]Sections[sect_name].Limits[limit_col].SelectedValues.Add(NewLimitValue);

}Sections["Results"].Limits["1"].SuspendRecalculation = false;Sections[sect_name].Limits[limit_col].Ignore=false; // Trigger recalculation now

Page 815: Hyperion Dashboard

Designing Your Script 10-9

Designing Your ScriptJavaScript is an interpreted, not a compiled, language and it evaluates and runs each line of code in sequence. If JavaScript finds a problem with a line of code as it attempts to run it, it simply stops. Although the Intelligence Clients Script Editor syntax checker catches some obvious syntax errors, many errors may go unnoticed until run time.

You should identify whether each line of code will execute or fail. While it may seem like a lot of work to identify each line of code in this fashion, it pays off in time saved developing your scripts. It is also an essential technique for identifying problems in your scripts. You can check the legitimacy of your scripts using the Console window.

The Console window is used to display error messages and alert values generated by the JavaScript interpreter. During a script debugging cycle, you can write messages to the Console window to track the state of variables and the progress of the script. If a syntax error is detected (and not a runtime error), the error and the line number in which it has occurred appear in the console window. Use the line number to move directly to the line where the error has occurred in the Script Editor.

You can access the Console window from any section within the document; it it remains open until you close it.

The Console window also displays the buffer of all error messages that occur from when Intelligence Clients is started. Thus, the Console window may display information that is no longer of value to you. You can choose Edit→Clear to clear the buffer contents. When the Console window is closed, the buffer size is 1,000 bytes. When the Console window is open, the buffer size is 641 bytes.

There are two major techniques to write to the Console window: the Console.Write()/ Console.Writeln() methods, and the Alert() method.

The Console.Write() and Console.Writeln() methods are essentially identical. Both write to the Console window, which you can open by choosing View→Console Window. Console.Write() does not add a carriage return at the end of a line, while Console.Writeln() does add a carriage return.

Page 816: Hyperion Dashboard

10-10 TroubleShooting Scripts

Note Console.Writeln() is spelled with a lowercase L and N, which is an abbreviation for Write Line.

Console.Writeln() is the preferred technique for most users. It allows the script to run without user interaction, and the Console windows keeps a record of each line as it is written to the Console.

In some cases, the Console.Writeln() method is less desirable. . Additionally, web client’s Console window must be closed when a script runs.

If you wish to step through a tricky section of code in your script, you should use the Alert() method.

Whichever method you use, you need to identify the beginning and end of each script as well as each line of code before it executes. In the following example, the script moves to the Query section and removes any limits.

Console.Writeln("Start Query Script")Console.Writeln("Step1")ActiveDocument.Sections["Query"].Activate()Console.Writeln("Step2")ActiveDocument.Sections["Query"].Limits.RemoveAll()Console.Writeln("Step3")Console.Writeln("End Query Script")

Based on the above script, the Console window displays:

Start Query ScriptStep1Step2Step3End Query Script

Page 817: Hyperion Dashboard

Bypass Errors 10-11

Code EntryWhenever possible, use the Object browser click to add code to the Script Editor, rather than manually typing in the JavaScript. Sometimes errors occur because you have typed an extra space or a period instead of a comma.

You can also use cut-and-paste to enter code. For example, if you define a variable as DashboardName, and then later retype it as Dashboardname (see “Case-Sensitive Code” on page 10-3 for more information), the difference in case will cause a failure. Avoid such problems by carefully cutting and pasting whenever possible.

Bypass ErrorsThe try-catch block is borrowed from Java and is used to bypass errors. general syntax for a try-catch block is:

try{do something}catch(errorname){do something with the error}finally{do something else}

For example:

QPath = ActiveDocument.Sections["Query"].Limitstry{QPath.Activate()}catch(e){Alert(e.toString())}finally{Alert("We're Done!")}

The try-catch block generally does not catch definition errors, but shows an error in the Console window at the lowercase “d” in “date()”:

try{Alert(new date())}catch(e){Alert(e.toString())}finally{Alert("We're Done!")}

Page 818: Hyperion Dashboard

10-12 TroubleShooting Scripts

Getting Help with a Problem ScriptIf you have followed all the practices described in this section and you are still not able to get your script to do what you want it to do, consider opening a call with Hyperion Solutions Customer Support at 877-901-4975 or email http://hyperion.com.

Hyperion Solutions Customer Support engineers will need to see your actual BQY document that contains the script at issue. This is necessary due to the possibility of typos, and because of the relationship between a script and an individual BQY document.

If your data is confidential, consider duplicating your BQY file using the sample script that ships with Hyperion Intelligence Clients. Alternatively, you might consider saving the file without results, or if results are necessary to the function of the script, you may consider limiting your results sets to only a few rows. To set this option, choose Query→Query Options.

The sooner you can locate the problem and the exact point of failure in your script, the sooner Hyperion Solutions Customer Support can analyze the issue and suggest solutions.

Be sure to specify in which section of the BQY document the problem script resides, and within which control it can be found.

Remember that a problem in one script may be as a result of something defined in a different script.

Hyperion Solutions Customer Support may need to evaluate your document start up scripts and your Dashboard section scripts, as well as the script in the particular control that is causing the problem. For this reason, we strongly recommend you use the Console.Writeln() method to identify each of your lines of code in each of your scripts to the Console window. This may make the problem self-evident.

Page 819: Hyperion Dashboard

A Designing for the Intelligence iServer

As the designer of an Dashboard section to be deployed in the Intelligence iServer, you have a rich variety of tools to create a professional looking Dashboard dashboards. This section contains aids and known limitations for deploying an Dashboard section on the Intelligence iServer.

In This Chapter Architecture of the Intelligence iServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-2

Highlights of the Intelligence iServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-4

Summary of Design Considerations by Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-6

Locating Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-11

Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-12

Graphics Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-13

Embedded Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-14

Borders and Background/Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-13

Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-17

Client-Side JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-18

Alert Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-22

Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-23

Object Model Exclusion List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-28

User Embedded HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A-33

Page 820: Hyperion Dashboard

A-2 Designing for the Intelligence iServer

Architecture of the Intelligence iServerThe Intelligence iServer generates dynamic HTML, providing users with interactive capabilities to their bqy documents from a browser interface. Performing actions such as drilling into data, processing for new data, changing chart types, and swinging pivots, instructs the Intelligence iServer to generate new HTML pages on demand.

ComponentsThe Intelligence iServer is comprised of the following components:

■ HTML Servlet – The iHTML Servlet acts as a broker of information between the browser and the Intelligence Service.

■ Hyperion Intelligence Service – The Intelligence Service is the back-end component that opens and manages bqy documents and renders HTML versions of the documents to send back to the iHTML Servlet.

■ Data Access Service (DAS) – The Data Access Service is responsible for and manages all database requests.

Page 821: Hyperion Dashboard

Architecture of the Intelligence iServer A-3

PerformanceThe Intelligence iServer offers several performance benefits. With the exception of HTML Pregeneration, the other additions—Partial Document Loading, Multithreading, Distributed Components, and Disk Caching—are transparent and cannot be configured by the end-user.

HTML PregenerationUsers are offered an option to pregenerate HTML. Pregeneration of HTML is used to enable higher performance. Instead of opening a bqy file and generating the entire document in HTML on-demand, the HTML for specified sections is retrieved from the repository. The gains in performance are apparent on initial access. This is very useful for frequently accessed pages (however, this feature should not be used when row-level security is used unless care is taken to pre-generate reports appropriate for all users who can access the document). Configuration of this option is available from the Export dialog in Designer/Explorer/web client and the Hyperion Foundation 8 Browse Servlet Intelligence iServer Options.

Partial Document LoadingInstead of requiring an entire BQY document to always load into memory, only the required sections of a BQY document are loaded.

MultithreadingInstead of a single process executing serially on a single thread or several processes executing on multiple individual threads (requiring greater memory overhead), a single process is split up to execute in parts concurrently on multiple threads (in a multitasking or multiprocessing environment) to achieve the same end result.

Distributed ComponentsInstead of a centralized software system, software components are modularized and deployed anywhere within a network with communication coordinated by messages passed between the components.

Page 822: Hyperion Dashboard

A-4 Designing for the Intelligence iServer

Disk Caching of BQY DocumentsInstead of requiring disk access for every request of a BQY document, recently read data from disk is stored in memory for faster access.

Highlights of the Intelligence iServerIntelligence Client features supported in the Intelligence iServer:

■ Drill up and drill down (OLAP, Chart, and Pivot).

■ Drill anywhere (Chart, Pivot).

■ Swing a Pivot.

■ Add and remove totals (Pivot).

■ Add and remove items (Results, Chart, and Pivot).

■ Data functions (Chart, Pivot).

■ Add, remove, and modify cume (cumulative) (Chart, Pivot).

■ Surface values (Pivot).

■ Show and hide items in all sections.

■ Sorting in all sections.

■ Grouping labels (Chart, Pivot).

■ Add and remove grand and break totals (Results).

■ Specify chart type (Chart).

■ Set Legend on XYZ Axis (Chart).

■ Show values (Bar, Pie, Line Charts).

■ Processing of relational and OLAP queries.

■ Recognition of document events, Dashboard section events, and most Dashboard object events.

■ Interaction with Dashboard controls.

Page 823: Hyperion Dashboard

Highlights of the Intelligence iServer A-5

■ Most Dashboard embedded section objects.

■ Most Dashboard and Report graphics objects.

■ Most of the Hyperion Intelligence Clients Object Model.

■ Definition and manipulation of Limits through the Object Model.

■ Most web client Adaptive States (only four of the six adaptive states apply to the Intelligence iServer product). The Adaptive States Query and Analyze and DataModel and Analyze are not completely available, since only the view, process, and analyze portions of those adaptive states will be honored. Also note that Adaptive States override Roles when Roles are defined.

■ When Process All occurs (for Dashboard and Report section) or when the ProcessAll() method is called (for all other sections), the user is prompted for all connection information up front and prior to processing (instead of prompted for connection information following each query process).

■ All error handling goes to log files—there is no console window equivalent, but most errors are displayed to user.

■ When there are no data items supplied for a section, the browser popup menu is overwritten with a single “add item” popup menu.

■ When a section is empty, a blank content area appears.

Page 824: Hyperion Dashboard

A-6 Designing for the Intelligence iServer

Summary of Design Considerations by SectionThough much of the functionality in Intelligence Client products is available in the Intelligence iServer, there are features that are not present either as a result of specification or limitations of the HTML standard. Select a section from the list below to view a summary of features available in the Intelligence Client products that are not available or behave differently in the Intelligence iServer, including:

■ General Features Design and Use

■ Query and DataModel Sections Design and Use

■ Results and Table Sections Design and Use

■ Pivot Section Design and Use

■ Chart Section Design and Use

■ Dashboard Section Design and Use

■ Report Section Design and Use

General Features Design and UseThe Intelligence iServer:

■ Does not support document creation capabilities.

■ Does not support layout definition capabilities.

■ Does not support formatting capabilities (whatever is defined in the published document is displayed, but formatting capabilities are available via the object model).

■ Cannot hide/show, insert/delete, duplicate, or rename sections (but this functionality is available via the object model).

■ Cannot set or read tools options (i.e. default formats).

■ Does not export to Text, Excel, Lotus, or JPEG formats.

■ Does not support export of Scripts to Text.

■ Does not support native print capabilities, but can print using the browser, Acrobat (PDF format), or by way of the Scheduler.

■ Does not support password-protected documents.

■ Does not support custom menus.

Page 825: Hyperion Dashboard

Summary of Design Considerations by Section A-7

■ Cannot insert, delete, or show page headers/footers.

■ Limited support for the OLAP section from the user interface —only support for sort, drillup/drilldown, autosize width (but additional OLAP functionality is available via the object model).

Query and DataModel Sections Design and UseThe Intelligence iServer:

■ Does not support ad-hoc query capabilities from the user interface (but query building is available via the object model).

■ Does not support access to Query or Data Model sections from the user interface (but can access sections via the object model).

■ Does not support any kind of limits from the user interface (but can access via the object model). Variable limits can be applied, but not programmatically.

■ Will automatically default to first Join Path when there is more than one Join Path in a Query.

■ Does not support canceling a query.

Results and Table Sections Design and UseThe Intelligence iServer:

■ Does not support importing of results sets.

■ Does not support sorting of computed columns based on order functions.

■ Cannot show or hide row numbers.

■ Cannot insert, delete, or modify computed columns (but can do via the object model).

■ Does not support column-grouping capabilities.

■ Does not support suppression of duplicates.

Page 826: Hyperion Dashboard

A-8 Designing for the Intelligence iServer

■ Does not support setting of spotlighter conditions (whatever is defined in the published document is displayed, but formatting capabilities are available via the object model).

■ Does not support enabling of grid lines, borders, or background (whatever is defined in the published document is displayed, but formatting capabilities are available via the object model).

Pivot Section Design and UseThe Intelligence iServer:

■ Does not support drill-through (or drill-to-detail).

■ Cannot insert, delete, or modify computed columns (but can access sections via the object model).

■ Cannot change or restore pivot label names.

■ Does not support manual refresh of data (but can access sections via the object model).

■ Cannot enable pivot data label or corner label.

■ Does not support Chart-This-Pivot function.

■ Cannot set or remove pivot page breaks.

Chart Section Design and UseThe Intelligence iServer:

■ Does not support resizing of individual Chart components.

■ Does not support drill-through (or drill-to-detail).

■ Cannot insert, delete, or modify computed columns (but can access sections via the object model).

■ Does not support manual refresh of data (but can access sections via the object model).

■ Does not support Pivot-This-Chart function.

■ Cannot select the chart legend.

■ Cannot specify chart legend location in chart.

■ Cannot reorder items in chart.

Page 827: Hyperion Dashboard

Summary of Design Considerations by Section A-9

■ Cannot change or restore chart label names.

■ Cannot rotate pie chart.

Dashboard Section Design and UseThe Intelligence iServer:

■ Cannot access Dashboard design mode.

■ Cannot define Dashboard tab order (whatever is defined in the published document is the order).

■ Does not support Dashboard embedded section objects that are active; they behave like hyperlink property.

■ Does not support Dashboard embedded section objects that are view-only with AutoSize=OFF; they behave like hyperlink property.

■ Does not support the following events: OnRowDoubleClick(Active ESOs), DoubleClick (ListBox), OnChange (TextBox), OnEnter (TextBox).

■ Does not support the following graphics objects: diagonal line, round rectangle, or oval. An automatic substitution of graphics objects occurs: diagonal line is replaced with line, round rectangle is replaced with rectangle, and oval is replaced with rectangle.

■ Does not support text label object alignment and rotation properties.

■ When using the DropDown control, the OnSelection event is not executed if the first selection made by the user is the first item on the list—this is an HTML limitation. To resolve the problem, select any other item prior to selecting the first item, or make the first item in the DropDown a blank entry.

■ Command Button text wrap is only available when using Internet Explorer; it is not available when the 508 Accessibility feature is enabled or when using other web browsers.

Page 828: Hyperion Dashboard

A-10 Designing for the Intelligence iServer

Report Section Design and UseThe Intelligence iServer:

■ Cannot build or layout reports.

■ Does not support the following graphics objects: diagonal line, round rectangle, or oval. An automatic substitution of graphics objects occurs: diagonal line is replaced with line, round rectangle is replaced with rectangle, and oval is replaced with rectangle.

■ Does not support text label object alignment and rotation properties.

■ Data Path field is set to local path.

Page 829: Hyperion Dashboard

Locating Errors A-11

Locating ErrorsWhen a script fails to execute due to a syntax or runtime error, it will become necessary for you to debug the code. Finding errors may take time depending on the length and complexity of the code. One way to reduce the number of errors is prevention. You prevent errors by observing the protocols that JavaScript requires. For more information, see TroubleShooting Scripts.

Console WindowThe Console window, which is used to display the buffer of all errors and is often used as a means for debugging, is not available from the Intelligence iServer user interface.

Error LogsThe Intelligence iServer displays errors to an html dialog or generates an entry to one of the error logs. The error logs included the following:

■ BI1 [server] log

■ Data Access Service [server] log

■ DAServlet log

■ iHTMLServlet message log

For information about interpreting any of the above logs, consult with the Hyperion Solutions Customer Service Department.

try-catch blockYou can also test the usefulness of syntax or isolate a sequence of steps in a complicated script, by using the try_catch block. See Bypass Errors for more information.

Page 830: Hyperion Dashboard

A-12 Designing for the Intelligence iServer

ControlsControl objects can be inserted into an Dashboard section to provide users with a way to interact with the application dynamically. BQY documents created for displaying support the following controls:

■ Command Button

■ Radio Button

■ Check box

■ List Box

■ Drop Down

■ Text Box

Control Object PropertiesBasic object properties such as name, visible, autosize, etc., are accessible through the Object Model, but not through the Intelligence iServer user interface. Some limitations do apply to control properties as described in Table A-1:

Table A-1 Special Considerations for Control Objects

Control Object Control Object Property Behavior

Command Button Text wrap is only available in the Internet Explorer browser. Text wrap in a command button is not available when the 508 Accessibility feature is enabled.

Drop Down The OnSelection event does not fire when the first selection from the drop-down is the first item on the list. It is recommended that you enter a blank entry for the first item or instruct users not to select the first item of the list as a first selection.

Text Box The OnEnter and OnChange events do not fire from the Intelligence iServer.

Page 831: Hyperion Dashboard

Borders and Background/Font A-13

Graphics ObjectsEnd users can display graphics in a document from the Intelligence iServer, but cannot insert them into an Dashboard section from the Intelligence iServer

As a designer the following graphics are available for you to use in an Intelligence iServer document as shown in Table A-2. If you have existing object which is not supported in the Intelligence iServer, either substitute or omit altogether these graphics altogether.

Note All graphics support the OnClick event.

Borders and Background/FontThe Intelligence iServer allows you to apply the border and background and font properties for graphic objects in the object model, but these properties cannot be modified by the end user viewing the document on the Intelligence iServer.

Table A-2 Special Considerations for Graphic Objects

Graphic Object Properties

Textlabel Overline effect, doubleoverline effect, vertical and horizontal rotation, vertical and horizontal rotated up and down rotation.

Line n/a

Horizontal Line n/a

Rectangle n/a

Round Rectangke n/a

Oval n/a

Picture Picture Clip Effect (upper left corner clip of the image), Picture Tile Effect

Page 832: Hyperion Dashboard

A-14 Designing for the Intelligence iServer

Embedded ObjectsA Results, Pivot, Chart, Table and OLAP section can be embedded in any BQY intended for viewing in the Intelligence iServer. Embedding inserts the display of that section directly into the work area, and keeps live with the data content that the original section is based.

Currently, there are two properties which define the level of end user interaction with an embedded section:

■ View only – Allows viewing of static reports only. A static report is the visual drawing of the report. It appears as currently defined in the native report section, but it is a visual display only (appears as a thumbnail in the Dashboard section). The user has no interaction capabilities with the report.

■ Hyperlink – Allows users to easily navigate to the original section from the embedded section by clicking the thumbnail in the Dashboard section

The Active property, available in the Designer/web client, is not allowed for an embedded section in the Intelligence iServer.

If the embedded section has the view only property set, the following object properties apply:

■ If the "Scrollbars Always Shown" property of the embedded section is enabled, vertical and horizontal scrollbars appear adjacent to but outside the defined object's container boundary and does not obstruct the object. Vertical and horizontal scrollbars are always present.

■ If the scrollbar property for the embedded section object is not set, vertical and horizontal scrollbars appear only when the object has focus (when the user selects the object). The scrollbar is adjacent to but outside the defined object's container boundary and not obstruct the object. The scrollbars continue to show until the user applies focus to another object, selects a toolbar button (other than the Intelligence iServerpaging toolbar buttons) or until the Dashboard section is exited.

■ Scrolling of the object using either of the object's scrollbars (vertical or horizontal) scroll only the current page of the parent section.

■ If Auto-Size is enabled, the object data is scaled to fit within the object's container boundary and no scrolling of the object is allowed.

Page 833: Hyperion Dashboard

Embedded Objects A-15

For each of the following sections below, the view only embedded section object behaves accordingly:

■ Results/Table – Selection of any columns, rows or column titles is not permitted. No Intelligence iServer speed menu options which typically appear for the Results/Table section selections are available for the object.

■ OLAPQuery/Pivot – Selection of any report cells or handles is not permitted. No Intelligence speed menu options which typically appear for the OLAPQuery and Pivot section selections are available for the object.

■ Chart – Selection of any labels, bars, lines or pie slices is not be permitted. No Thin Intelligence iServer speed menu options which typically appear for the Chart section selections are available for the object.

Embedded section objects use the following paging standards:

■ If the parent section has multiple pages and the embedded section object has focus, the Intelligence iServer’s toolbar's paging buttons become enabled to allow for the paging of the object. Selection of these toolbar buttons cause the updated page view to appear within the embedded section object borders.

■ This paging of the embedded section is independent of the parent section paging. The paging of each embedded section is also independent of other embedded section objects in the same dashboard section which share the same parent section.

■ Hyperlink objects cannot have page view updated.

■ If an action is performed on the parent section which causes the current page view of the embedded section object to be no longer valid, the embedded section object view returns to the next valid page.

Page 834: Hyperion Dashboard

A-16 Designing for the Intelligence iServer

■ Other actions performed on the parent section which are not related to paging, such as column modification, or formatting, will always be propagated to all of the child embedded sectionobjects (regardless of active page or embedded section object mode). The embedded section object in these cases keep their current page views.

■ Because the display of the embedded section object scrollbars can appear outside of the object's defined boundary, designers including the embedded section objects in their Dashboard sections need to take care in placing other objects or controls in the area where these scrollbars are drawn to avoid obstructing them.

Page 835: Hyperion Dashboard

Events A-17

EventsHyperion Intelligence Clients have events that can fire in a BQY document, generally as the result of user activity. These events are defined within three groups: Document, Dashboard Section, and Dashboard Objects. When deploying a BQY document for use on the web, consider the specific characteristics of each of the events you intend to add to your document.

Specifically, you need to evaluate how the event will behave with a BQY document which contains pre-generated sections.

For example, a document section may have pregenerated html. Typically, a designer pregenerates the html for a section to improves the initial response of a section (since the BIService is not accessed).

Document EventsAll Document Events are supported including:

■ OnStartUp (Document) Event

■ OnShutDown (Document) Event

■ OnPreProcess {Document) Event

■ OnPostProcess (Document Event)

Document events can be explicitly turned on or off. For more information, see Document Level Events.

Dashboard Section EventsAll events associated with the Dashboard section are supported, including the OnActivate and OnDeActivate Events.

Dashboard Object EventsDashboard object events which are supported include:

■ OnClick

■ OnExit (TextBox control only. The OnExit event will not fire when a user navigates from a TextBox to a neutral region. A neutral region is defined as any content area that is not a control or graphic). OnSelection (DropDown control only)

Page 836: Hyperion Dashboard

A-18 Designing for the Intelligence iServer

Non-supported events include:

■ OnRowDoubleClick (Active Embedded Objects0

■ OnDoubleClick (ListBox)

■ OnChange (TextBox)

■ OnEnter (TextBox)

Note The OnRowDoubleClick Event is not supported at this time since Active embedded objects appear only as hyperlinked embedded sections in the Intelligence iServer.

Client-Side JavaScriptClient-side JavaScript allows you to designate scripts that run in the client’s browser session. It is a useful tool when you need to validate form information, allowing a fast response to a mouse click, form input and page navigation. For example, you can script a JavaScript function on the HTML page to confirm that users have typed valid information such as an address and telephone number. The embedded JavaScript checks the information and can display a dialog if the information is invalid without any server response. The server is still tasked to validate non-scriptable browser functions; however; client-side JavaScript allows you to avoid form redrawing, server processing and the download of data especially if an HTML pagehas high traffic.

Client StatusClient-side JavaScripts instructs the server code to run or not by the following status indicators:

■ ActiveSection.ClientScriptStatus

■ Object.ClientScriptStatus

For example, if the client-side JavaScript (which might be activated by a command button) determines that a user did not check an option or entered alphabetic data instead of numeric, the server side JavaScript does not run until the user types the correct data.

Page 837: Hyperion Dashboard

Client-Side JavaScript A-19

Use the ActiveSection.ClientScriptStatus status indicator when you need to coordinate an action between objects. This indicator takes a Boolean value.

Use the Object.ClientScriptStatus status indicator to initiate an action for an independent objects. The “object” in the Object.ClientScriptStatus status indicator is replaced with the object’s name such as CommandButton1.ClientScriptStatus (“object” does not exist on its own). This indicator also takes a Boolean value. Note that an independent object is still subject to the ActiveSection’s script status settings.

The behavior of the status indicators settings is shown below.

For example, consider a dashboard with a user ID, password, Submit, and a Cancel button. The password text field contains a client-side script that enforces at least a 6 character long, alphanumeric password. If the ActiveSection.ClientScriptStatus were set to “false”, and if the user clicks “Submit” without typing the correct password, the client-side script will not send the invalid password to the server. However, the “Cancel” button could reset the ActiveSection.ClientScriptStatus to “true” and allow any cancel logic which has been implemented at the server level to run.

Table A-3 Status Indicator Settings

Indicator Value ActiveSection.ClientScriptStatus Object.ClientScriptStatus

True Initialization occurs when a server side script completes.

For client-side script run in the Intelli-gence iServer, this occurs when the browser page is refreshed.

For client-side script run in Designer/Explorer and the web client, this occurs at the conclusion of a server side script’s execution, even if the page is not redrawn.

Initialization occurs when the client-side script for the object starts to run.

False No server side script is executed. No server side script is executed.

Page 838: Hyperion Dashboard

A-20 Designing for the Intelligence iServer

Client-Side EventsThe Client-side events appear in the Event Trigger dropdown of the Script Editor. All events shown below are executed in the Intelligence iServer client browser , and not on the server.

In addition to the overall client side object level events, graphic objects and control objects have specific predefined client side events with which they are associated, as shown below.

Table A-4 Client-Side Object Level Events

Event Objects Supporting Event Action That Invokes Event

OnClientClick Graphics: Line, horizontal line, vertical line, rectangle, round rectangle, oval, text label, picture

Controls:command button, radio button, check box, list box

Clicking on a section, graphic, or control.

OnClientDoubleClick Controls: list box Clicking on a section, graphic, or control

OnClientEnter Control: Text Box Entering a text box.

OnClientExit Control: Text Box Leaving a text box.

Table A-5 Client-Side Events Associated with Graphic Objects

Graphic Object Event

Line OnClientClick

Horizontal Line OnClientClick

Vertical Line OnClientClick

Rectangle OnClientClick

Round Rectangle OnClientClick

Page 839: Hyperion Dashboard

Client-Side JavaScript A-21

Section Level EventsSection level event are events associated with Dashboard sections. The predefined section level events and the actions that invoke the events are:

■ OnClientActivate – Entering an Dashboard section.

■ OnClientDeactivate – Exiting an Dashboard section.

Text Box Events and PropertiesDesigners can use the events and properties of a Text Box when creating client-side JavaScript. Events that have both client and server side components will both run, but the server side events of Text Boxes do not execute in the Intelligence iServer. Both client and server side events of text box run in Designer/Explore and the web client

Oval OnClientClick

Text Label OnClientClick

Picture OnClientClick

Table A-6 Client-Side Events Associated with Control Objects

Control Object Event

Command Button OnClientClick

Radio Button OnClientClick

Check Box OnClientClick

List Box OnClick

Drop Down OnClientSelection

Text Box OnClientEnter, OnClientExit, OnClientChange

Table A-5 Client-Side Events Associated with Graphic Objects (Continued)

Graphic Object Event

Page 840: Hyperion Dashboard

A-22 Designing for the Intelligence iServer

The properties of Text Boxes that are exposed to Client-Side JavaScript are:

■ TextBox.Text

■ TextBox.Enable

■ TextBox.Visible

■ TextBox.Font

■ TextBox.Scrollable

■ TextBox.Name

■ TextBox.Password

■ TextBox.Type

Alert DialogIntelligence iServer supports the use of an alert dialog box. This dialog box is a modal window that displays a message to the end user. It includes an OK button for the user to close the dialog. Before the user can continue with other work on the browser, the dialog box must be dismissed.

In the Intelligence iServer the alert dialog appears as a full web page. The Alert() method can be called from any supported event, with the exception of OnStartUp and OnShutDown events.

Up to three buttons can be displayed on the dialog with custom names. When the user selects a button, an integer is returned corresponding to the number of the button. If the user selects button #1, the number 1 is returned and so on.

The syntax used to create the alert dialog in the object model is:

Expression.Alert(Prompt As String, [Title As String], [Button1Text As String], [Button2Text As String], [Button3Text As String]) As Integer

Page 841: Hyperion Dashboard

Toolbars A-23

ToolbarsControl of what toolbars display for the Intelligence iServer versions of a BQY document is governed by the Toolbars collection in the Intelligence Clients Object Model. Toolbars can be hidden from view to limit the users ability to control the BQY document or displayed as needed. For example, the Standard and Format toolbars can be hidden when the BQY document is opened. Toolbars can also be added to the display to extend the users ability to navigate should other navigation means be restricted. This feature is available via the Navigation toolbar.

All methods and properties, including all individual collection object properties, of the Toolbars collection are at your disposal for displaying or hiding toolbars in the Intelligence iServer. Note the Toolbar collection objects do not have any associated methods.

Excluded ObjectsThe Toolbars collection objects which are not necessary for use in an Intelligence iServer session include:

■ Toolbars["Formatting"]

■ Toolbars["Section"]

■ Toolbars["Navigation"]

If any of the Toolbars collection objects have their associated properties accessed from the Intelligence iServer, the script command is ignored, no exceptions are thrown, and the script continues.

Standard ToolbarAs with the Designer and web client sessions, the Hyperion Intelligence Clients Object Model controls the display of the Standard toolbar. This control is provided with the Toolbars Collection Standard object. The Standard toolbar looks as follows in the Intelligence iServer:

Page 842: Hyperion Dashboard

A-24 Designing for the Intelligence iServer

The Toolbars collection Standard object has the associated Properties:

■ Toolbars["Standard"].Visible

■ Toolbars["Standard"].Name

■ Toolbars["Standard"].Type

Paging ToolbarThe Paging toolbar is an abbreviated version of the Intelligence iServer standard toolbar and consists of the section paging controls (First Page, Previous Page, Next Page, Last Page) and the current page indicator text (Page X of Y). The buttons behave in the same manner and become active just as the like buttons of the Intelligence iServer Standard toolbar. The Paging Toolbar looks as follows:

HelpClose DocumentSave File Locally

Export to ExcelExport to PDF

Process

Section Navigation dropdownDashboard HomePage X of YLeft Navigation controlPrevious/Next Navigation controlsRight Navigation control

Current Page IndicatorLeft Navigation ControlUp/Down Navigation ControlsRight Navigation Control

Page 843: Hyperion Dashboard

Toolbars A-25

The Toolbars Collection Paging object has the associated Properties:

■ Toolbars["Paging"].Visible

■ Toolbars["Paging"].Name

■ Toolbars["Paging"].Type

The Paging toolbar type is available as a constant value in the BqToolbars group. If you try to access the Paging toolbar in Designer or web client, the script command is ignored, no exception thrown, and the script continues.

Event Controls for Toolbar DisplayThe Object Model commands for toolbar display have full control on which toolbars appear in an Intelligence iServer document or are defined for an embedded section in the Personal Pages.

The following script commands can be executed using any of the Object Model supported trigger events within the Intelligence iServer for the display of Intelligence iServer toolbars:

■ Document Scripts Trigger Events (OnStartup, On Shutdown, OnPreProcess, OnPostProcess)

■ Dashboard Section Display Trigger Events (OnActivate, OnDeactivate)

■ Dashboard Object Trigger Events (OnClick, OnSelection, OnExit)

Intelligence iServer Document DisplayThe general rules governing the display of the Standard and Paging toolbars are:

■ Only one of the two Intelligence iServer toolbars can be displayed at any given time.

■ If any scripts are executed which set both toolbar Visible properties equal to true, only the latter script execution is reflected in the display and the visible property of the former is returned to false.

■ It is possible that no toolbars be displayed in the Thin Client

These rules are consistent with the current rules enforced by the Personal Page Display Properties radio buttons (see below).

Page 844: Hyperion Dashboard

A-26 Designing for the Intelligence iServer

Personal PagesThe display of toolbars for Personal Pages using the Intelligence Clients Object Model script commands supercede any toolbar display settings which are specified by the Personal Pages owner.

The document designer, and not the Personal Pages owner, should determine which functionality and options of the document are available to the end user. Script commands to show or hide toolbars for the embedded BQY document sections within the Personal Pages are executed even if these script commands alter the Personal Pages owner's toolbar display selection.

If no Object Model script commands governing the toolbar display are contained in the BQY document, the Personal Pages toolbar display selections are enforced.

Pre-Generated HTMLChanges in the toolbar display are not supported when BQY documents are published and pre-generation of the section HTML is selected. Since the Object Model script commands which would govern the display of the toolbars are not executed at publish time, the pre-generated HTML for each of the BQY sections contain the Standard toolbar.

Section 508 ComplianceThe following Section 508 Compliance behavior exists for toolbars in the Intelligence Clients document:

■ The first page line (invisible link) is reached by the Alt+H keystroke irregardless of the toolbar present on the page or which toolbar is shown.

■ The invisible link allows a user to skip the entire Paging toolbar.

■ ALT text for all toolbar buttons on the Paging toolbar is included.

■ ·When in 508 Compliant mode, the Toolbar Collection Object Property 'Visible' must show/hide the correct version of the Standard or Paging toolbar.

Page 845: Hyperion Dashboard

Accessibility A-27

AccessibilityThe Accessibility property allows designers of Dashboard section to display an alternate Dashboard section and. or object which can be more accessible to disabled user.

This Accessibility property is a read-only boolean (true/false) and exists as a Document Collection Object property as shown below:

Document[<collection index value or document file name>].AccessibilityActiveDocument.Accessibility

The setting of this property is determined by the '508 Compliance Preferences' user setting set in the BrowsePublish application and persists for the duration of the Intelligence iServer document session. The property is not persisted with the document.

Primary Use CaseThe Accessibility property is set when a user with the Accessibility option enabled ('508 Compliance Preferences' setting) selects a document link from the document list for display in the Intelligence iServer. The rules governing which boolean value applies to the property are cited below:

If you select a document from his/her document list and :

■ the Accessibility option is enabled in the BrowsePublish application, the property is set to TRUE

■ the Accessibility option is disabled, the property is set to FALSE

The default value for this property is FALSE.

The property is not set when selections are made on the web client document link, regardless of the user's Accessibility status as web client is not Section 508 compliant.

Page 846: Hyperion Dashboard

A-28 Designing for the Intelligence iServer

Object Model Exclusion ListThis section provides a list of those objects, methods and properties that you cannot reference when you design a bqy document for use with the Intelligence iServer. The objects methods and properties below have no affect in the Intelligence iServer environment. When a method or property on this list is encountered in a script, a warning is entered in an error log file and execution of the script will continue if possible. If you need to include the syntax shown below, be sure to include it in a BQY document designed for desktop viewing.

Note The Object Model Exclusion list applies to any operation dependent on the BQ Service, which includes BQY jobs as well.

ActiveDocument.Close()

ActiveDocument.Save()

ActveDocument.SaveAs()

ActiveDocument.Sections["SectionName"].Copy()

ActiveDocument.Sections["SectionName"].PrintOut()

ActiveDocument.Sections["Chart"].XLabels.DrillInto()

ActiveDocument.Sections["Dashboard"].Shapes["TextBox1"].OnChange()

ActiveDocument.Sections["Dashboard"].Shapes["TextBox1"].OnEnter()

ActiveDocument.Sections["Dashboard"].Shapes["ListBox1"].OnDoubleClick()

ActiveDocument.Sections["Dashboard"].Shapes["Results1"].OnRowDoubleClick()

ActiveDocument.Sections["OLAPQuery"].Slicers.Add()-only the case where the last argument VariableSlicer=TRUE. Ignores the last argument, always defaulting to VariableSlicer=FALSE

Application.CreateConnection()

Application.DoEvents()

Application.LoadSharedLibrary()

Application.Shell()

Page 847: Hyperion Dashboard

Object Model Exclusion List A-29

Application.ShowMenuBar()

Application.Quit()

Console.Write()

Console.WriteLn()

Document.Close()

Documents.Open()

Session.ActiveSession.Form.Add()

Session.Form.Item()

Session.URL.Add()

Session.URL.Item()

Session.Cookies.Add()

Session.Cookies.Item()

The following properties do not have any UI affect in the Intelligence iServer, but the values set must be retained as part of the BQY document. In the event that the BQY document is saved locally for use with other Intelligence clients, any changes made from the Intelligence iServer should be reflected. When encountered in a script, the methods and properties on this list will not cause an entry in an error log file and execution of the script will continue.

ActiveDocument.ShowCatalog

ActiveDocument.ShowSectionTitleBar

ActiveDocument.Sections["Query"].DataModel.Connection.DBLibAllowChangeDatabase

ActiveDocument.Sections["Query"].DataModel.Connection.DBLibApiSeverity

ActiveDocument.Sections["Query"].DataModel.Connection.DBLibDatabaseCancel

ActiveDocument.Sections["Query"].DataModel.Connection.DBLibPacketSize

ActiveDocument.Sections["Query"].DataModel.Connection.DBLibServerSeverity

ActiveDocument.Sections["Query"].DataModel.Connection.DBLibUseQuotedIdentifiers

Page 848: Hyperion Dashboard

A-30 Designing for the Intelligence iServer

ActiveDocument.Sections["Query"].DataModel.Connection.DBLibUseSQLTable

ActiveDocument.Sections["Query"].DataModel.Connection.SaveWithoutUsername

ActiveDocument.Sections["Query"].DataModel.Connection.ShowAdvanced

ActiveDocument.Sections["Query"].DataModel.Connection.ShowBrioRepositoryTables

ActiveDocument.Sections["Query"].DataModel.Connection.ShowMetadata

ActiveDocument.Sections["Query"].DataModel.Limits["Year"].VariableLimit

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.DBLibAllowChangeDatabase

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.DBLibApiSeverity

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.DBLibDatabaseCancel

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.DBLibPacketSize

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.DBLibServerSeverity

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.DBLibUseQuotedIdentifiers

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.DBLibUseSQLTable

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.SaveWithoutUsername

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.ShowAdvanced

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.ShowBrioRepositoryTables

ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.ShowMetadata

ActiveDocument.Sections["Query"].DataModel.ShowIconJoins

ActiveDocument.Sections["Query"].Limits["Quarter"].VariableLimit

ActiveDocument.Sections["Query"].SaveResults

ActiveDocument.Sections["DataModel"].DataModel.AutoJoin

ActiveDocument.Sections["DataModel"].DataModel.Catalog.ShowFullNames

ActiveDocument.Sections["DataModel"].DataModel.Catalog.ShowLocalResults

ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibAllowChangeDatabase

ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibApiSeverity

ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibDatabaseCancel

Page 849: Hyperion Dashboard

Object Model Exclusion List A-31

ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibPacketSize

ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibServerSeverity

ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibUseQuotedIdentifiers

ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibUseSQLTableActiveDocument.Sections["DataModel"].DataModel.Connection.SaveWithoutUsername

ActiveDocument.Sections["DataModel"].DataModel.Connection.ShowAdvanced

ActiveDocument.Sections["DataModel"].DataModel.Connection.ShowBrioRepositoryTables

ActiveDocument.Sections["DataModel"].DataModel.Connection.ShowMetadata

ActiveDocument.Sections["DataModel"].DataModel.Limits["Year"].VariableLimit

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibAllowChangeDatabase

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibApiSeverity

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibDatabaseCancel

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibPacketSize

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibServerSeverity

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibUseQuotedIdentifiers

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibUseSQLTable

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.SaveWithoutUsername

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.ShowAdvanced

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.ShowBrioRepositoryTables

ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.ShowMetadata

ActiveDocument.Sections["DataModel"].DataModel.ShowIconJoins

ActiveDocument.Sections["SectionName"].ShowOutliner

Page 850: Hyperion Dashboard

A-32 Designing for the Intelligence iServer

ActiveDocument.Sections["Dashboard"].Shapes["EmbeddedSection"].ScrollbarsAlwaysShown

ActiveDocument.Sections["Dashboard2"].Shapes["EmbeddedSectionResults"].ShowOutliner

ActiveDocument.Sections["Dashboard2"].Shapes["Embedded"].ShowRowNumbers

Application.ShowMenuBar

Application.ShowStatusBar

Application.StatusText

Application.Visible

Application.WindowState

BqFontEffectOverDouble

BqFontEffectOverLine

BqFontEffectStrikeThru

BqFontEffectSuperScript

BqFontEffectSubScript

Page 851: Hyperion Dashboard

User Embedded HTML A-33

User Embedded HTMLYou can embed images such GIF or JPEG, and hypertext links in the cells of tables and pivots. Embedded data can be viewed in the Intelligence iServer, and documents to be exported to HTML pages.

User embedded HTML is written “as is” in the Intelligence iServer source code wherever the corresponding text would normally appear using the function wrapper @HTML(<html image/link>).

How the function wrapper gets added to the text is a customer implementation choice. For example, if the HTML you want to use is stored in an Oracle database column entitled HTMLDATA, you might add the following computed item to their Request line:

‘@HTML(’ || HTMLDATA || ‘)’

where || is Oracle’s string concatenation operator. This method could also generate a computed item in Results.

If you want a report header or an Dashboard page to contain a hard coded link, such as one to their corporate home page, you could type in the following literal string into a Text Label Field:

@HTML(<a href=’http://www.brio.com’>Company Web site</a>)

Hyperion reserves the right to change the format of the Intelligence iServer source code in future releases, but will continue to support the following features:

■ an embedded hyperlink in a table/pivot cell

■ an embedded image in a table/pivot cell

In addition Hyperion Intelligence Clients and the web client cannot guarantee the format or appearance of a cell data adjacent to a cell in which the HTML has been defined by the user. If you define HTML in a cell to be viewed in a non-HTML context (such as web client, Designer or Explorer), any embedded information will appear as text.

To embed your own image or hyperlink into a table or pivot cell:

1 Select the cell in which to embed the image or hyperlink.

2 Type the following wrapper information in the cell:

@HTML(<HTML image/link>)

Page 852: Hyperion Dashboard

A-34 Designing for the Intelligence iServer

When Hyperion Intelligence or the web client encounters the @HTML wrapper, it is stripped from the cell and the content up to but not including is exported “as is”, without any character substitutions. The parentheses () also gets stripped.

Page 853: Hyperion Dashboard

Glossary

Adaptive Report Level The level of privilege that a

user can interact with an Intelligence Client

document. The adaptive report levels are View Only;

View and Process; Analyze; Analyze and Process;

Query and Analyze; and Data Model, Query, and

Analyze. When a document is published, groups of

users are granted access to it with specific Adaptive

Report level privileges.

ADR (also called as sync) See automatic distributed

refresh.

aggregate limit Limits placed on aggregated request

line items or aggregated meta topic items.

API Application Programmer Interface

API Socket (DaAPISock) The API (such as ODBC,

SQL Net, and so on) or protocol level information

used when connecting to a database that has been

abstracted in an API Socket. Hyperion Intelligence

Clients have one API socket for each supported

API/communication protocols.

application aerver A framework for developing

applications that provides fundamental capabilities

required by many applications such as session and

resource management, and security.

auditing The monitoring of Intelligence Client

Repository objects to determine usage patterns.

automatic distributed refresh The process of

synchronizing locally saved documents and the

version in the repository.

auto-join An administrator can configure a

connection file to cause joins to occur automatically

for users using the Auto-Join feature. Auto-Join can

be configured one of three ways: Best Guess,

Custom, and Server-Defined.

auto-process The automatic processing of a query.

axes Straight lines on a chart used for measurement

and categorization. Typically the X-axis and the Z-

axis are both used for categories while the Y-axis is

used for quantification (for example, Facts/Values).

Pie charts only use the X-axis for its categories and

the Y-axis for its Facts/Values.

Brio Repository, Intelligence Client Repository A

specific group of tables created using Intelligence

Clients on a database server and used to store

Intelligence Client document objects, including data

models and standard queries. Administrators can use

the Designer client to upload these objects to the

repository for end-users to download, providing a

template for query and report building. Documents

built from repository objects can be version-

controlled or audited through a link to the

repository.

Page 854: Hyperion Dashboard

2 Glossary

catalog A collection of database tables and local

results. This is the information the user can use in a

data model or query.

Catalog pane Shows a list of elements available to

the active section. For example, if Query is the active

section, the Catalog pane displays a list of database

tables. If Pivot is the active section, the Catalog pane

displays a list of results columns. If Dashboard is the

active section, the Catalog pane displays a list of

embeddable sections, graphic tools, and control

tools.

categories Groupings by which the data is organized

(for example, month).

CGI See Common Gateway Interface.

chart A graphical representation of data. Users

create charts to convert raw data into eloquent,

visual information.

Chart section With a varied selection of chart types,

and a complete arsenal of OLAP tools like group and

drill-down, the Chart section is built to support

simultaneous graphic reporting and ad-hoc analysis.

client/server A network architecture in which each

computer or process on the network is either a client

(requests information) or a server (delivers

requested information).

clustered bar charts Occurs when the categories are

viewed side by side within a given category, useful for

side by side category analysis. Clustering is only done

with vertical bar charts.

Common Facilities One of the four categories of

objects defined by the Object Management

Architecture (OMA). The Common Facilities is a

collection of services that many applications may

share, but the services are not as fundamental as

Object Services. For example, Print Facility and

Mobile Agent Facility.

computed item A virtual column (as opposed to a

column that is physically stored in the database or

cube) that can be calculated by the database during a

query, or by an Intelligence Client in the Results

section. They are calculations of new data based on

functions, data items, and operators provided in the

dialog box. They can be included in reports or reused

to calculate other data.

connection file See Open Catalog Extension Files.

Controls Folder Contains prebuilt items that can be

added to your Dashboard section, such as list boxes,

radio buttons, and command buttons. You can then

attach scripts to the controls embedded in the

Dashboard section to execute actions.

correlated subqueries Subqueries that are evaluated

once for every row in the parent query. A correlated

sub query is created by joining a topic item in the

subquery with one of the topic items in the parent

query.

cross join Creates a query where none of the tables

is joined. Every row in one table is joined to every

row in another table.

cube The data in OLAP databases (MS Plato,

Essbase, MetaCube) is stored in 3-dimensional cubes,

which is different from standard relational databases

(2-dimensional). Cubes are made up of dimensions

and measures. A cube may have dozens of

dimensions.

DaConnect (aka DaConn) An Intelligence Clients’s

main connectivity class. Contains all the connectivity

specific information. Instance of a connection class is

made whenever Intelligence Clients needs to connect

to any database.

Page 855: Hyperion Dashboard

Glossary 3

Daemon-mode BQ The Hyperion client/server

executable. It is spawned in daemon mode by node

JREs. The role of the daemon-mode BQ is simply to

execute database queries and return results.

Dashboard Allows you to build and deploy analytic

applications. Analytical applications focus on

delivering significant prepackaged business content

that is encapsulated within an application. With

Intelligence Clients, customers and independent

software vendors can leverage their knowledge of

industry specific best practices and assemble their

own analytical applications for deployment to end

users using the Web. Combining embeddable Report

sections with enhanced Dashboard controls into a

visual workspace and hooking up interactivity

between these controls and the native Brio Software

application, an application designer can quickly

create a variety of robust applications.

Dashboard Home A button that returns you to the

Dashboard section designated as the Dashboard

Home section. If you have only one Dashboard

section, Dashboard Home returns to that section. If

you have several Dashboard sections, the default

Dashboard Home is the top Dashboard section in

the Catalog pane. In Design mode you can specify

another Dashboard section to be the Dashboard

Home section.

DaSession When a client needs to perform an

operation such as select, insert, update on a database,

a session is created. The life time of a session

synchronizes with the operation’s duration. Sessions

are created when a client needs to perform

operations on the database and are destroyed when

the operation is considered complete.

data function Computes aggregate values, including

averages, maximums, counts and other statistics,

which summarize groupings of data. You can use

data functions to aggregate and compute data from

the server before it reaches the Results section, or

compute different statistics for aggregated totals and

items in the other analysis sections.

data model A representation of a subset of actual

database tables that acts as a menu for the query-

builder. Data models are the sources for building the

Request, Limit, and Sort lines in a query section. You

create a data model by dragging database tables from

the Catalog pane Table Catalog into the Content

pane. The data model displays database tables

graphically as topics when they are in the Content

pane.

Data models can be distributed through the

Hyperion Intelligence Clients repository and used by

end users to create their own queries.

database function A predefined formula in a

database.

database server A computer that stores database

management system software (DBMS, for example,

Oracle, Sybase, Essbase), and a database shared by a

network of computer clients. Most databases are

used in a client/server environment.

By storing data on a single, powerful machine on a

network, the data is centralized and accessible to

many users. The server ensures that the data is

maintained correctly and serves as a traffic cop to

regulate client machine access to the data. The

server’s computing power is also useful in

computing and filtering data from the database

before it reaches your workstation. For small or

localized databases, your own computer can act as

both database server and client.

Page 856: Hyperion Dashboard

4 Glossary

datatype The type of data stored in a specific

column in a database. For example, data can be

stored as a numeric datatype.

date group A feature in the Results and Table

sections that separates a date into Year, Quarter and

Month columns. The display format for the new

Month column is automatically set to mmm so that

the month names sort chronologically (as opposed

to alphabetically) in the report sections. Quarters are

based on the calendar year, beginning January 1.

designer A client/server-based tool that delivers

query, analysis, and reporting capabilities and

centralized solution administration for developers,

database administrators, and system administrators.

design guide Design guides are similar to grids in

that objects automatically snap to line up with the

design guides. Design guides are placed at user-

specified locations in the work area. There are

horizontal and vertical design guides. The design

guides will draw as a blue line across the work area,

with the ability to drag the guide to any new location.

design mode A toggled environment used to build

and modify Dashboard sections. In Design mode,

you build Dashboard sections with an array of

prebuilt control items and graphic items.

Designers can switch out of design mode to test

Dashboard features and deploy them to end users.

Design mode is only available in Dashboard sections.

Intelligence Clients Navigator users cannot switch to

Dashboard Design mode.

detail view Displays a topic as a database table.

When you select Detail view, the database returns

ten sample rows from the associated table. Each

topic item displays as a database field. Detail view

enables users to browse a sample of the raw data,

which is useful when unfamiliar with the data model

or the underlying data. Users cannot view a meta

topic in Detail view.

dimension In an OLAP database cube, categories of

information are called dimensions. Examples of

dimensions may be Location, Products, Stores, and

Time. In an Intelligence Client, related,

nonquantifiable items in a topic are also referred to

as dimensions, such as Contact or Store Name.

dimension (legend dimension) The current axis

categorization or grouping method. This can be set

to the X, Y, or Z-axis for most chart types. For line

and area charts it can only be set to the Y or Z-axis.

For pie charts it is always set to the X-axis. When you

change the Legend Dimension the color is

distributed along the new axis you change to.

dimension tab In the Pivot section, the tab that

enables you to pivot data between rows and

columns.

dimension table Consists of numerous attributes

about a specific business process. Each row in a

dimension table is unique.

drill anywhere Allows you to drill into and add

items to pivot reports residing in the Results section,

without having to return to the Query section or

trying to locate the item in the Catalog pane. Drill

Anywhere items are broken out as new pivot label

items.

Page 857: Hyperion Dashboard

Glossary 5

drill to detail Allows you to retrieve items from a

data model that are not in the Results section,

without having to rerun the original query. This

feature provides the ability to interactively query the

database and filter the data that is returned. Drill to

Detail sets a limit on the query based on the user’s

selection and adds the returned value as a new pivot

label item automatically.

drilldown Allows you to progressively narrow your

focus on a selected chart category. Very useful when

you have too many categories on a particular axis.

embedded section A Intelligence Client section that

is embedded in a Smart report or other Intelligence

Client section. All embedded sections maintain live

data content and formatting from the original

section. Reprocessing the query, or modifying the

original section automatically updates the embedded

section display.

Explorer A client/server-based tool that delivers

query, analysis, and reporting capabilities for power

users who need to directly access data sources—or to

explore the information organized in prebuilt data

models stored in the repository.

Expression Line Displays displays the JavaScript

syntax for each item displayed in a report. Use this

line to build equations in the Report section. For

ease of use, it can be undocked and resized.

extranet An intranet that is partially accessible to

authorized outsiders. Extranets are secured by user

names and passwords.

fact table A table that stores business activity

measures. Most fact tables are extremely large. Each

row in a fact table contains numeric measures (fully

additive measures, nonadditive measures and/or

semiadditive measures) and foreign keys to each

dimension table.

facts The numeric values that are broken up in the

body of the Pivot section. To add facts to the Pivot,

put Results columns from the Catalog pane into the

Outliner’s Facts pane. Facts are the numeric values in

a relational database that are available to analyze. In

an OLAP Query, they are called measures.

facts/values The data that is being visually

represented, usually a numeric amount (for example,

$15,000)

file server A computer and storage device dedicated

to storing files.

filters In the OLAPQuery section, filters enable you

to define and apply limits to the query once Top or

Side Labels have been added to the query. You set a

filter by applying comparison operators on the

values for a specific member. Additional server-

specific functions are available based on the selected

OLAP database cube. Filters are built to include or

exclude data according to specific criteria. Filters can

be set on any level in a dimension. However, they

must be one of the labels in the Outliner. Filters can

be made of members of one of the dimensions or

selected by a measure. OLE DB for OLAP has other

filter operator types (Top N, Top Sum, Top N %,

Bottom N, Bottom N %, Bottom Sum.) Essbase and

MetaCube have their own operator types. In Essbase

and MetaCube, filters can be done on measures. In

OLE DB for OLAP, filters cannot be placed on

measures.

foreign key A database column or set of columns

included in the definition of a referential integrity

constraint.

fully additive measure Attributes in a table that can

have their values added together across any

dimension.

grain The level of detail at which measures in a

table are recorded is referred to as the grain.

Page 858: Hyperion Dashboard

6 Glossary

grouping columns This feature, in the Results and

Table sections, creates a new column in a dataset by

grouping data from an already existing column.

Grouping columns consolidate nonnumeric data

values into more general group values and map the

group values to a new column in the dataset.

hardwire mode In hardwire mode whenever the

OLAP Query is changed, the database is queried to

fetch new cube data. In contrast, process mode is

manually controlled. You add or remove several

items to the Outliner, and then press Process to

query the database. When determining whether to

use hardwire mode or process mode, consider the

size of the cube in which you are working.

hierarchy In an OLAP database cube, a hierarchy

organizes a dimension’s levels and corresponding

members into parent and child relationships. For the

levels in a Location dimension, the hierarchy would

have Country as the parent of the child City and City

as the parent of the child Address.

home Abstract base interface that some Lightning

interfaces derive from. Provides basic methods to

manipulate and create Bean objects.

HTML See Hypertext Markup Language.

Hypertext Markup Language A programming

language used to create World Wide Web pages, with

hyperlinks and tags that explain how to format the

information on the screen.

icon view Shrinks a selected topic to an icon in the

Content pane. The topic remains part of the data

model, but is deactivated and can not be accessed by

the query. Associated items are removed from the

Request line when a topic is made into an icon, and

the topic is not recognized as joined to other topics.

Icon view is helpful in restricting the use of server

time when a topic is infrequently used, and does not

have to be active at all times.

imported Files Excel, Text, or CSV files imported

into Intelligence Clients. The information in the file

goes into a table or a results object. Imported results

can be used in other queries (like regular results) for

local join purposes.

Indexes Indexes are created in a database to increase

the performance of data retrieval. Just as book

indexes help to locate specific information faster,

database indexes provide a faster access path to table

data. Indexes are created on one or more columns of

a table.

integrity constraints Constraints on tables that

guarantee the data adheres to certain business rules.

Integrity constraints are defined with a table and are

stored as part of the table definition, central to the

database data dictionary, so that all database

applications adhere to the same set of rules.

internal function Built-in formulas, defined in the

Hyperion Intelligence Clients application.

iInternet A global network connecting millions of

computers. Unlike online services, which are

centrally controlled, the Internet is decentralized by

design. Each Internet computer, called a host, is

independent.

interval Equal subdivisions within a given scale. The

interval can be set manually or to best fit.

intranet A network belonging to an organization,

usually a corporation, accessible only by

organization members, employees or other

authorization users. Intranet Web sites look and act

just like any other Web site, but the firewall

surrounding an intranet fends off unauthorized

access.

Page 859: Hyperion Dashboard

Glossary 7

ISAPI This is a shared library that implements

HTTP using Microsoft’s Web server plug-in API

(ISAPI). Thus it is appropriate for customers with

Microsoft Web servers. Functionally it is equivalent

to our CGI. Its advantage is that it is far more

scalable than a CGI executable.

item A visual representation of a database column

that is a member of a topic in the Query section.

Items are used to create queries and reports. For

example, the Customer Topic may have items

including Name, Address, and Phone. You select

items from data model topics to build the Request,

Limit, and Sort lines in the query section.

JavaScript The scripting language for Intelligence

Clients products. Intelligence Clients 8.0 include the

Netscape JavaScript interpreter (version 1.4).

JavaScript and Dashboard’s Object Model allow

application developers to use the full functionality of

the industry-standard scripting language to control

Intelligence Clients applications.

job repository A set of database tables that store a

queue of scheduled jobs. There can be multiple job

repositories in an organization.

join A relational database concept indicating a link

between two topics. A join typically occurs between

identical or similar items within different topics.

Joins allow row records in different tables to be

linked on the basis of shared information in a

column field. For example, a row record in the

Customer table is joined to a related record in the

Orders table when the Customer ID value for the

record is the same in each table. This allows the order

record to be linked with the record of the customer

who placed the order. If you request items from

unjoined topics, the database server has no way to

correlate the information between the two tables and

leads to awkward datasets and run-on queries.

Intelligence Clients display joins visually in the

workspace between topics to indicate joins between

database tables. Users can also create new joins that

are not already specified in the database.

join path A predetermined join configuration for a

data model. Administrators create join paths for

users to select the type of data model needed in a

user-friendly prompt upon processing a query. Join

paths ensure that the correct tables in a complex data

model are used in a query.

JRE (Java Runtime Environment) This is the Java

interpreter used to run the Java Server.

legend box An informative box containing color-

keyed labels to identify the data categories of a given

dimension.

layer Stacks a single object in relative position

(sends back and front, or brings forward or

backward) to other objects.

level Similar types of members in an OLAP database

cube are grouped at the same level. For example,

using the members listed in a Location dimension,

France, the USA, and Japan belong to the Country

level. Paris, Palo Alto, and Tokyo belong to the City

level. 35 Main Street belongs to the Address level.

limit Constraints placed on topic items or request

line items to limit them to a certain set of values.

Limits appear on the limit line in Intelligence

Clients. For example, although the database may

display worldwide sales figures for all stores, you

may only want to see sales for stores in Germany.

Limits make data sets retrieved through a query

more efficient and manageable by filtering out

unnecessary information.

Page 860: Hyperion Dashboard

8 Glossary

limit joins Joins between a database table and a

local results object. The topic item being joined is

limited by the values of the column being joined in

of the local results object. A limit join is one of the

options that you can choose in a Modify Join

operation between a topic item and a local results

item.

linked data model Documents that are linked to a

master copy in a repository. When changes are made

to the master, users are automatically updated with

the changes when they connect their duplicate copy

to the database.

local computed meta topic items Computed item

definitions evaluated by the Intelligence Client

results engine. Local computed items are created to

be meta topic items. They can be dragged to the

request line like regular topic items. The only

difference is that the results engine evaluates these

items as opposed to the database.

local joins A join between a local results object and

a database table or another local results object.

Intelligence Clients perform the actual join in this

case.

local limits Limits placed on the local dataset in the

Results section, as opposed to the Query section.

Limits in the Query section restrict the data retrieved

by the query to the desktop. Local limits screen data

from view in the Results set; although it is still there,

you cannot see the data that has been excluded or use

it in reports unless the limit is removed.

local Results Results of other queries within the

same data model. These results can be dragged into

the data model to be used in local joins. Local results

are displayed in the catalog when requested.

locked data model Data Models that are locked

cannot be modified by a user.

Manager See Server.

master data model A Data Model that exists

independently and has multiple queries that

reference it as a source. When using a master data

model, the text “Locked Data Model” appears in the

Content pane of the Query section. This means that

the data model is linked to the master data model

displayed in the Data Model section, which may be

hidden by an administrator.

MDX (Multi Dimensional eXpression) The

language used to give instructions to OLE DB for

OLAP- compliant databases (MS Plato), as SQL is

the language used for relational databases. When you

build the OLAPQuery section’s Outliner,

Intelligence Clients translate your requests into

MDX instructions. When you process the query,

MDX is sent to the database server. The server

returns a collection of records to your desktop that

answer your query. See SQL.

Page 861: Hyperion Dashboard

Glossary 9

measures Numeric values in an OLAP database

cube that are available for analysis. Measures may be

margin, cost of goods sold, unit sales, budget

amount, and so on. See Facts.

members In an OLAP database cube, members are

the content values for a dimension. In the location

dimension, they could be Palo Alto, Paris, Tokyo, 35

Main Street, USA, France, Japan, and so on. These

are all member values for the location dimension.

metatopic A customized, virtual topic, built from

regular topics that reflects the exact topic and item

structure of database tables. Metatopics allow items

from disparate topics to be consolidated in a single

topic, simplifying its appearance and reducing its

conceptual resemblance to the underlying database

structure. You can choose to view a data model in

terms of its original topics, metatopics, or a

combination of both.

metadata Data about data. Stored in database tables,

metadata describes the history, content, and

function of database tables, columns and joins in

understandable business terms. Metadata can

overcome the awkward names or ambiguous

abbreviations often used in a database. For example,

in a table named CUST_OLD, metadata may use a

descriptive business name, such as Inactive

Customers.

mime type A browser mapping of a file type to

either a helper application or a plug-in. When a

browser attempts to open a file of a particular mime

type, it either loads the associated plug-in or

launches the associated helper application. A file’s

mime type is determined either by a) the file

extension or b) the HTTP header. Plug-ins tell

browsers what mime types they support and what

file extensions correspond to that mime type.

Hyperion’s web based products support the

following mime types: application/x-brioquery mime

type (for .bqy files). This is the default mime type

our web based products support and are ordinary

Hyperion files. application/x-brioquerydata (for .bqd

files). These are data files in text or Excel format,

whose extension has been changed to .bqd. When a

Hyperion Web client is launched to open a BQD file,

it imports the data and executes any Hyperion

Intelligence Client or web client script or JavaScript

the file contains.

morphing Mechanism by which Hyperion’s web

based products provide document security.

multidimensional database A database that stores

data in a format often referred to as a cube, such

Essbase, MS OLAP, MetaCube, and so on. See also

Relational database and OLAP database.

nonadditive measure Attributes in a table that

cannot be added across any dimension, such as a

percentage value (for example, margin rate).

NSAPI A shared library that implements HTTP

using Netscape’s Web server plug-in API (NSAPI). It

is equivalent to our CGI. Its advantage is that it is far

more scalable than a CGI executable.

Page 862: Hyperion Dashboard

10 Glossary

Nesting Nesting means that one set of data values

appears as a sub-division within each of the data

values at a higher level of data. For example in the

Pivot section, if you place more than one data label

in an Outliner panel, the Pivot report displays the

second set of labels inside each of the labels of the

first data items. The second labels are nested within

the first. This means they represent sub-divisions

with another "higher level" category.

null value A null value is absent of data. Null values

are not equal to zero.

OCE See Open Catalog Extension Files.

OCE Wizard Wizard or set of screens used to create

a new OCE or modify an existing OCE.

OLAP database A database that stores its

information in cubes. Cubes contain dimensions and

measures. A cube can have dozens of dimensions.

Cubes are built to hold aggregated data, which

anticipate how users think about business models.

Cubes deliver this information efficiently and

quickly.

OLAPQuery section Analyzes and interacts with

data stored in an OLAP cube. When you use

Intelligence Clients to connect to an OLAP cube, the

document immediately opens an OLAPQuery

section. The OLAPQuery section displays the

structure of the cube as a hierarchical tree in the

Catalog pane. Queries are built by dragging measures

and dimension levels or members directly into the

Outliner panes.

OOA Object Oriented Analysis.

OOA&D Object-Oriented Analysis & Design.

Open Catalog Extension Files Encapsulate and

store connection information used to connect

Hyperion applications to a database. OCE files

specify the database API (ODBC, SQL*Net, etc.),

database software, the network address of the

database server, and your database user name. Once

created, a user can specify the OCE file and database

password and logon. An OCE file is required for a

Intelligence Clients document to use a database. the

file extension is .oce.

Open Client DBLib API to connect to Sybase,

Redbrick, SQL Server, and so on.

Open Metadata Interpreter The Tables, Columns,

Joins, Lookups and Remarks tabs available in the

connection wizard when you edit a custom metadata

source. These tabs allow Hyperion administrators to

specify a customer source of metadata that can be

accessed through SQL statements, and provided to

end users with data models.

Outliners Drag-and-drop command lines used in

the Pivot, Chart, OLAPQuery and Report sections.

Each Outliner pane corresponds to a specific layout

element of the report. When an item is dragged to an

Outliner pane, the item assumes the layout attributes

of the respective report element. Data appears

simultaneously in the Content pane with the

appropriate formatting.

pivot dimension A row or column of labels that

corresponds to an item in the Catalog pane.

Pivot section The section used to create crosstab

reports and analyze data.

pivot table Analytical tools that resemble

spreadsheets or crosstabular reports. A pivot table

overlays a dynamic datacube, which allows data to be

sliced and diced for ad-hoc, interactive, and

multidimensional analysis.

Page 863: Hyperion Dashboard

Glossary 11

pivoting In the Pivot section, the ability to change a

label from a top to a side (or a side to a top)

orientation with a simple click and swing of the

label’s Dimension tab.

plot area The area bounded by the X-, Y-, and

Z-axis. For pie charts, it is the rectangular area

immediately surrounding the pie.

predefined drill paths Enables a user to drill

directly to the next level of detail, as defined in the

data model.

primary key A database column or set of columns

included in the table definition of the PRIMARY

KEY constraint. Primary key values uniquely identify

the rows in a table. Only one primary key is defined

per table.

query A set of database instructions to return an

answer set to a specific question. Each row returned

in the Results section of a document is an answer to

the question posed in the Query section.

query computed items Item definitions created by

the user. This can include other request line items or

topic items and or database functions. The definition

is sent to the database and the database evaluates

them.

Query Log Log of all SQL statements sent to the

database (also referred to as SQL Log).

relational database A database that stores its

information in tables related or joined to each other

by common pieces of information called keys. Tables

are subdivided into column fields that contain

related information. Column fields have parents and

children. For example, the Customer table may have

columns including Name, Address, and ID number.

Each table contains row records that describe

information about a singular entity, object, or event,

such as a person, product, or transaction. Row

records are segmented by column fields. Rows

contain the data that you retrieve from the database.

Database tables are linked by Joins. (See also join)

report Group In the report section, embedded

reports and tables are grouped by other data items.

Items placed in the Groups Outliner break

information into these dimensional groupings. For

example, your table may include the name, contact

information, and sales for each of your distributors.

This table gains in clarity when broken into

groupings that classify the stores by geographical

region, year, or both.

Report section A dynamic, analytical report writer,

that provides users with complex report layouts and

easy to use report building tools. Pivot tables, tables,

and charts can be embedded in a report. The report

structure is divided into group headers and body

areas, with each body area containing a table of data.

Tables are created with dimension columns and fact

columns. These tables are elastic structures. Multiple

tables can be ported into each band, each originating

from the same or different result sets.

repository Central location used to store data

models, queries and queries with reports. Repository

is usually a database chosen by the user.

Request Line Holds the list of items requested from

the database server and that will appear in the user’s

results.

Page 864: Hyperion Dashboard

12 Glossary

Request Line items Columns listed in the request

line.

Results section A section in an Intelligence Client

document that contains the dataset derived from a

query. Data is massaged in the Results section for use

in the report sections.

run mode A toggled environment used to test

Dashboard sections. It simulates a Navigator user’s

view of the section. In Run mode, you can not add

any features, but you can use features that are part of

the deployed Dashboard sections. See also Dashboard

and design mode.

scalar function Scalar functions (in contrast to data

functions) do not aggregate data or compute

aggregate statistics. Instead, scalar functions

compute and substitute a new data value for each

value associated with a data item.

scale The range of values that allow you to gauge

how much each category represents. This range can

be either at equal intervals or at logarithmic interval.

The scale can be set manually or to best fit.

script A series of instructions for a computer.

Scripts are activated when an event occurs, such as

clicking a button or selecting an item from a drop

down list. Intelligence Clients’s scripting language is

JavaScript.

Section pane Lists all the sections that are available

in the current Intelligence Client document.

Section Title Bar A navigational aid under the

toolbars that provides a means of moving between

sections and toggling section-specific tools and

gadgets, such as the outliner.

semiadditive measure Attributes in a table that can

be summarized across some dimensions, but not all.

server computed meta topic items Metatopic item

definitions created by the user. These items can use

any of the database functions available, or any of the

other topic items in the data model. These items are

evaluated by the database.

Session Socket (DaSessionSocket) Abstracts

session information specific to each database or API.

simple join Retrieves rows to create a query where

the values in joined columns match.

slicer An axis that filters the data in an OLAPQuery.

Only individual members can be used in a slicer. A

slicer can be thought of as a third axis in a OLAP

Query. The other axis are the Side Labels and the

Top Labels. Every dimension folder contains a

members subfolder named “Values for…” that

dimension. This subfolder contains the members

that are eligible for the slicer.

snapshot A a local (readonly) copy of table data

that originates from one or more remote master

tables.

spring A tool which allows you to maintain O

relative vertical spacing between dynamic

objects. That is, you can "spring" one object to

another so that if the first object is moved, increased

or diminished, the second object moves in the same

flow.

sort Conditions placed on request line items to sort

the results in ascending or descending order. These

are displayed in the sort line in an Intelligence Client.

SQL See Structured Query Language.

SQL Net Oracle’s native API to connect to an

Oracle database.

Page 865: Hyperion Dashboard

Glossary 13

stacked charts A chart where the categories are

viewed on top of one another for visual comparison.

This type of chart is useful for subcategorizing within

the current category. Stacking can be used from the

Y- and Z-axis in all chart types except pie and line.

When stacking charts the Z-axis is used as the

Fact/Values axis.

Stored Procedure Precoded queries in languages

other than SQL. This is a feature available in some

database software. Intelligence Clients can run stored

procedures and retrieve the Results.

Structure View A view that displays a topic as a list

of component items allowing users to see and

quickly select individual data items. Structure view is

the default view setting.

Structured Query Language The language used to

give instructions to relational databases. When you

build the query section’s Request, Limit, and Sort

lines, Intelligence Clients translate your requests into

SQL instructions. When you process the query, the

SQL instructions are sent to the database server. The

server returns a collection of records to your desktop

that answers your query. This reply is displayed as

the Results section. You can look at the SQL

generated by a query in the Query Log, or code a

query directly in SQL using the Custom SQL

window.

subquery A query embedded within another query.

surface values A setting in the Pivot section to base

aggregate calculations on the values in the report,

rather than the values in the Results section.

synonym An alias for a database table or view. It is a

direct reference to a table view.

table The basic unit of data storage in a database.

Database tables hold all of the user-accessible data.

Table data is stored in rows and columns.

Table Catalog Displays tables, views, and synonyms

to which users have access. Users drag tables from

the Table catalog to the Content pane to create data

models in the Query section.

Table section Used to create tabular-style reports. It

is identical in functionality to the Results section,

including grain level (table reports are not

aggregated). Other reports can stem from a Table

section.

top and side labels In the Pivot section, labels are

the column and row headings on the top and sides of

the pivot. These define categories by which the

numeric values are organized.

topic A a visual representation of a database table in

the Content pane. Topics are part of data models

displayed in the Query section and can contain one

or more items.

topic items Individual items in a topic or

metatopic.

topics Visual representation of tables in the

database, related by joins that link certain items in

each topic. Each topic title bar displays the topic’s

name. The topic shows a list of items, one for each

column in the database table.

underlying values Another name for Results values.

When Use Surface Values is disabled in a Pivot

section, aggregate calculations are based on values in

the Results section.

Union/Intersection/Minus Queries Queries

created to perform set operations such as Union,

Intersection, and Minus. These queries are created

by the Append Query option.

variable limits Limits that prompt users to enter or

select limit values before the queries are processed on

the database.

Page 866: Hyperion Dashboard

14 Glossary

view A custom-tailored presentation of the data in

one or more database tables. Views do not actually

contain or store data; rather, they derive their data

from the tables on which they are based, referred to

as the base tables of the views.

web client A Web tool that delivers query, analysis,

and reporting functionality for intranet, Internet, or

extranet access to information. Based on user

profiles or report-level security, the client

environment adapts in six stages from full query,

analysis, and reporting with data refresh to static

report viewing.

Weighted averages Weighted averages can also be

used to apply different levels of importance to a

given item. To calculate a weight you take the

expected amount divided by the actual amount.

World Wide Web (WWW) A system of Internet

servers that support specially formatted documents.

The documents are formatted in a language called

HTML (HyperText Markup Language) that supports

links to other documents, as well as graphics, audio,

and video files.

zoom Sets the magnification of a report. Sets the

magnification of the report. The report can be

magnified to fit the whole page, page width or a

percentage of magnification based on 100%.

Page 867: Hyperion Dashboard

Index

Symbols

.bmp, 1-7

A

Accessibility (Property), 6-2

Activate (Method), 5-2

Active (Property), 6-4

active document level, 8-4

ActiveDocument (Object), 4-2

ActiveSection (Object), 4-3

AdaptiveState (Property), 6-6

Add (Method), 5-3

AddAll (Method), 5-6

AddAllTopics (Method), 5-7

AddComputed (Method), 5-8

AddComputedItem (Method), 5-9

AddDrillThroughValue_meth, 5-11

AddDrillValue (Method), 5-16

AddExportSection (Method), 5-13

AddFilter (Method), 5-12, 5-16

AddFilterValue (Method), 5-16, 5-18

adding

items to the request line, 9-9

joins, 9-8

topics to a data model section, 9-7

AddTopic (Method), 5-20

AddTotal (Method), 5-21

AddTotals (Method), 5-22

AdjustableValueAxisScal (Property), 6-7

AggregateLimits (Collection), 4-4

Alert (Method), 5-23

AliasTable (Method), 5-24

Alignment (Property), 6-8

AllowNonJoinedQueries (Property), 6-9

API (Property), 6-10

AppendQueries (Collection), 4-7

Application (Object), 4-10

application level, 8-3

applications, components of scripted, 3-2

AreaChart (Object), 4-12

assignment operators

versus comparison operators, 3-26, 10-4

AttributeDimension (Property), 6-11

AuditSQL (Method), 5-25

AutoAlias (Property), 6-12

AutoCommit (Property), 6-13

AutoFrequency (Property), 6-14

AutoInterval (Property), 6-15

AutoJoin (Property), 6-16

automation controller, OLE, 3-22

AutoProcess (Property), 6-17

AutoResize (Property), 6-35

AutoScale (Property), 6-19

AutoSizeHeight (Method), 5-27

AutoSizeWidth (Method), 5-28

AvailableValues (Collection), 4-13

AvailableValues (Property), 6-20

Page 868: Hyperion Dashboard

2 Index

AxisItems (Collection), 4-14

AxisLabels (Collection), 4-15

AxisPlotValues (Property), 6-21

AxisType (Property), 6-22

B

background and border properties, 1-16 – 1-18

BackgroundAlternateColor (Property), 6-23

BackgroundAlternateFrequency (Property), 6-25

BackgroundColor (Property), 6-26

BackgroundShowAlternateColor (Property), 6-28

BarChart (Object), 4-16

BarLineChart (Object), 4-17

BeginLimitName (Property), 6-29

BMP files, 1-7

Body (Object), 4-18

BorderColor (Property), 6-30

BorderWidth (Property), 6-32

BottomMargin (Property), 6-33

boxes, 1-7

break statements

using, 3-18

browser, Object, 2-11

BrushStyle (Property), 6-34

buttons

command, 1-7

radio, 1-7

bypassing

errors, 3-32, 10-11

C

Call (Method), 5-29

calling functions, 3-4

case-sensitive code, 3-26, 10-3

Catalog pane

in Design and Run modes, 1-5

CategoryItems (Collection), 4-19

Chart section, 8-7

ChartSection (Object), 4-21

ChartThisPivot (Method), 5-30

ChartType (Property), 6-35

check boxes

definition, 1-7

Checked (Property), 6-36

checking errors, Console window and, 2-14

Close (Method), 5-31

Clusterby (Property), 6-38

code entry, 3-31, 10-11

code, case-sensitive, 3-26, 10-3

collection, definition, 2-3

Color (Property), 6-39

Column (Object), 4-23

Columns (Collection), 4-24

ColumnType (Property), 6-40

command buttons

definition, 1-7

commands, EIS section, 1-28

components, of scripted applications, 3-2

conditional statements, 3-9

conditional tests, 3-27, 10-5

Connect (Method), 5-32

Connected (Property), 6-41

Connection (Object), 4-25

connection files, scripting, 9-6

Console (Object), 4-27

Console window, using to check errors, 2-14

constant, definition, 2-3

consulting services, 4-xxxiii

ContainsHybridAnalysisData (Property), 6-42

continue statements

using, 3-17

Control (Object), 4-28

control events, 2-7, A-21

control objects

events associated with, 2-7, A-21

list of, 1-6

controller, OLE automation, 3-22

Page 869: Hyperion Dashboard

3

controlling graphics and controls visibility, example, 9-5

controls

enabling and disabling, 9-4

Controls (Collection), 4-29

ControlsCheckBox (Object), 4-30

ControlsCommandButton (Object), 4-31

ControlsDropDown (Object), 4-32

ControlsListBox (Object), 4-33

ControlsRadioButton (Object), 4-34

ControlsTextBox (Object), 4-35

Cookies (Collection), 4-36

Copy (Method), 5-34

CornerLabels (Object), 4-40

Count (Property), 6-43

CreateConnection (Method), 5-35

CreateDateGroup (Method), 5-36

CreateLimit (Method), 5-37

creating

EIS sections, 1-4

OCEs (connection files), 9-6

variable limits, 9-10

CSSExport (Property), 6-46

CubeName (Property), 6-44

CurrentDir (Property), 6-45

CustomSQL (Property), 6-47

CustomSQLFrom (Method), 5-39

CustomSQLWhere (Method), 5-41

CustomValues (Collection), 4-42

Cutting Script, 2-12

D

data models, downloading, 9-7

Database (Property), 6-49

DatabaseList (Property), 6-51

DatabaseName (Property), 6-52

DatabaseTotals (Property), 6-53

DataFunction (Property), 6-55

DataLabels (Object), 4-45

DataModelSection (Object), 4-46

DataType (Property), 6-57

Date Field (Object), 4-48

DateNow Field (Object), 4-49

DateTime Field (Object), 4-50

DateTimeNow Field (Object), 4-51

DBLibAllowChangeDatabase (Property), 6-58

DBLibApiSeverity (Property), 6-59

DBLibDatabaseCancel (Property), 6-60

DBLibPacketSize (Property), 6-61

DBLibServerSeverity (Property), 6-62

DBLibUseQuotedIdentifiers (Property), 6-63

DBLibUseSQLTable (Property), 6-64

DBSpecific (Object), 4-52

DecimalPlaces (Property), 6-65

default

mode, 1-5

DefinedJoinPath (Object), 4-55

DefinedJoinPaths (Collection), 4-53

defining functions, 3-3, 3-5

deleting

EIS sections, 1-4

objects, 1-8

DerivableQueries (Collection), 4-57

DerivableQuery (Object), 4-56

DerivedItem (Object), 4-62

DerivedTable (Object), 4-60

DerivedTables (Collection), 4-61

Description (Property), 6-66

Description pane, 2-13

design guides, 1-24

Design Guides command, 1-28

Design mode, 1-5

Design/Run Mode command, 1-28

designing scripts, 3-30, 10-9

DesktopClient (Object), 4-62

DHTMLExportBreakRowCount (Property), 6-67

DHTMLVerticalPageBreakUnits (Property), 6-68

Page 870: Hyperion Dashboard

4 Index

Dimension (Object), 4-63

Dimensions (Collection), 4-65

disabling controls, 9-4

Disconnect (Method), 5-42

Display (Property), 6-69

displaying

connection login boxes, 9-6

rulers, 1-25

Table catalog, 9-7

values in text boxes, 9-2

DisplayMode (Property), 6-70

DisplayName (Property), 6-72

DMCatalog (Object), 4-66

DMCatalogItem (Object), 4-67

DMCatalogItems (Collection), 4-68

do...while statements

using, 3-15

Document (Object), 4-69

document level

active, 8-4

documents

conventions used, 4-xxxii

feedback, 4-xxxiv

ordering print documents, 4-xxxii

Documents (Collection), 4-71

documents, accessing

Hyperion Download Center, 4-xxxi

Hyperion Solutions Web site, 4-xxxi

Information Map, 4-xxxi

online help, 4-xxxi

DoEvents (Method), 5-43

downloading data models, 9-7

DrillDownOption (Property), 6-74

DrillInto (Method), 5-46

DrillThrough (Method), 5-46

DrillUp (Method), 5-47

drop-down boxes

definition, 1-7

Duplicate (Method), 5-48

E

education services, 4-xxxiii

Effect (Property), 6-76

EIS section

control objects, 1-7

creating, 1-4

default mode, 1-5

definition, 1-1, 2-1, 10-1, A-1

enabling and disabling controls, 9-4

events, 2-6, A-20

graphic objects, 1-6

layout tools in, 1-24

menu commands, 1-28

object model map, 8-6

properties, 1-22

renaming, 1-4

toolbar, 1-26

EISSection (Object), 4-72

EmbeddedBrowser (Object), 4-73

embedding objects, 1-7

EnableAsyncProcess (Property), 6-77

Enabled (Property), 6-78

EnableForHybridAnalysis (Property), 6-79

EnableNullFactsInComputedItems (Property), 6-80

EnableTransActionMode (Property), 6-81

enabling controls, 9-4

EndLimitName (Property), 6-82

entering code, 3-31, 10-11

errors

bypassing, 3-32, 10-11

checking using the Console window, 2-14

events, 2-4

Events (Collection), 4-72

example scripts, 9-5

ExecuteBScript (Method), 5-49

Page 871: Hyperion Dashboard

5

ExecuteBScript_meth, 5-49

ExecuteOnPostProcess (Property), 6-83

ExecuteOnPreProcess (Property), 6-84

ExecuteOnShutDown (Property), 6-85

ExecuteOnStartup (Property), 6-86

Execution window, using to test scripts, 2-14

Executive Information Systems, 1-1

Export (Method), 5-50

exporting scripts, 3-24

ExportToStream (Method), 5-52

ExportWithoutQuotes (Property), 6-87

F

Facts (Collection), 4-74

Facts (Object), 4-75

Field (Object), 4-76

Fields (Collection), 4-77

Filename (Property), 6-88

FilePath (Property), 6-89

files

BMP, 1-7

text, exporting scripts to, 3-24

FillFormat (Object), 4-78

FillUnderRibbon (Property), 6-90

Finding/Replacing Script, 2-14

Focus (Property), 6-91

FocusSelection (Method), 5-54

Font (Object), 4-79

FontColor (Property), 6-92

FontEffect (Property), 6-92

FontName (Property), 6-92

FontSize (Property), 6-92

FontStyle (Property), 6-92

Footer (Object), 4-82

for statements

using, 3-14

for...in statements

using, 3-19

Form (Collection), 4-83

Formatting (Object), 4-89

Formula (Property), 6-92

FullName (Property), 6-93

functions

calling, 3-4

defining, 3-3

G

GetCell (Method), 5-55

getting

help with problem scripts, 3-33, 10-12

properties of object, example, 9-3

graphic objects

events associated with, 2-6, A-20

list of, 1-6

graphics and controls, controlling the visibility of, 9-5

graphics, inserting, 1-28

GraphicsFileType (Property), 6-94

Grid command, 1-28

grids, 1-25

Group (Object), 4-90

Group (Property), 6-95

GroupItem (Object), 4-92

GroupItems (Collection), 4-93

Groups (Collection), 4-91

guides, design, 1-24

H

HardwireMode (Property), 6-96

Header (Object), 4-94

headers, page, turning off, 9-11

Height (Property), 6-97

help, online, 2-13

Hide (Method), 5-56

Page 872: Hyperion Dashboard

6 Index

HideSelection (Method), 5-57

hierarchy, object model, 8-2

Home Dialog command, 1-28

horizontal lines, 1-6

HorizontalAlignment (Property), 6-98

HostName (Property), 6-99

HTMLBoundaryHeight (Property), 6-100

HTMLBoundaryMode (Property), 6-101

HTMLBoundaryWidth (Property), 6-102

HTMLDisplayViews (Property), 6-103

HTMLExportBreakColCount (Property), 6-104

HTMLExportBreakRowCount (Property), 6-105

HTMLHorizontalPageBreakEnabled (Property), 6-106

HTMLMaxBarsDisplayed (Property), 6-108

HTMLPregenerateFirstLastNPages (Property), 6-109

HTMLPregenerateFirstLastNViews (Property), 6-110

HTMLPregenerateMode (Property), 6-111

HTMLSyncScrollingProps (Property), 6-113

HTMLVerticalPageBreakEnabled (Property), 6-109

HTMLVerticalPageBreakUnits (Property), 6-115

HybridAnalysis (Property), 6-116

Hyperion Consulting Services, 4-xxxiii

Hyperion Download Center

accessing documents, 4-xxxi

Hyperion Education Services, 4-xxxiii

Hyperion product information, 4-xxxiii

Hyperion Solutions Web Site

accessing documents, 4-xxxi

Hyperion support, 4-xxxiii

Hyperion Technical Support, 4-xxxiv

HyperLink (Object), 4-95

I

if statements, inline, 3-10

if...else statements

using, 3-9

Ignore (Property), 6-116

ImportDataFile (Method), 5-58

ImportSQLFile (Method), 5-59

IncludeInProcessAll (Property), 6-117

IncludeNulls (Property), 6-119

including

limit values in URLs submitted to ODS, 9-11

Index (Property), 6-120

inline if statements, 3-10

Insert Control command, 1-28

Insert Graphic command, 1-28

inserting

EIS objects, 1-7

EIS sections, 1-4

Intelligence Clients

scripting applications in, 3-2

Intelligence Clients object model See object model

InterruptQueryProcess (Method), 5-60

IntervalFrequency (Property), 6-121

Item (Method), 5-61

Item (Object), 4-96

ItemIndex (Method), 5-63

Items (Collection), 4-97

J

JavaScript

case-sensitivity, 3-26, 10-3

entering syntax, 3-31, 10-11

examples, 9-1

improving performance, 3-29, 10-8

manipulating objects with, 3-19

OLE automation controller within, 3-22

sample, 2-13

troubleshooting, 3-25, 10-1

Join (Object), 4-98

Joins (Collection), 4-99

JoinsOptions (Collection), 4-101

JOOLE, 3-22

Page 873: Hyperion Dashboard

7

-jscriptcmd, 3-2

K

KeepTogether (Property), 6-123

KeepWithNext (Property), 6-122

L

labeled statements, 3-16

using, 3-16

LabelFrequency (Property), 6-124

labels, text, 1-7

LabelsAxis (Object), 4-103

LabelText (Property), 6-125

LabelValues (Object), 4-104

LastPrinted (Object), 4-105

LastPrinted Field (Object), 4-106

LastSaved (Object), 4-107

LastSaved Field (Object), 4-108

LastSQLStatement (Property), 6-126

Layer (Method), 5-64

layout tools, 1-24

LeftAxis (Object), 4-109

LeftMargin (Property), 6-127

Legend (Collection), 4-111

Legend (Object), 4-110

Limit (Object), 4-113

Limits (Collection), 4-115

LimitValues (Collection), 4-118

LimitValueType (Property), 6-128

LineChart (Object), 4-120

LineColor (Property), 6-129

LineFormat (Object), 4-121

lines, 1-6

list box

definition, 1-7

LoadFromFile (Method), 5-66

LoadSharedLibrary (Method), 5-67

LocalJoins (Collection), 4-122

LocalResults (Collection), 4-123

LocalResultsTopicItems (Collection), 4-126

LogicalOperator (Property), 6-129

loop statements, 3-14

M

MaintainState (Property), 6-130

manipulating objects with JavaScript, 3-19

map, object model, 8-1

MarkerBorderColor (Property), 6-130

MarkerFillColor (Property), 6-131

MarkerSize (Property), 6-132

MarkerStyle (Property), 6-133

MaxBarsPrinted (Property), 6-136

MaximumBarsEnabled_pro, 6-135

member, OLAP, 1-9

menu commands, EIS section, 1-28

MetaDataConnection (Object), 4-127

MetadataPassword (Property), 6-136

MetadataUser (Property), 6-137

MetaFileChoice (Property), 6-138

methods

definition, 2-3

Microsoft automation interfaces, 3-21

MinFontSize (Property), 6-139

models, data, downloading, 9-7

modes, switching between Design and Run, 1-5

ModifyComputed (Method), 5-68

ModifyRepositoryFileBQY (Method), 5-70

ModifyRepositoryFileBQYJob (Method), 5-74

ModifyRepositoryFileOther (Method), 5-69

ModifyRepositoryFileSQRJob (Method), 5-75

Move (Method), 5-76

MS Excel, 3-22

MS Outlook, 3-22

MultiSelect (Property), 6-140

N

Name (Property), 6-141

naming EIS sections, 1-4

Page 874: Hyperion Dashboard

8 Index

Navigation (Object), 4-129

Navigation toolbar, 1-27

navigation, object model, 8-1

Negate (Property), 6-143

New (Method), 5-77

NumberFormat (Property), 6-144

O

Object browser, 2-11

object level events, 2-5, A-20

object model

description pane, 2-13

hierarchy, 8-2

map, 8-1

Microsoft automation interfaces, 3-21

navigating, 8-1

online help, 2-13

terminology, 2-2 – 2-3

object properties

setting with JavaScript, 9-3

objects

control, 1-6, 2-7

definition, 2-3

deleting, 1-8

embedding, 1-7

graphic, 1-6, 2-6, A-20

in Catalog pane, 1-5

inserting, 1-7

manipulating with JavaScript, 3-19

section, 1-6

ODBCDatabasePrompt (Property), 6-145

ODBCEnableLargeBufferMode (Property), 6-146

ODSUsername (Property), 6-147

OLAP, member, 1-9

OLAPCatalog (Object), 4-130

OLAPConnection (Object), 4-132

OLAPDimensions (Collection), 4-133

OLAPLabel (Object), 4-134

OLAPLabels (Collection), 4-135

OLAPLevelOrHierarchy (Collection), 4-139

OLAPMeasure (Object), 4-140

OLAPMeasures (Collection), 4-141

OLAPQuery section, object model map, 8-9

OLAPQuerySection (Object), 4-142

OLAPSlicer (Object), 4-143

OLAPSlicers (Collection), 4-144

OLAPValues (Collection), 4-145 – 4-146

OLE automation controller, 3-22

OnActivate (Method), 5-78

OnChange (Method), 5-80

OnClick (Method), 5-81

OnClientChange (Method), 5-81

OnClientEnter (Method), 5-83, 5-88

OnClientExit (Method), 5-84

OnDeactivate (Method), 5-85

OnDoubleClick (Method), 5-86

OnEnter (Method), 5-87

OnExit (Method), 5-88

online help, 2-13

OnPostProcess (Method), 5-89

OnPreProcess (Method), 5-90

OnRowDoubleClick (Method), 5-91

OnSelection (Method), 5-92

OnShutdown (Method), 5-93

OnStartup (Method), 5-94

Open (Method), 5-95

OpenURL (Method), 5-96

Operator (Property), 6-148

Orientation (Property), 6-150

ovals, 1-7

Owner (Property), 6-151

Page 875: Hyperion Dashboard

9

P

page headers, turning off for first page in reports, 9-11

PageBreak (Property), 6-152

PageCount Field (Object), 4-147

PageFooter (Object), 4-148

PageHeader (Object), 4-149

PageNm (Object), 4-150

PageXofY Field (Object), 4-151

Parentheses (Collections), 4-153

Parentheses (Object), 4-155

ParentName (Property), 6-153

Password (Property), 6-154

Path (Property), 6-155

Path Field (Object), 4-156

PathSeparator (Property), 6-156

Pattern (Property), 6-157

PhysicalName (Property), 6-158

pictures, 1-7

PieChart (Object), 4-157

Pivot section, object model map, 8-8

PivotFact (Object), 4-158

PivotFacts (Collection), 4-159

PivotLabel (Object), 4-160

PivotLabels (Collection), 4-161

PivotLabelTotal (Object), 4-162

PivotLabelTotals (Collection), 4-163

PivotSection (Object), 4-165

PivotThisChart (Method), 5-97

PivotTo (Method), 5-98

PlugInClient (Object), 4-166

PrintAllViews (Property), 6-160

PrintOut (Method), 5-99

Process (Method), 5-100

ProcessAll (Method), 5-101

ProcessEventOrigin (Property), 6-161

processing queries

using prompt for database logon, 9-11

ProcessSequenceNumber (Property), 6-162

ProcessStoredProc (Method), 5-102

ProcessToTable (Method), 5-103

Prompt (Property), 6-165

Prompt To Save dialog box, turning off, 9-11

properties

background and border, 1-16 – 1-18

definition, 2-3

retrieving object, 9-3

setting EIS, 1-22

setting object, 9-3

Properties command, 1-28

Q

Query section, object model map, 8-5

Query SQL (Object), 4-169

QueryCount (Property), 6-166

QueryInProcess (Property), 6-167

QuerySection (Object), 4-167

QuerySize (Property), 6-168

Quit (Method), 5-104

R

radio buttons

definition, 1-7

Recalculate (Method), 5-105

recalculating results, 3-29, 10-8

RecentFiles (Collection), 4-170

rectangles, 1-6

references

syntax, 3-29, 10-7

Refresh (Method), 5-106

RefreshAvailableValues (Method), 5-107

RefreshData (Property), 6-169

RefreshDataNow (Method), 5-108

Remove (Method), 5-109

Remove Selected Items command, 1-28

RemoveAll (Method), 5-111

RemoveAllTopics (Method), 5-112

Page 876: Hyperion Dashboard

10 Index

RemoveExportSection (Method), 5-113

RemoveFilterValue (Method), 5-114

RemoveTopic (Method), 5-115

RemoveTotal (Method), 5-116

Removing a section programmatically, 5-110

renaming, EIS sections, 1-4

Report section

object model map, 8-8

toolbar, 1-26

ReportChart (Object), 4-172

ReportCharts (Collection), 4-171

ReportFooter (Object), 4-173

ReportGroup (Object), 4-174

ReportHeader (Object), 4-175

ReportName Field (Object), 4-176

ReportPivot (Object), 4-177

ReportPivots (Collection), 4-178

reports, turning off page headers for first page in, 9-11

ReportSection (Object), 4-179

ReportTable (Object), 4-180

ReportTables (Collection), 4-181

Repository (Property), 6-171

RepositoryBQYSection (Property), 6-172

RepositoryBQYToolbarType (Property), 6-173

RepositoryDocument (Property), 6-174

RepositoryFileName (Property), 6-175

RepositoryFileType (Property), 6-175

RepositoryJobFilename (Property), 6-176

RepositoryJobRun (Property), 6-177

RepositoryParams (Property), 6-178

RepositorySmartcut (Property), 6-179

Request (Object), 4-182

Requests (Collection), 4-183

ResetCustomerSQL (Method), 5-117

ResetPrintProperties (Property), 6-180

ResizeToBestFit (Method), 5-118

Result Limit (Object), 4-184

Results (Collection), 4-186

Results (Object), 4-185

Results section, object model map, 8-8

results, recalculating, 3-29, 10-8

RetrieveDimensions (Method), 5-119

retrieving object properties, 9-3

RightAxis (Object), 4-187

RightMargin (Property), 6-181

Rotation (Property), 6-182

round rectangles, 1-6

RowCount (Property), 6-183

RowLimit (Property), 6-184

RowLimitActive (Property), 6-185

RowNumber (Property), 6-186

rulers, 1-25

Rulers command, 1-28

Run mode, switching to, 1-5

S

sample scripts

Add a Computed Column to a Query Request line, 9-9

Add Items to The Request line, 9-9

Add Joins, 9-8

Add Topics to a Data Model Section, 9-7

Create an OCE, 9-6

Display a Connection Login Box, 9-6

Display a Table Catalog, 9-7

Setup Topic Objexts Variables, 9-8

Turn off page headers for the first page in the Reporter, 9-11

Using a BrioQuery 5.5 Limit Dialog Box andStoring Selected Value in Text Box, 9-10

Save (Method), 5-120

SaveAs (Method), 5-121

SaveResults (Property), 6-187

SaveWithoutUsername (Property), 6-188

ScaleMax (Property), 6-189

ScaleMin (Property), 6-190

Page 877: Hyperion Dashboard

2-11

ScaleX (Property), 6-191

ScaleY (Property), 6-192

Scheduler (Object), 4-188

script commands, launching, 3-2

Script Editor

Description pane, 3-29, 10-7

using, 2-10

scripted applications, components of, 3-2

scripting

applications, 3-2

Scripting pane, 2-12

scripting, finding and replacing, 2-14

Scripts command, 1-28

scripts, exporting to text files, 3-24

scripts, testing, Execution window and, 2-14

scripts, troubleshooting, 3-25

Scrollable (Property), 6-193

Scrollbars (Property), 6-194

ScrollbarsAlwaysShown (Property), 6-195

Section (Object), 4-189

section level events, 2-7, A-21

section objects, 1-6

sections

Chart, 8-7

EIS, 1-1, 2-1, 8-6, 10-1, A-1

Query, 8-5

Sections (Collection), 4-192

Sections (Object), 4-191

Select (Method), 5-122

SelectedIndex (Property), 6-196

SelectedList (Object), 4-193

SelectedValues (Collection), 4-194

SendSQL (Method), 5-123

Session (Object), 4-196

SetDrillThrough (Method), 5-124

SetODSPassword (Method), 5-125

SetPassword (Method), 5-126

SetStoredProcParam (Method), 5-127

setting

EIS properties, 1-22

object properties, 9-3

topic object variables, 9-8

Shadow (Property), 6-197

Shape (Object), 4-198

Shapes (Collection), 4-199

SharedLibrary (Object), 4-200

Shell (Method), 5-128

ShiftPoints (Property), 6-198

Show3DObjects (Property), 6-199

ShowAdvanced (Property), 6-200

ShowAll (Method), 5-129

ShowAllPositive (Property), 6-201

ShowAsChart (Method), 5-130

ShowBackPlane (Property), 6-202

ShowBarValues (Property), 6-203

ShowBorder (Property), 6-204

ShowBrioRepositoryTables (Property), 6-205

ShowCatalog (Property), 6-206

ShowColumnTitles (Property), 6-207

ShowColumnTotal (Property), 6-208

ShowCustomMenu (Property), 6-209

ShowFullNames (Property), 6-210

ShowHorizontalPlane (Property), 6-211

ShowIconJoins(Property), 6-212

ShowIntervalTickmarks (Property), 6-213

ShowIntervalValues (Property), 6-214

ShowLabel (Property), 6-215

ShowLabels (Property), 6-216

ShowLegend (Property), 6-217

ShowLevelProperties (Property), 6-218

ShowLocalResults (Property), 6-219

ShowMenuBar (Property), 6-220

ShowMetadata (Property), 6-221

ShowOutliner (Property), 6-222

ShowPartialViewIndicator (Property), 6-223

ShowPercentages (Property), 6-224

ShowRowNumbers (Property), 6-225

ShowSectionTitleBar (Property), 6-226

Page 878: Hyperion Dashboard

2-12 Index

ShowSortLine (Property), 6-228

ShowSortLine_pro, 6-228

ShowStatusBar (Property), 6-229

ShowSubTitle (Property), 6-230

ShowTickmarks (Property), 6-231

ShowTitle (Property), 6-232

ShowValues (Property), 6-233

ShowValuesAtRight (Property), 6-234

ShowVerticalPlane (Property), 6-235

SideLabels (Collection), 4-204

Size (Property), 6-236

SmartScaling (Property), 6-237

SortAscending (Property), 6-239

SortByFact (Method), 5-131

SortByLabel (Method), 5-132

SortDescending (Property), 6-240

SortFactName (Property), 6-241

SortFunction (Property), 6-242

SortItems (Collection), 4-201

SortItems (Object), 4-203

SortNow (Method), 5-133

SortOrder (Property), 6-243

space-saving variables, 3-25, 10-2

SpecificMetadataLogin (Property), 6-246

Spring (Method), 5-134

SQLName (Property), 6-247

SQLNetRetainDateFormats (Property), 6-248

StackClusterType (Property), 6-249

Standard (Object), 4-205

statements

break, 3-18

conditional, 3-9

continue, 3-17

do...while, 3-15

for, 3-14

for...in, 3-19

if...else, 3-9

inline if, 3-10

label, 3-16

loop, 3-14

switch, 3-11, A-28

while, 3-15

with, 3-20

StatusText (Property), 6-250

stopping a script, 3-10

StringRetrieval (Property), 6-251

Style (Property), 6-252

SubTitle (Property), 6-253

SuppressDuplicates (Property), 6-254

SuppressEmptyRows (Property), 6-255

SuppressMissingRows (Property), 6-256

SuppressZeroRows (Property), 6-257

SurfaceValues (Property), 6-258

SuspendCalculation (Property), 6-259

SuspendRecalculation (Property), 6-260

switch statements

using, 3-11

switching between Design and Run modes, 1-5

SyncWithDatabase (Method), 5-135

syntax reference, 3-29, 10-7

T

Table section, object model map, 8-9

TableFact (Object), 4-206

TableFacts (Collection), 4-207

TableSection (Object), 4-208

technical support, 4-xxxiv

testing scripts, Execution window and, 2-14

tests, conditional, 3-27, 10-5

Text (Property), 6-261

text box, 1-7

text files, exporting scripts to, 3-24

text labels, 1-7

TextWrap (Property), 6-262

ThinClient (Object), 4-209

TickmarkFrequency (Property), 6-263

Time Field (Object), 4-210

TimeLimit (Property), 6-264

Page 879: Hyperion Dashboard

2-13

TimeLimitActive (Property), 6-265

TimeNow Field (Object), 4-211

Title (Property), 6-266

Toolbar (Object), 4-212

toolbar, Navigation, 1-27

Toolbars (Collection), 4-213

tools, layout, 1-24

Topic (Object), 4-215

TopicItem (Object), 4-216

TopicItems (Collection), 4-217

TopicName (Property), 6-268

Topics (Collection), 4-218

TopLabels (Collection), 4-214

TopMargin (Property), 6-267

troubleshooting scripts, 3-25

TrueComputedItemTotals (Property), 6-269

turning off

page headers, 9-11

Prompt To Save dialog box, 9-11

Type (Property), 6-270

U

understanding

functions, 3-3

Intelligence Clients events, 2-4

Intelligence Clients object model, 2-2

UnHide (Method), 5-136

UnhideAll (Method), 5-137

UnionController (Property), 6-274

UniqueRows (Property), 6-275

Unselect (Method), 5-138

UnSpring (Method), 5-139

URL (Collection), 4-219

URL (Property), 6-276

UseAlternateMetadataLocation (Method), 5-140

User Embedded HTML, A-33

Username (Property), 6-277

UserValues (Collection), 4-221

using

BrioQuery 5.5 Limit dialog box, 9-10

Console window, to check errors, 2-14

design tools, 1-23

Execution window, to test scripts, 2-14

JavaScript statements, 3-9

ODS user name as limit, 9-10

Script Editor, 2-10

V

ValuesAxis (Object), 4-223

ValueSource (Property), 6-278

VariableLimit (Property), 6-279

variables

space-saving, 3-25, 10-2

VariableSlicerMode (Property), 6-280

Version (Property), 6-281

vertical lines, 1-6

VerticalAlignment (Property), 6-282

View (Property), 6-283

Visible (Property), 6-284

Visual Basic, 3-21

W

WebClientDocument (Object), 4-224

while statements

using, 3-15

Width (Property), 6-285

windows

Console, 2-14

Execution, 2-14

WindowState (Property), 6-286

with statements

using, 3-20

working

with EIS objects, 1-6

with EIS sections, 1-4

Write (Method), 5-141

Writeln (Method), 5-142

Page 880: Hyperion Dashboard

2-14 Index

X

XAxisLabel (Object), 4-225

XCategories (Collection), 4-226

XCategory (Object), 4-227

XLabels (Object), 4-228

Y

YLabels (Object), 4-229

Z

ZAxisLabel (Object), 4-230

ZCategories (Collection), 4-231

ZCategory (Object), 4-232

ZLabels (Object), 4-233