Post on 10-Mar-2015
Hyperion Solutions Corporation
Hyperion® Intelligence™
Release 8.2
Object Model and Dashboard Design Guide
D832882000
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.
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
iv Contents in Brief
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
-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
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
-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
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
-xxviii Contents
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.
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.
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.
✏
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.
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
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.
P A R T I
IOverview
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
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.
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
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.
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.
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.
✏
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
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]
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.
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
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.
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.
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.
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.
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).
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.
✏
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.
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.
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”.
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.
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.
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.
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.
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.
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.
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
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
}
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]
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
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.
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
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.
✏
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.
✏
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
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
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.
!
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.
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
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
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.
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.
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.
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.
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”.
P A R T I I
IIScripting Reference
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
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.
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)
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
✏
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.
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)
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)
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.
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);
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)
✏
✏
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.
✏
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 + ".");
Using JavaScript Statements 3-13
}Console.Writeln("Is there anything else you'd like?");
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.
✏
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
}
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();}
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.
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.
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
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)
}
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
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);
✰
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 = "yourname@brio.com"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”.
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.
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()
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.
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.
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")
{
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]
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.
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.
✏
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!")}
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.
3-34 Dashboard Scripting Reference
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.
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
✰
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
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")
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);
✰
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
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
✰
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()
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;
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
✏
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
✏
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
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
✏
4-14 Objects
AxisItems (Collection)
The AxisItems collection has been changed to the CategoryItems collection. For more information, see CategoryItems (Collection).
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
✰
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
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
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
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")
✰
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
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
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
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
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
✰
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")
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
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)
✏
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.
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
✰
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
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
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
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
✏
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
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
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”
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")
✏
✰
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){
✏
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
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";
CornerLabels (Object) 4-41
}
Properties: Read-write: Property Display as BqPivotLabelDisplay
Constants: BQPivotLabelDisplay, which includes the following values:
■ bqPivotLabelDisplayBoth
■ bqPivotLabelDisplayNone
■ bqPivotlabelDisplaySide
■ bqPivotLabelDisplayTop
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")
✏
✰
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
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
✏
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
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)}
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
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
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
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
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
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
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")
✰
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
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
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
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
✰
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
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
✰
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
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
✰
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
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()
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
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
✏
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
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
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
✰
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]),
✏
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
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
✏
✰
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
✰
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
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
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
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
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
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
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
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
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
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
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.
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")
✏
✰
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"])
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();
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">
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
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
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
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
✏
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
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
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
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
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
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
✰
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
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()
✰
4-100 Objects
Properties: Read-only: Property Count As Number
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")
✏
✰
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
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
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
✰
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
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
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
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
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
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
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
✰
4-112 Objects
Methods: LegendItems.Item(NameOrIndex)
Properties: Read-only: Property Count as Number
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()
✏
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
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)
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
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
✏
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’)
✰
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
✏
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
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
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
✰
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
✰
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")
LocalResults (Collection) 4-125
Methods: Add(LocalResultObject As DMResult) As LocalResult, Item(NameOrIndex) As LocalResult, RemoveAll()
Properties: Read-only: Count as Number
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
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])
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
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
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)
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
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
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
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.
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")
✰
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()
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)
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’)
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
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
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
✰
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
✏
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
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()
✰
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
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,
✰
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
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
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
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
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
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
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")
✰
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
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
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
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
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
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
✰
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
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
✰
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
✰
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()
✰
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
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,
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
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!")
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
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
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
✰
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
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
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
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
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
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
✏
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
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
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
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
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
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
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
✰
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
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
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
✰
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
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
✏
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
4-190 Objects
bqExportFormatHTML
bqExportFormatJPEG
bqExportFormatLotus123
bqExportFormatText
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
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
✰
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
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)}
✏
✰
SelectedValues (Collection) 4-195
Methods: Add(Value ValueItem), AddAll(), Item(Number Index), RemoveAll()
Properties: Read-only: Property Count as Number,
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")
✏
Session (Object) 4-197
Methods: None
Properties: Read-only: Property Active As Boolean
Collections Form as Form, Cookies as Cookies, URL as URL
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
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
✰
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])
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
✰
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
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
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)”.
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
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
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
✏
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
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
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
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
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
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
✰
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)”.
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
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
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
✰
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
✰
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")
✏
✰
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
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 .
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
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
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
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
4-226 Objects
XCategories (Collection)
Description: For information on the XCategories collection, see: “CategoryItems (Collection)”.
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
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
✏
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
✏
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
ZCategories (Collection) 4-231
ZCategories (Collection)
Description: For information on the ZCategories collection, see: “CategoryItems (Collection)”.
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
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
✏
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.
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.
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.
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.
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()
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
✏
✏
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
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.
✏
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()
✏
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()
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)
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.
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)
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")
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()
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.
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)
✏
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)
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
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);
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
✏
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')
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")
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()
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()
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!")}
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)
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")
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")
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()
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()
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);
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"
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()
✏
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.
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) }
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()
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()
✏
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()}
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.
✏
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();
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’)
✏
✏
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();
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();
✏
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()
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) }
✏
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()
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()
✏
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)
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()
✏
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()
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'")
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
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)
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
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)
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)
✏
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)}
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()
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)
✏
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)
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()
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()
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
✏
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"]
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()
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.
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)
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)
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);
✏
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";
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).
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)
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())
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
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
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).
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).
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()) }
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()
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
OnActivate (Method) 5-79
Table
OLAPQuery
Dashboard
Example: This example displays the OnActivate method for an active Dashboard section.
ActiveDocument.Sections["Dashboard"].OnActivate()
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()
✏
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()
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()
✏
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()
✏
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()
✏
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()
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()
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()
✏
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()
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()
✏
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()
✏
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()
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"
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)
✏
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()
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()
✏
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")}
✏
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()
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()
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)
✏
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.") }}
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()
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()
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’)
✰
✏
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)
✏
✏
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()
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()
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()
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()
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
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()
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()
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()
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)
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()
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")
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")
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();
✏
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()
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()
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()
✏
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)
✏
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)
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)
✏
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")
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.
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)
✏
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();
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)
✏
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()
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()
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)
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)
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"
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")
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()
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()
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()
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
✏
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()
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)
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 + ", ")
✏
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)
✏
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.
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.
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
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
✏
✏
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)}
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()
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
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
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()
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")
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
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
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")
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
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
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
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
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
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
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)}
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
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}
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
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
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
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
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
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
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)
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
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
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
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
✏
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
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}
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
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
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
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
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 }
}
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() }
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")
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
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)
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
✏
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
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
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
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
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")
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")
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)
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"}
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
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
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
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)}
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")
✏
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")
✏
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")
✏
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")
✏
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")
✏
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")
✏
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")
✏
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
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")
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
✏
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
✏
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
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
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)
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
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)}
}
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.
DrillDownDisplay (Property) 6-75
ActiveDocument.Sections["OLAPQuery"].DrillDownDisplay = bqDrillDownDisplayAllLevels
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
✏
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")
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}
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
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
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")
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)
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
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
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
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
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)
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)
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"
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
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
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()"
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)
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
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"
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
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
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
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)
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
✏
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
✏
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
✏
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
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
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
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
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
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
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
✏
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
✏
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
✏
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
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
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
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
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
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
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()
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()
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
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
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()
✏
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()
✏
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
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"
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)
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
✏
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
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
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
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
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
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
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
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
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")
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")
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")
✏
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
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
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
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)
✏
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
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"
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")
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")
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")
✏
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
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
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
✏
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)
}}
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
✏
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)
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
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)
✏
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)
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)
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
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)}}
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
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")
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.
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
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()
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."
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()
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;}
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()}
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()
✏
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
✏
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
✏
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
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) }
✏
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()
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()
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)
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
✏
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")
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
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
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
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
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
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
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
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))
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
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
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
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()
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
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
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
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
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")
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}
✏
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
✏
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
✏
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;
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
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
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
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
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
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
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
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
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"}
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
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}
✏
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")
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
✏
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
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
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
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}
✏
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
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
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}
✏
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
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
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
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
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
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
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
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
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
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
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
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"
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
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{
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:
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"
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")
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.") }
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")
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
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}
✏
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")
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
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
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
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
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
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
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
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
✏
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.
✏
✏
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)
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
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
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
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()
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
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
✏
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;
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
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
✏
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
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
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() }
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
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 }
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")
}
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")
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!")
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
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
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)
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
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
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
✏
✏
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
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
✏
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
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
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
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
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
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
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
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
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
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
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
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
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
8-10 Object Model Map
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
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;}
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;
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;
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;
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")
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)
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)
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)
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 =""}
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)
9-12 JavaScript Examples
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
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()
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.
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.
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.
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!")}
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.
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
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.
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
✏
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!")}
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
✏
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.
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.
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.
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)
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.
✏
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.
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
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
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
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:
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
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).
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.
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.
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()
✏
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
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
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
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
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>)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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%.
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
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
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
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
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
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
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
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
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
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
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
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
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
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