You are on page 1of 880

Hyperion Intelligence

Release 8.2

Object Model and Dashboard Design Guide

Hyperion Solutions Corporation


D832882000

Copyright 19892004 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 Corporation 1344 Crossman Avenue Sunnyvale, California 94089 Printed in the U.S.A.

Contents in Brief

Preface PART I Overview CHAPTER 1 Dashboards CHAPTER 2 Hyperion Intelligence Clients Object Model PART II Scripting Reference CHAPTER 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii Education Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii Consulting Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiv Documentation Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiv PART I CHAPTER 1 Overview Dashboards Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2 Working with the Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Inserting a Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Renaming an Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Deleting an Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Switching Between Design and Run Modes . . . . . . . . . . . . . . . . . . . . . . . 1-5 Working with Dashboard Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Inserting Dashboard Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Deleting Dashboard Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8 External Content in Dashboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9 Embedded Browser Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10 Browsing the Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13

Document Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hyperlink Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Dashboard Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layout Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Design Guides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rulers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dashboard Section Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Navigation Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dashboard Menu Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPTER 2

1-15 1-19 1-22 1-24 1-24 1-24 1-25 1-25 1-26 1-27 1-28

Hyperion Intelligence Clients Object Model Understanding the Object Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Understanding Hyperion Intelligence Clients Events . . . . . . . . . . . . . . . . . . 2-4 Object Level Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Section Level Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 Document Level Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 Associating a Document Level Event . . . . . . . . . . . . . . . . . . . . . . 2-8 Using the Script Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 Object Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 Scripting Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 Description 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 Scripting Reference Dashboard Scripting Reference Scripting Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calling Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Functions in Different Scopes . . . . . . . . . . . . . . . . . . . . 3-2 3-3 3-3 3-4 3-5 3-5

PART II CHAPTER 3

vi

Contents

Summary of Function Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Global variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 Document Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Section Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Using JavaScript Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 Conditional Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 if...else Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 inline if Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 switch Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 Loop Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 for Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14 do...while Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 while Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 label Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16 continue Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 break Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 Manipulating Objects with JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 for...in Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 with 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-25 Space-Saving Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25 Case-Sensitive Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26 Assignment Operators Versus Comparison Operators . . . . . . . . . . . . . 3-26 Conditional Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 Syntax Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29 Recalculating Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29 Designing Your Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30 Code Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31 Bypass Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32 Getting Help with a Problem Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 CHAPTER 4 Objects ActiveDocument (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 ActiveSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

Contents

vii

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

viii

Contents

DBSpecific (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DefinedJoinPaths (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DefinedJoinPath (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DerivableQuery (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DerivableQueries (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DerivedItem (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DerivedItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DerivedTable (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DerivedTables (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DesktopClient (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dimension (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dimensions (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMCatalog (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMCatalogItem (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DMCatalogItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Document (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Documents (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Events (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EmbeddedBrowser (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Facts (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Facts (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fields (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FillFormat (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Font (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Footer (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Form (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formatting (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Group (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Groups (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GroupItem (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GroupItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Header (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HyperLink (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-52 4-53 4-55 4-56 4-57 4-58 4-59 4-60 4-61 4-62 4-63 4-65 4-66 4-67 4-68 4-69 4-71 4-72 4-73 4-74 4-75 4-76 4-77 4-78 4-79 4-82 4-83 4-89 4-90 4-91 4-92 4-93 4-94 4-95

Contents

ix

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

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

Contents

xi

ReportTables (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Request (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requests (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Result Limit (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Results (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Results (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RightAxis (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scheduler (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Section (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sections (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sections (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectedList (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectedValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Session (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shape (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shapes (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SharedLibrary (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortItems (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SideLabels (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TableFact (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TableFacts (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TableSection (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ThinClient (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimeNow Field (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbar (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbars (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TopLabels (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Topic (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TopicItem (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TopicItems (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Topics (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-181 4-182 4-183 4-184 4-185 4-186 4-187 4-188 4-189 4-191 4-192 4-193 4-194 4-196 4-198 4-199 4-200 4-201 4-203 4-204 4-205 4-206 4-207 4-208 4-209 4-210 4-211 4-212 4-213 4-214 4-215 4-216 4-217 4-218

xii

Contents

URL (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UserValues (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ValuesAxis (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WebClientDocument (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XAxisLabel (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XCategories (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XCategory (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XLabels (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . YLabels (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZAxisLabel (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZCategories (Collection) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZCategory (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ZLabels (Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding and Maintaining the UserValue Object . . . . . . . . . . . . . . . . . . . . . Adding a UserValue object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Retrieving a UserValue object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing a UserValue object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPTER 5

4-219 4-221 4-223 4-224 4-225 4-226 4-227 4-228 4-229 4-230 4-231 4-232 4-233 4-234 4-234 4-235 4-236

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

Contents

xiii

AuditSQL (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AutoSizeHeight (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AutoSizeWidth (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Call (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ChartThisPivot (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Close (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connect (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copy (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateConnection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateDateGroup (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateLimit (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CustomSQLFrom (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CustomSQLWhere (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disconnect (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DoEvents (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DownloadToResults (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DrillDown (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DrillThrough (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DrillUp (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Duplicate (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ExecuteBScript (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Export (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ExportToStream (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FocusSelection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetCell (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hide (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HideSelection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ImportDataFile (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ImportSQLFile (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InterruptQueryProcess (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Item (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ItemIndex (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Layer (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LoadFromFile (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-25 5-27 5-28 5-29 5-30 5-31 5-32 5-34 5-35 5-36 5-37 5-39 5-41 5-42 5-43 5-44 5-45 5-46 5-47 5-48 5-49 5-50 5-52 5-54 5-55 5-56 5-57 5-58 5-59 5-60 5-61 5-63 5-64 5-66

xiv

Contents

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

Contents

xv

Recalculate (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Refresh (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RefreshAvailableValues (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RefreshDataNow (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remove (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveAll (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveAllTopics (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveExportSection (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveFilterValue (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveTopic (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RemoveTotal (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetCustomerSQL (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResizeToBestFit (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RetrieveDimensions (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Save (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SaveAs (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Select (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SendSQL (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetDrillThrough (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetODSPassword (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetPassword (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetStoredProcParam (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shell (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowAll (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowAsChart (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortByFact (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortByLabel (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortNow (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Spring (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SyncWithDatabase (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnHide (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnhideAll (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unselect (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnSpring (Method) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-105 5-106 5-107 5-108 5-109 5-111 5-112 5-113 5-114 5-115 5-116 5-117 5-118 5-119 5-120 5-121 5-122 5-123 5-124 5-125 5-126 5-127 5-128 5-129 5-130 5-131 5-132 5-133 5-134 5-135 5-136 5-137 5-138 5-139

xvi

Contents

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
xvii

Contents

ClientScriptStatus (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clusterby (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Color (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ColumnType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connected (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ContainsHybridAnalysisData (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . Count (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CubeName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CurrentDir (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CSSExport (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CustomSQL (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DashStyle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Database (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DatabaseList (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DatabaseName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DatabaseTotals (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataFunction (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DBLibAllowChangeDatabase (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . DBLibApiSeverity (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DBLibDatabaseCancel (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DBLibPacketSize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DBLibServerSeverity (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DBLibUseQuotedIdentifiers (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . DBLibUseSQLTable (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DecimalPlaces (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DHTMLExportBreakRowCount (Property) . . . . . . . . . . . . . . . . . . . . . . . . DHTMLVerticalPageBreakUnits (Property) . . . . . . . . . . . . . . . . . . . . . . . . Display (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DisplayMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DisplayName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-37 6-38 6-39 6-40 6-41 6-42 6-43 6-44 6-45 6-46 6-47 6-48 6-49 6-51 6-52 6-53 6-55 6-57 6-58 6-59 6-60 6-61 6-62 6-63 6-64 6-65 6-66 6-67 6-68 6-69 6-70 6-72

xviii

Contents

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

Contents

xix

HTMLMaxBarsDisplayed (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTMLPregenerateFirstLastNPages (Property) . . . . . . . . . . . . . . . . . . . . . HTMLPregenerateFirstLastNViews (Property) . . . . . . . . . . . . . . . . . . . . . HTMLPregenerateMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTMLSyncScrollingProps (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . HTMLVerticalPageBreakEnabled (Property) . . . . . . . . . . . . . . . . . . . . . . HTMLVerticalPageBreakUnits (Property) . . . . . . . . . . . . . . . . . . . . . . . . . Ignore (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IncludeInProcessAll (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IncludeNulls (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IntervalFrequency (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . KeepWithNext (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . KeepTogether (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LabelFrequency (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LabelText (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LastSQLStatement (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LeftMargin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LimitValueType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LogicalOperator (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MarkerBorderColor (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MarkerFillColor (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MarkerSize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MarkerStyle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MaximumBarsDisplayed (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MaximumBarsEnabled (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MetadataPassword (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MetadataUser (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MetaFileChoice (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MinFontSize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MultiSelect (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Name (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Negate (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NumberFormat (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-108 6-109 6-110 6-111 6-113 6-114 6-115 6-116 6-117 6-119 6-120 6-121 6-122 6-123 6-124 6-125 6-126 6-127 6-128 6-129 6-130 6-131 6-132 6-133 6-134 6-135 6-136 6-137 6-138 6-139 6-140 6-141 6-143 6-144

xx

Contents

ODBCDatabasePrompt (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ODBCEnableLargeBufferMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . ODSUsername (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operator (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Orientation (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Owner (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PageBreak (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ParentName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Password (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Path (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PathSeparator (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pattern (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PhysicalName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PrintAllViews (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProcessEventOrigin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProcessSequenceNum (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prompt (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . QueryCount (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . QueryInProcess (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . QuerySize (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RefreshData (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repository (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RepositoryBQYSection (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RepositoryBQYToolbarType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . RepositoryDocument (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RepositoryFileType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RepositoryJobFilename (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RepositoryJobRun (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RepositoryParams (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RepositorySmartcut (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResetPrintProperties (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RightMargin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotation (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RowCount (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RowLimit (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-145 6-146 6-147 6-148 6-150 6-151 6-152 6-153 6-154 6-155 6-156 6-157 6-158 6-160 6-161 6-162 6-165 6-166 6-167 6-168 6-169 6-171 6-172 6-173 6-174 6-175 6-176 6-177 6-178 6-179 6-180 6-181 6-182 6-183 6-184
xxi

Contents

RowLimitActive (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RowNumber (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SaveResults (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SaveWithoutUsername (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ScaleMax (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ScaleMin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ScaleX (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ScaleY (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scrollable (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowScrollbar (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ScrollbarsAlwaysShown (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SelectedIndex (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Shadow (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShiftPoints (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Show3DObjects (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowAdvanced (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowAllPositive (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowBackPlane (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowBarValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowBorder (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowBrioRepositoryTables (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowCatalog (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowColumnTitles (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowColumnTotal (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowCustomMenu (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowFullNames (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowHorizontalPlane (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowIconJoins(Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowIntervalTickmarks (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowIntervalValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowLabel (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowLabels (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowLegend (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowLevelProperties (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-185 6-186 6-187 6-188 6-189 6-190 6-191 6-192 6-193 6-194 6-195 6-196 6-197 6-198 6-199 6-200 6-201 6-202 6-203 6-204 6-205 6-206 6-207 6-208 6-209 6-210 6-211 6-212 6-213 6-214 6-215 6-216 6-217 6-218

xxii

Contents

ShowLocalResults (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowMenuBar (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowMetadata (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowOutliner (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowPartialViewIndicator (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowPercentages (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowRowNumbers (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowSectionTitleBar (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowSlicer (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowSortLine (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowStatusBar (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowSubTitle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowTickmarks (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowTitle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowValuesAtRight (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ShowVerticalPlane (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Size (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SmartScaling (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortAscending (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortDescending (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortFactName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortFunction (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SortOrder (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SpecificMetadataLogin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQLName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SQLNetRetainDateFormats (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . StackClusterType (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StatusText (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StringRetrieval (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Style (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SubTitle (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SuppressDuplicates (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SuppressEmptyRows (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6-219 6-220 6-221 6-222 6-223 6-224 6-225 6-226 6-227 6-228 6-229 6-230 6-231 6-232 6-233 6-234 6-235 6-236 6-237 6-239 6-240 6-241 6-242 6-243 6-246 6-247 6-248 6-249 6-250 6-251 6-252 6-253 6-254 6-255

Contents

xxiii

SuppressMissingRows (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SuppressZeroRows (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SurfaceValues (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SuspendCalculation (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SuspendRecalculation (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Text (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TextWrap (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TickmarkFrequency (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimeLimit (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimeLimitActive (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Title (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TopMargin (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TopicName (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TrueComputedItemTotals (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . Type (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnionController (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UniqueRows (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . URL (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Username (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ValueSource (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VariableLimit (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VariableSlicerMode (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Version (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VerticalAlignment (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Visible (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Width (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WindowState (Property) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPTER 7 CHAPTER 8 List of Constants

6-256 6-257 6-258 6-259 6-260 6-261 6-262 6-263 6-264 6-265 6-266 6-267 6-268 6-269 6-270 6-274 6-275 6-276 6-277 6-278 6-279 6-280 6-281 6-282 6-283 6-284 6-285 6-286

Object Model Map Object Model Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2 Application Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3 Active Document Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4

-xxiv

Contents

Query Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dashboard Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chart Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Results, Report, and Pivot Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table and OLAPQuery Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHAPTER 9

8-5 8-6 8-7 8-8 8-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 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 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

CHAPTER 10

Contents

-xxv

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-2 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 HTML Pregeneration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 Partial Document Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 Distributed Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 Disk Caching of BQY Documents . . . . . . . . . . . . . . . . . . . . . . . . A-4 Highlights of the Intelligence iServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4 Summary of Design Considerations by Section . . . . . . . . . . . . . . . . . . . . . . A-6 General Features Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6 Query and DataModel Sections Design and Use . . . . . . . . . . . . . . . . . . A-7 Results and Table Sections Design and Use . . . . . . . . . . . . . . . . . . . . . . . A-7 Pivot Section Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8 Chart Section Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8 Dashboard Section Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-9 Report Section Design and Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-10 Locating Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11 Console Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11 Error Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11 try-catch block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11 Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12 Control Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12 Graphics Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13 Borders and Background/Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-13 Embedded Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17 Document Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17 Dashboard Section Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17 Dashboard Object Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17 Client-Side JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18 Client Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18 Client-Side Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-20 Section Level Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-21

-xxvi

Contents

Text Box Events and Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alert Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Excluded Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Paging Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Event Controls for Toolbar Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . Intelligence iServer Document Display . . . . . . . . . . . . . . . . . . . . . . . . . Personal Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pre-Generated HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Section 508 Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Primary Use Case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Object Model Exclusion List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User Embedded HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossary Index

A-21 A-22 A-23 A-23 A-23 A-24 A-25 A-25 A-26 A-26 A-26 A-27 A-27 A-28 A-33

Contents

-xxvii

-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.

Audience
This 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 Structure
Object 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 Clientss objects, methods, and properties, and to the Hyperion Intelligence Clients object model.

Related Documents
In 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.

xxx

Preface

Hyperion Intelligence Data Analysis and Reporting describes how to use the Designer and Explorer powerful reporting features pivots, charts, and tablesand 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 Administrators 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 Documentation


All 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.

xxxi

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.

Conventions
The following table shows the conventions that are used in this document:
Tab le 1 Item

Conventions Used in This Document


Meaning

Bold CAPITAL LETTERS

Arrows indicate one-step procedures. Bold highlights options, buttons, or tabs that you need to choose and text that you need to type. 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. 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.

Example text

xxxii

Preface

Tab le 1 Item

Conventions Used in This Document (Continued)


Meaning

Courier italics Mouse orientation

Courier italic text indicates a variable field in command syntax. Substitute a value in place of the variable shown in Courier italics. This document provides examples and procedures using a righthanded mouse. If you use a left-handed mouse, adjust the procedures accordingly. Options in menus are shown in the following format. Substitute the appropriate option names in the placeholders, as indicated. Menu nameMenu commandExtended menu command For example: 1. Select FileDesktopAccounts.

Menu options

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

Education Services
Hyperion 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 Services
Experienced 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.

4-xxxiii

Technical Support
Hyperion 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 Feedback
Hyperion 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.

4-xxxiv

Preface

PART I

IOverview

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

Dashboard Section
The 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.

1-2

Dashboards

Ruler Units of Measurement

Ruler

Design/Run Alignment

Resizing

Layers

Section Pane

Embedded Graphic Embedded Text

Sections Embedded Browser Graphic Items

Content Pane Embedded Chart Section

Catalog Pane Control Items

Embedded Command Button

Embedded Picture

Embedded Dropdown list

F i g ure 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.

Dashboard Section

1-3

Working with the Dashboard Section


Like 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 Section


When you add a new Dashboard section, it is listed after any existing Dashboard sections. To insert a new Dashboard section:

Choose InsertNew Dashboard.

Renaming an Dashboard Section


The 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 EditRename Section.
The Section Label dialog box appears.

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

Deleting an Dashboard Section


To delete an Dashboard Section:

1 In the Section pane, select the Dashboard section you want to delete. 2 Choose EditDelete Section.
The Delete Section dialog box appears.
1-4
Dashboards

3 Click Delete.

Switching Between Design and Run Modes


The 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 DashboardDesign Mode.

Working with the Dashboard Section

1-5

Working with Dashboard Objects


There 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.
Dashboard Graphic Objects Description Creates a line that you can rotate. Creates a horizontal line. Creates a vertical line. Creates a rectangle. Creates a rectangle with rounded corners.

Tab le 1 - 1

Graphic Object Line Hz Line Vt Line Rectangle Round Rectangle

1-6

Dashboards

Tab le 1 - 1

Dashboard Graphic Objects (Continued) Description Creates an oval. Creates a text label that you can use as a caption. Allows you to insert bitmaps (.bmp extension).

Graphic Object Oval Text Label Picture

Tab le 1 - 2

Dashboard Control Objects Suggested Use To initiate or activate a process. To select one from a group of choices. To toggle an option on/off or true/false. A check box either contains a check mark or is empty. To list multiple values from which users can make one or more selections. To list multiple values from which users can make only one selection. To gather and display user input.

Control Object Command Button Radio Button Check Box List Box Drop Down Text Box

Inserting Dashboard Objects


To embed an object in an Dashboard section:

1 Choose DashboardDesign 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 DashboardDesign Mode. 2 Go to the Dashboard Menu. 3 Choose DashboardInsert GraphicOption or Insert ControlOption.
Select a graphic or control object from the menu.

[Ctrl+D]

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


Working with Dashboard Objects

1-7

Deleting Dashboard Objects


To delete embedded sections, controls, and graphics:

1 Choose DashboardDesign Mode. 2 In the Content pane, select the object you want to delete.

[Ctrl+D]

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

3 Choose DashboardRemove Selected Items.

[Ctrl+D]

1-8

Dashboards

External Content in Dashboards


External 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.

External Content in Dashboards

1-9

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 Control


An 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

1-10

Dashboards

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 InsertNew 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.


External Content in Dashboards

1-11

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.

1-12

Dashboards

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 OptionsDocument Options on page 15.

12 Click OK.

Browsing the Repository


With 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 users credentials at login time, and allows or disallows the user to connect. In addition, it determines the users group membership, which along with the users 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.

External Content in Dashboards

1-13

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.

1-14

Dashboards

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 Options
Use 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).

External Content in Dashboards

1-15

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:

Tab le 1 - 3

BQY Document Type Display Options Description Select BQY for Hyperion Intelligence Clients BQY documents. 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 BQYs 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. Specify which Intelligence iServers toolbar is displayed. Valid choices are Standard, Paging or None. 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.

Option Document Type Section

Toolbar Other Parameters

1-16

Dashboards

Tab le 1 - 4

BQY Job Document Type Display Options Description Select BQY Job for a Hyperion Intelligence Clients BQY Job. 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. 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 BQYs 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. Specify which Intelligence iServers toolbar is displayed. Valid choices are Standard, Paging or None. Specify if the job should be executed. This option is only available when Document Type is BQY Job or SQR Job. Default is unchecked. 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. 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.

Option Document Type FileName

Section

Toolbar Run Job Other Parameters (edit box)

External Content in Dashboards

1-17

Tab le 1 - 5

SQR Job Document Type Display Options Description Select SQR Job for a Hyperion Intelligence Clients SQR Job. 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 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 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.

Option Document Type FileName

Run Job Other Parameters (edit box)

Specify if the job should be executed. This option is only available when Document Type is BQY Job or SQR Job. Default is unchecked. 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. 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.

Tab le 1 - 6

Other Display Options Description Select Other as a document type to add additional parameters to the URL. 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.

Option Document Type Other Parameters

1-18

Dashboards

Hyperlink Control
A 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 InsertNew 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.

External Content in Dashboards

1-19

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.

1-20

Dashboards

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.

External Content in Dashboards

1-21

Setting Dashboard Properties


Use 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 sections 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 DashboardProperties
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.

1-22

Dashboards

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.

Setting Dashboard Properties

1-23

Using Design Tools


Hyperion 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 Tools
A 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 Guides
Design 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.

1-24

Dashboards

To toggle the display of design guides:

Choose DashboardDesign 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.

Grids
Hyperion 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:

Choose DashboardGrid.

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.

Rulers
Horizontal 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:

Choose DashboardRuler.

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.

Using Design Tools

1-25

Dashboard Section Toolbar


The Dashboard Section toolbar provides icons that enable you to quickly maneuver multiple Dashboard objects.

Design/Run Mode Align Make Same Size Layer

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.

1-26

Dashboards

Navigation Toolbar
Use 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 toolbar Toolbars["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 toolbars j=Toolbars.Count for (i=1; i<=j; i++) { Toolbars[i].Visible=false }

Using Design Tools

1-27

Dashboard Menu Command Reference


Table 1-7 provides a quick reference to the commands available on the Dashboard menu and lists any related shortcuts.
Tab le 1 - 7

Dashboard Menu Commands Description Toggles the design guides on and off. Toggles the grid on and off. Toggles the rulers on and off. Allows you to insert a graphic element. Allows you to insert a control button or box. Deletes the selected item. Displays the Script Editor. Displays the property menu for the selected item. Allows you to designate a particular Dashboard section as the home Dashboard section. The default is the Dashboard section first created. Toggles between the design and run mode. [Ctrl+D] [F8] Keyboard Shortcut Shortcut Menu

Command Design Guides Grid Rulers Insert Graphic Insert Control Remove Selected Items Scripts Properties Home Dialog

Design Mode

1-28

Dashboards

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 builtin 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

Understanding the Object Model


The 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.

2-2

Hyperion Intelligence Clients Object Model

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.
Tab le 2 - 1

Object Model Terminology Hyperion Intelligence Clients Example Application, section, document Activate, Copy, Add Active, Visible, Type Documents Constants

Term Object Method Property Collection Constant

Definition Something that is perceived as an entity and referred to by a name. What it can do; action that is executed when an object receives a message. Characteristic quality or distinctive feature; attribute. Group of objects. A value that does not change or vary.

Example Tree, leaf, fruit Grow, bear fruit, drop leaves Name, color, growing pattern Grove Number

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.

Understanding the Object Model

2-3

Understanding Hyperion Intelligence Clients Events


Custom 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 eventdriven 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.

2-4

Hyperion Intelligence Clients Object Model

Object Level Events


Table 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.

Tab le 2 - 2

Object Level Events Objects Supporting Event 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 Action That Invokes Event Clicking on a section, graphic, or control.

Event
OnClick

OnDoubleClick

Controls: List box Controls: List box Controls: Text box Controls: Text box Controls: Text box Sections: Active embedded Results or Table sections (not for view-only or hyperlinked sections) Graphics: Line, horizontal line, vertical line, rectangle, round rectangle, oval, text label, picture Controls:command button, radio button, check box, list box

Double-clicking on a value in the list box. Selecting a value in a list box. Changing data in a text box. Entering a text box. Leaving a text box. Double-clicking on a row from an active embedded Results/Table section. Clicking on a section, graphic, or control.

OnSelection OnChange OnEnter OnExit OnRowDoubleClick

OnClientClick

Understanding Hyperion Intelligence Clients Events

2-5

Tab le 2 - 2

Object Level Events (Continued) Objects Supporting Event Controls: list box Control: Text Box Control: Text Box Action That Invokes Event Clicking on a section, graphic, or control Entering a text box. Leaving a text box.

Event
OnClientDoubleClick

OnClientEnter OnClientExit

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.
Tab le 2 - 3

Events Associated with Graphic Objects Event


OnClick OnClientClick OnClick OnClientClick OnClick OnClientClick OnClick OnClientClick OnClick OnClientClick OnClick OnClientClick OnClick OnClientClick OnClick OnClientClick

Graphic Object Line Horizontal Line Vertical Line Rectangle

Round Rectangle Oval Text Label Picture

2-6

Hyperion Intelligence Clients Object Model

Tab le 2 - 4

Events Associated with Control Objects Event


OnClick OnClick OnClick OnClick, OnDoubleClick OnSelection OnEnter, OnExit, OnChange

Control Object Command Button Radio Button Check Box List Box Drop Down Text Box

Section Level Events


Section 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.

Understanding Hyperion Intelligence Clients Events

2-7

Document Level Events


Document 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 FileDocument Scripts.


The Script Editor appears. Document is selected by default in the Object dropdown 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.

2-8

Hyperion Intelligence Clients Object Model

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.

Understanding Hyperion Intelligence Clients Events

2-9

Using the Script Editor


Use 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:

Choose FileDocument Scripts to open the Script Editor from any section other than the Dashboard section.

To open the Script Editor from within the Dashboard section:

In Design mode, choose DashboardScripts.

[F8]

To open the Script Editor for a selected object:

Choose DashboardScripts.
Control Object Event Trigger Scripting Pane

[F8]

Object Browser

Description Pane

The Script Editor contains the Object browser, the Description pane, the Events drop-down menu, and the Scripting pane.

2-10

Hyperion Intelligence Clients Object Model

Object Browser
The 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:

ApplicationDocumentsSample1.bqy ApplicationActiveDocument
Control Object Event Trigger

Cut, Copy, Paste and Find/Replace icon

Methods and Properties for the Active Document Sample1.bqy

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.

Using the Script Editor

2-11

Scripting Pane
Use 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.

2-12

Hyperion Intelligence Clients Object Model

Description Pane and Online Help


When 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:

Select the item, then click Help.

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 Script


Each 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.

Sample JavaScript Script

2-13

Testing Scripts Using the Execution Window


You can immediately test a script by adding it to the Execution window. For example, instead of closing and re-opening a document to test its OnStartup script, copy and paste the script into the Execution window and press [Enter].

Checking Errors Using the Console Window


The 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 EditClear).

Finding/Replacing Script
The 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.

2-14

Hyperion Intelligence Clients Object Model

Tab le 2 - 5

Find/Replace Definitions Definition 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. Enter the replacement text for match. 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. Instructs the Find/Replace feature to match only the text that matches the uppercase or lowercase letters of your search criteria. 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. Specify the direction from which to initiate the search beginning at the insertion point. You can start the search in an upward or downward direction. By default, the direction is from downward. Finds, then replaces the first occurrence of a match. This allows you to confirm whether or not you want to make the replacement. Replaces all occurrences of a match Closes the Find/Replace window.

Field Find What

Replace With Match Whole Word

Match Case

Direction

Replace

ReplaceAll Close

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.

Finding/Replacing Script

2-15

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.

2-16

Hyperion Intelligence Clients Object Model

PART II

IIScripting Reference

3
In This Chapter

Dashboard Scripting Reference

This chapterprovides reference information on using JavaScript with Hyperion Intelligence Clients and the web client.

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

Scripting Applications
When 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.
Tab le 3 - 1

Components of Scripted Applications Description Scripts that run when a document is opened or closed. To prevent a startup script from running, hold down [Ctrl] while opening the document.

Component Startup/Shutdown Scripts

Dashboard Shapes and Controls Computed Columns Custom Menu Items

User Interface components that enable users to interact with the application. Scripts that run within the context of a Results or Table section column. Special menu items that allow scripts to run from any section.

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")"

3-2

Dashboard Scripting Reference

Understanding Functions
Functions 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 Functions
A 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 objects 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 Honda muffin (mycar) // pass object mycar to the function y=mycar.make // returns Toyota (property was changed by the function)

Understanding Functions

3-3

Calling Functions
In 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 1 else { result = (n * factorial(n-1) ) return result } }

You could then compute the factorials of 1 through 5 as follows:


a=factorial(1) b=factorial(2) c=factorial(3) d=factorial(4) e=factorial(5) // // // // // returns returns returns returns returns 1 2 6 24 120

3-4

Dashboard Scripting Reference

Function Scope
Functions 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

// MyButton function square(value) { return value*value; } Alert (The square of 3 equals + square(3)) // YourButton var retVal = square(3) // generates a runtime error Alert (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 Scopes


To 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.

Understanding Functions

3-5

Example 2

// MyButton With (YourButton) { function square(value) { return value*value; } Alert (The square of 3 equals + square(3)) } // YourButton var 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

// MyButton Function square(value) { return value*value; } Alert (The square of 3 equals + square(3))YourButton.square = square; // YourButton var retVal = square(3) Alert (The square of 3 equals + retVal)

3-6

Dashboard Scripting Reference

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

// MyButton Function square(value) { return value*value; } Alert (The square of 3 equals + square(3)) MyGlobalFunction = square; // YourButton var 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 Types


There 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)

Understanding Functions

3-7

Document Variable
Document 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)

or
ActiveDocument.myFunction(myParam)

Section Variable
Section 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 be a 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.

3-8

Dashboard Scripting Reference

Using JavaScript Statements


This 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 Statements
A 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 Statements
If 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);

Using JavaScript Statements

3-9

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 Statements
The 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)

3-10

Dashboard Scripting Reference

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 statements 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 Statements
A switch statement allows a program to evaluate an expression and attempts to match the expressions 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.

Using JavaScript Statements

3-11

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 + ".");

3-12

Dashboard Scripting Reference

} Console.Writeln("Is there anything else you'd like?");

Using JavaScript Statements

3-13

Loop Statements
A 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 Statements
The 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.

3-14

Dashboard Scripting Reference

do...while Statements
The 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 Statements
A 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 = 0 x = 0 while( n < 3 ) { n ++ x += n }

Using JavaScript Statements

3-15

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 Statements
A 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(); }

3-16

Dashboard Scripting Reference

continue Statements
The 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 = 0 n = 0 while (i < 5) { i++ if (i == 3) continue n += 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.

Using JavaScript Statements

3-17

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 Statements
Use 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.

3-18

Dashboard Scripting Reference

Example 13

for (i = 0; i < a.length; i++) { if (a[i] = theValue); break; }

Manipulating Objects with JavaScript


JavaScript uses for...in and with statements to manipulate objects. Review the following for information on:

for...in Statement with Statement

for...in Statement
The 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 objects name. It then iterates over all the objects 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 = Ford car.model = Mustang

Manipulating Objects with JavaScript

3-19

with Statement
The 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, y var r=10 with (Math) { a = PI * r * r x = r * cos(PI) y = r * sin(PI/2) }

3-20

Dashboard Scripting Reference

Microsoft Automation Interfaces and the Object Model


The 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 i g ure 3 - 1 Using the Intelligence Client object model from the Visual Basics for Applications editor within Excel 97

Microsoft Automation Interfaces and the Object Model

3-21

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);

3-22

Dashboard Scripting Reference

Example 17 shows you how to invoke Outlook from a command button created in an Dashboard section, and write Mail generated automatically in the body of the email. Note that Outlook will launch a message which warns that a program is trying to automatically send an 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.

OLE Automation Controller within JavaScript (JOOLE)

3-23

Example 19

var oleApp = new JOOLEObject("Scripting.FileSystemObject") 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 Files


Use 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 FileExportScripts To Text File.


The Export Script dialog box appears.

2 Specify the file name and location, and then click Save.

3-24

Dashboard Scripting Reference

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.

Space-Saving Variables
One 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")ActiveDo cument.Sections["Query"].DataModel.Connection.Connect

try this:
DMPath = ActiveDocument.Sections["Query"].DataModel.Connection DMPath.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"].Limits LPath.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()

Troubleshooting Scripts

3-25

Case-Sensitive Code
JavaScript is case sensitive and distinguishes between uppercase (capital) and lowercase (small) letters. Rules to remember include:

All JavaScript statements (for example, var, ifelse, 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 Operators


JavaScript 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.

3-26

Dashboard Scripting Reference

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
When 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 = 5 if ( 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 = 5 Console.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 items actual value.

Troubleshooting Scripts

3-27

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.SelectedIndex Console.Writeln(String(myvar)) if ( myvar == 5) { Alert("myvar = 5!") } else { Alert("myvar is not 5!") }

Now lets 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.DropDown1 var myvar = DropDown1.SelectedIndex Console.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. Lets 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.DropDown1 var myvar = DropDown1[DropDown1.SelectedIndex] Console.Writeln(String(myvar)) if ( myvar == "five") { 3-28
Dashboard Scripting Reference

Alert("myvar = 5!") } else { Alert("myvar is not 5!") }

Syntax Reference
On 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 ApplicationActiveDocumentSectionsQueryMethods, 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 Results
A 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]

Troubleshooting Scripts

3-29

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


JavaScript 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 EditClear 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.

3-30

Dashboard Scripting Reference

The Console.Write() and Console.Writeln() methods are essentially identical. Both write to the Console window, which you can open by choosing ViewConsole 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 clients 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 Script Step1 Step2 Step3 End Query Script

Code Entry
Whenever 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.

Troubleshooting Scripts

3-31

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 Errors
The 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"].Limits try {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!")}

3-32

Dashboard Scripting Reference

Getting Help with a Problem Script


If 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 QueryQuery 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.

Troubleshooting Scripts

3-33

3-34

Dashboard Scripting Reference

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.

ActiveDocument (Object)
Member of: Description: Application Object 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. To access the active document, specify the following syntax:

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] 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

Properties:

Collections:

Sections as Section, Events as Event, UserValues as UserValues

4-2

Objects

ActiveSection (Object)
Member of: Description: Application Object 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. To expose the ActiveSection object, specify the following syntax:
ActiveSection

Syntax:

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{} Read-write: Property Active as Boolean, Property Name as String, Property ShowOutliner as Boolean, Property Type as BqSectionType, Property Visible as Boolean UserValues as UserValues, Shapes as ControlsCommandButton

Properties:

Collections:

ActiveSection (Object)

4-3

AggregateLimits (Collection)
Member of: Description: QuerySection Object 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")

4-4

Objects

The syntax for the computed item limits is:


Request.DisplayName.

For example, in a DoubleSalescomputed 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.Sel ectedValues.Add("5000");//MyLimit.DisplayName = "Price";ActiveDocument.Sections["Query"].Limits.Add(MyLimit);

AggregateLimits (Collection)

4-5

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");MyL imit.Operator =bqLimitOperatorGreaterThan;MyLimit.CustomValues.Add("130");MyLimit.SelectedValue s.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() Read-only: Property Count As Number SelectedValues As LimitValues, CustomValues As LimitValues

Properties: Collections:

4-6

Objects

AppendQueries (Collection)
Member of: Description: QuerySection object 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=String ActiveDocument.Sections["Query"].AppendQueries[1].UnionController=BqUnionControll er

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

AppendQueries (Collection)

4-7

ActiveDocument.Sections["Query"].AppendQueries.Requests[1].DisplayName ActiveDocument.Sections["Query"].AppendQueries.Requests[1].SQLName ActiveDocument.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()

4-8

Objects

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"].AppendQuer ies. 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("Period s.Quarter") ActiveDocument.Sections["Query"].AppendQueries.Limits[1].Operator= bqLimitOperatorEqualActiveDocument.Sections["Query"].AppendQueries.Limits[1].Sele ctedValues.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.Count ActiveDocument.Sections["Query"].AppendQueries[1].Remove()

Methods: Properties: Collections: Constants

Add (), Item(NameOrIndex As Value) As AppendQueries Count As Number Requests As Requests, Limits As Limit BqUnionController bqUnion bqUnionAll This is the UnionController Constant Definition:typedef enum BqUnionController{bqUnion = 1,bqUnionAll,} BqUnionController;

AppendQueries (Collection)

4-9

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

4-10

Objects

} else { Toolbars["Standard"].Visible = }

true

Note
Methods:

The Application.Quit() method applies only to Intelligence Clients and not the web client.

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, 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

Properties:

Collections: Objects:

Documents as Documents, Toolbars as Toolbars, RecentFiles as RecentFiles ActiveDocument as Document, Console as Console, ActiveSection As Section, Session as Session

Application (Object)

4-11

AreaChart (Object)
Member of: Description: Example: ChartSection The AreaChart object represents all of the properties of an area chart. 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

4-12

Objects

AvailableValues (Collection)
Applies To: Description: Limit object 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: Example:

Read-only 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.Sec tions["Results"].Limits[1].SelectedValues.Add(MyVal)}

Methods: Properties:

Add(Value ValueItem), AddAll(), Item(Number Index), RemoveAll() Property Count as Number, Read Only

AvailableValues (Collection)

4-13

AxisItems (Collection)
The AxisItems collection has been changed to the CategoryItems collection. For more information, see CategoryItems (Collection).

4-14

Objects

AxisLabels (Collection)
Member of: Description: ChartSection Object 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() Read-only: Property Count As Number

Properties:

AxisLabels (Collection)

4-15

BarChart (Object)
Member of: Description: Example: ChartSection Object The BarChart object represents all of the properties of a bar chart. 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

4-16

Objects

BarLineChart (Object)
Member of: Description: Example: ChartSection Object The BarLineChart object represents all BarLineChart properties. This example shows you how to change the properties of a barline chart.

ActiveDocument.Sections["Chart"].BarLineChart.ShowBarValues = true ActiveDocument.Sections["Chart"].BarLineChart.StackClusterType=bqBarLineCluster ActiveDocument.Sections["Chart"].BarLineChart.ClusterBy = bqClusterByY ActiveDocument.Sections["Chart"].BarLineChart.IgnoreNulls = false ActiveDocument.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

BarLineChart (Object)

4-17

Body (Object)
Member of: Description: ReportSection object The Body object represents the attributes that you want to display (and often repeat) in the body section of the report. This example shows you how to spring and unspring a table and chart in the body section.

Example:

ActiveDocument.Sections["Report"].Body.Tables["Table"].Spring("Chart") ActiveDocument.Sections["Report"].Body.Charts["Chart"].UnSpring()

Methods: Properties:

None Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Objects:

4-18

Objects

CategoryItems (Collection)
Member of: Description: ChartSection Object 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")

CategoryItems (Collection)

4-19

Methods:

Add(ItemName As String), AddComputedItem(Name As String, Expression As String, [Index As Number]), Item(NameOrIndex) As AxisItem, Remove(NameOrIndex), RemoveAll() Read-only: Property Count As Number, Property AxisType As BqChartAxisType

Properties:

4-20

Objects

ChartSection (Object)
Member of: Description: Example: Sections Collection, Document Object (ActiveSection) The ChartSection object represents a chart section. 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 = true myChart.Title = "International Sales Report" myChart.ChartType = bqChartTypeHorizontalBar myChart.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() 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

Properties:

Collections:

XCategories As CategoryItems, Facts As CategoryItems, ZCategories As CategoryItems, XLabels As AxisLabels, YLabels As AxisLabels, ZLabels As AxisLabels, UserValues as UserValues

ChartSection (Object)

4-21

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

4-22

Objects

Column (Object)
Member of: Description: TableSection Object, ResultsSection Object The Column object represents an individual column within a Table or Results section. 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.

Example 1:

//Code behind the "CommandButton" var NumRows = ActiveDocument.Sections["Results"].RowCount for (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.Count for (I=1; I<=NumColumns;I++) { var MyCol=ActiveDocument.Sections["SalesResults"].Columns.Item(I) MyCol.ResizeToBestFit() if (MyCol.DataType = bqDataTypeNumber) MyCol.NumberFormat = "0.00" }

Methods: Properties:

CreateDateGroup(), GetCell(nRow as Number), Remove(), ResizeTo BestFit() 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

Column (Object)

4-23

Columns (Collection)
Member of: Description: TableSection Object, ResultSection Object 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.Count var 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() Read-only: Property Count As Number

Properties:

4-24

Objects

Connection (Object)
Member of: Description: Global object or Data Model object 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 Models connection to the database. The connection object can also represent a Data Models 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). 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.

Example 1:

//Check to make sure the connection has an associated OCE if(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 myCon myCon = Application.CreateConnection() myCon.Api =bqApiSQLNet myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

Connection (Object)

4-25

Method

Connect(), Disconnect(), Open(Filename As String), Save(), SaveAs(Filename As String), SetPassword(Password As String), UseAlternateMetadataLocation(Value As Boolean, [MetadataOce As String]) 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

Properties:

4-26

Objects

Console (Object)
Member of: Description: Application Object 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)

Console (Object)

4-27

Control (Object)
Member of: Description: Controls Collection 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.

4-28

Objects

Controls (Collection)
Member of: Description: DashboardSection Object 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.Count for (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: Properties:

Item(NameOrIndex) As Control Read-only: Property Count As Number

Controls (Collection)

4-29

ControlsCheckBox (Object)
Member of: Description: Controls Collection, DashboardSection Object 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. 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 = true if(CheckBox.Checked == true) Alert("Checkbox is Checked","Info") else Alert("Checkbox is Not Checked","Info")

Example:

Method: Properties:

OnClick() 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

4-30

Objects

ControlsCommandButton (Object)
Member of: Description: Example: Controls Collection, DashboardSection Object The ControlsCommandButton object represents an Dashboard button. 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: Properties:

OnClick() 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

ControlsCommandButton (Object)

4-31

ControlsDropDown (Object)
Member of: Description: Controls Collection, DashboardSection Object 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. This example shows how to populate a dropdown list control from an existing query limit.

Example:

// Connect to the database to ensure showvalues will work ActiveDocument.Sections["Query"].DataModel.Connection.Username = "brio" ActiveDocument.Sections["Query"].DataModel.Connection.SetPassword("Brio Brio") ActiveDocument.Sections["Query"].DataModel.Connection.Connect() //Load the list of Available Values ActiveDocument.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) 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

Properties:

Object:

UserValues collection, Font As Font

4-32

Objects

ControlsListBox (Object)
Member of: Description: Controls Collection, DashboardSection Object 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. This example shows you how to clear the values in a listbox and repopulate it with values from a results column. This example uses JavaScripts built in sorting functions. This feature sorts the data before populating the control.

Example:

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 Column for (j = 1; j <= RowCount; j++) MyArray[j] = ActiveDocument.Sections["Results"].Columns[1].GetCell(j) //Use JavaScripts built in Array sorting to sort the values SortedArray = MyArray.sort() // Add all the sorted items to the listbox control for (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) 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

Properties:

Objects and Collection UserValues collection, Font As Font, SelectedList As SelectedList

ControlsListBox (Object)

4-33

ControlsRadioButton (Object)
Member of: Description: Controls Collection, DashboardSection Object 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. This example shows you how to determine which Radio button has been selected from a group of buttons.

Example:

NumControls = ActiveDocument.Sections["Dashboard2"].Shapes.Count for (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: Properties:

OnClick() 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

4-34

Objects

ControlsTextBox (Object)
Member of: Description: Controls Collection, Dashboard Section Object 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. 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 1:

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: Properties:

OnChange(), OnClick(), OnEnter(), OnExit() 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

ControlsTextBox (Object)

4-35

Cookies (Collection)
Member of: Description: Session Object 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 browsers 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 URLs 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
4-36
Objects

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
Tip

The Session.Cookie.Add () and Session.Cookie.Item() object model syntax are not

supported in an Intelligence iServer BQY document.

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")

Cookies (Collection)

4-37

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 window Console.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) {

4-38

Objects

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: Properties:

Add(String Key, String Value), Item (Key as string) Read-only: Property Count As Number

Cookies (Collection)

4-39

CornerLabels (Object)
Member of: Description: PivotSection Object, OLAPQuerySection object 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). In this example, corner labels are displayed on the side of the pivot report.

Example 1:

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.Display if (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";

4-40

Objects

Properties: Constants:

Read-write: Property Display as BqPivotLabelDisplay BQPivotLabelDisplay, which includes the following values:

bqPivotLabelDisplayBoth bqPivotLabelDisplayNone bqPivotlabelDisplaySide bqPivotLabelDisplayTop

CornerLabels (Object)

4-41

CustomValues (Collection)
Member of: Description: Limit Object 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")

4-42

Objects

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.Count for (i=1;i<=LimitCount;I++) { MyVal = Add(ActiveDocument.Sections["Results"].Limits[1].AvailableValues[i] ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(MyVal) }

Methods: Properties:

Add(Value ValueItem), AddAll(), Item(Number Index), RemoveAll() Read-only: Property Count as Number

CustomValues (Collection)

4-43

DashboardSection (Object)
Member of: Description: Sections Collection 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 it if (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() 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

Properties:

Collections:

Controls as Controls, Shapes As Shapes

4-44

Objects

DataLabels (Object)
Member of: Description: PivotSection Object, OLAPQuery object The DataLabels object represents the Pivot or OLAPQuerys 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). In this example, data labels are displayed on the side of the pivot report.

Example 1:

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: Constants:

Read-write: Property Display as BqPivotLabelDisplay BQPivotLabelDisplay, which includes the following values:

bqPivotLabelDisplayBoth bqPivotLabelDisplayNone bqPivotlabelDisplaySide bqPivotLabelDisplayTop

DataLabels (Object)

4-45

DataModelSection (Object)
Member of: Description: QuerySection Object 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. 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 = false AutoJoin = false TimeLimit = 20 ShowIconJoins = true }

Example 1:

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 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) }

4-46

Objects

Methods:

AuditSQL(BqAuditEventType EventType, String SQLString) SyncWithDatabase() 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

Properties:

Objects:

Catalog As DMCatalog, Connection As Connection, MetaDataConnection As Connection, JoinOptions as JoinOptions Joins As Joins, Limits As Limits, Topics As Topics, Local Results as LocalResults, LocalJoins as LocalJoins

Collections:

DataModelSection (Object)

4-47

Date Field (Object)


Member of: Description: Example: Fields collection Sets the current date in MM/DD/YY format. 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 =10040166 ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["Date Field"].Line.Width =4

Methods: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring 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-48

Objects

DateNow Field (Object)


Member of: Description: Fields collection 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring 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

DateTime Field (Object)


Member of: Description: Fields collection 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring 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

DateTimeNow Field (Object)


Member of: Description: Fields collection 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring 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

DBSpecific (Object)
Member of: Description: Fields collection 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring 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

DefinedJoinPaths (Collection)
Member of: Description: DataModel Object 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= bqDataModelJoinsOptionDefJoin ActiveDocument.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= bqDataModelJoinsOptionDefJoin ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath ["MyJoinPath"].AddTopic("Periods")

DefinedJoinPaths (Collection)

4-53

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= bqDataModelJoinsOptionDefJoin ActiveDocument.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() Read-write: Count As Number

Properties:

4-54

Objects

DefinedJoinPath (Object)
Member of: Description: DefineJoinPaths Collection 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. 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.

Example 1:

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.Type= bqDataModelJoinsOptionDefJoin ActiveDocument.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= bqDataModelJoinsOptionDefJoin ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath.Add("MyJo inPath") ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath["MyJoinPa th"].AddAllTopics()

Methods:

AddAllTopics(), AddTopic(DefinedJoinPathsName As String), Remove(), RemoveAllTopics(), RemoveTopic(DefinedJoinPathName As String) Read-write: Name As String

Properties:

DefinedJoinPath (Object)

4-55

DerivableQuery (Object)
Member of: Description: DerivableQueries collection The DerivableQuery object represents an individual derivable query set in a table catalog. The following example shows how to display the name of the deliverable query in an Alert box.

Example:

AlertActiveDocument.Sections["Query"].DataModel.Catalog.DerivableQueries["Query2" ].Name

Properties:

Read Only: Property Name

4-56

Objects

DerivableQueries (Collection)
Member of: Description: DMCatalog Object 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: Properties:

Item(NameOrIndex) As DMResult Read-only: Property Count As Number

DerivableQueries (Collection)

4-57

DerivedItem (Object)
Member of: Description: Example: DerivedTable object The DerivedItem object represents a (topic) item in a derived table. This example shows you how to display the name of the derived item in an Alert box.

Alert(ActiveDocument.Sections["Query2"].DataModel.DerivedTables["Query"].DerivedI tems["Store Id"].DisplayName)

Properties:

Read-only: Property DisplayName as String, Name as String

4-58

Objects

DerivedItems (Collection)
Member of: Description: DerivedTable object 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"].DerivedI tems.Count, "Number of Derived Items")

Methods: Properties:

Item(value NameOrIndex) Read-only: Property Count As Number

DerivedItems (Collection)

4-59

DerivedTable (Object)
Member of: Description: DerivableQueries collection The DerivedTable object represents an individual derived table in the table catalog. The following example shows how to remove a derived table from an existing query.

Example:

ActiveDocument.Sections["Query2"].DataModel.DerivedTables["Query"].Remove()

Collections: Methods: Properties:

DerivedItems collection Remove() Read Only: Property Name

4-60

Objects

DerivedTables (Collection)
Member of: Description: DMCatalog Object 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() Read-only: Property Count As Number

Properties:

DerivedTables (Collection)

4-61

DesktopClient (Object)
Member of: Description: Events Collections Enables or disables execution of an Intelligence Client document event in the 8.0 client environment. This objects properties take a boolean value, which by default is set to true. This example shows you how to disable all document events when running in the Intelligence Client environment.

Example:

Documents["Sample1.bqy"].Events["DesktopClient"].ExecuteOnPostProcess=false Documents["Sample1.bqy"].Events["DesktopClient"].ExecuteOnPreProcess=false Documents["Sample1.bqy"].Events["DesktopClient"].ExecuteOnShutDown=false Documents["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

4-62

Objects

Dimension (Object)
Member of: Description: Dimension collection 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. This example shows you how to move the "City" dimension before the "State Province" dimension.

Example 1:

ActiveDocument.Sections["Report"].Body.Tables["Table"].Dimensions["City"].Move("S tate 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"].Suppres sDuplicates = true ActiveDocument.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"].Backgro undColor = bqLightBlue ActiveDocument.Sections["Report"].Body.Tables["Table"].Dimensions["City"].Font.St yle = bqFontStyleBold

Methods:

Move(LabelNameBefore as String), Remove()

Dimension (Object)

4-63

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 Font object

Objects:

4-64

Objects

Dimensions (Collection)
Member of: Description: ReportTable collection 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: Properties:

OLAPDimension Item(value NameOrIndex), RetrieveDimension Read-only: Count as Number

Dimensions (Collection)

4-65

DMCatalog (Object)
Member of: Description: DataModelSection Object 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. 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.

Example 1:

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 catalog ActiveDocument.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: Properties:

Refresh() Read-write: Property ShowFullNames As Boolean, Property ShowLocalResults As Boolean CatalogItems As DMCatalogItems, Results As Results

Collections:

4-66

Objects

DMCatalogItem (Object)
Member of: Description: Example: DMCatalogItems Collection The DMCatalogItem object represents a table in the Table Catalog. 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: Properties:

None Read-only: DatabaseName As String, Property Name As String, Property Owner As String

DMCatalogItem (Object)

4-67

DMCatalogItems (Collection)
Member of: Description: DMCatalog Object 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: Properties:

Item(NameOrIndex) As DMCatalogItem Read-only: Property Count As Number

4-68

Objects

Document (Object)
Member of: Description: Documents Collection, Application Object 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] or myDoc = Documents["Testdoc.bqy"] or if "Testdoc.bqy" is the current document then myDoc = 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 = false ActiveDocument.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]),

Document (Object)

4-69

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: Object:

Sections As Sections, Events as Events, UserValues as UserValues LastSaved As LastSaved

4-70

Objects

Documents (Collection)
Member of: Description: Application Object This is a collection of all document collections objects within the application.

Note
Tip

he following object model syntax is not supported in an Intelligence iServer BQY document: Document.Close() Documents.Open().

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

Documents (Collection)

4-71

Events (Collection)
Member of: Description: Documents Collection 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: Properties: Objects:

Item(Value NameOrIndex) Read-write: Count As Number DesktopClient Event object, PlugInClient Event object, ThinClient Event object and Scheduler Event object

4-72

Objects

EmbeddedBrowser (Object)
Member of: Description: Controls Collection, Dashboard Objects 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. The following example shows you how to externally reference a URL using a dropdown control.

Example:

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.BestComp uterProducts.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

EmbeddedBrowser (Object)

4-73

Facts (Collection)
Member of: Description: Example: CategoryItems (Collection) This is a collection of all chart fact objects within the CategoryItems collection. 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() Read-only: Property Axis Type as BqChartAxisType, Property Count As Number

Properties:

4-74

Objects

Facts (Object)
Member of: Description: Facts (Collection) 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. In this example, the fact object is set to use the percentage of the grand total data function.

Example:

ActiveDocument.Sections["Chart"].Facts["Amount Sales"].DataFunction = bqDataFunctionPercentOfGrand

Methods: Properties:

Hide() Read-Write: Property Axis AxisPlotValue as BqChartAxisPlotValue, DataFunction as BqDataFunction Read-Only: Name as String

Facts (Object)

4-75

Field (Object)
Member of: Description: Example: Fields collection Sets a computable field. 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"].Fo rmula = "'This is a text label'" ActiveDocument.Sections["Report"].Recalculate() } catch(e) { Console.Writeln(e.toString()) }

Methods: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring 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-76

Objects

Fields (Collection)
Member of: ReportHeader object, ReportFooter object, PageHeader object, PageFooter object, Body object The Fields collection represents all field objects in the report section. This example shows you how to count the number of fields that have been inserted in the Body band of the report:

Description: Example:

Alert(ActiveDocument.Sections["Report"].Body.Fields.Count + " Number of fields in this band")

Methods: Properties: Objects:

Item(NameOrIndex as Name) Read-only: Count as Number 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

Fields (Collection)

4-77

FillFormat (Object)
Member of: Body object, Control object, LegendItem object, PageHeader object, PageFooter object, ReportHeader object, ReportFooter object, Shape object, The Fill object contains all of the properties associated with object background formatting. Fill.BrushStyle=BqBrushStyle Fill.Color=BqColorType Fill.Pattern=BqFillPatternType Example: This example shows you how to change the color of a rectangle.

Description:

Constants

MyRectangle = ActiveDocument.Sections["Dashboard"].Shapes["Rectangle"] MyRectangle.Fill.Color = bqBlue

Methods: Properties:

None Read-write: Property Color As BqColorType, Property BrushStyle As BqBrushStyle

4-78

Objects

Font (Object)
Member of: Description: Example: Shape Object, Control Object The Font object contains all of the methods and properties of fonts. 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 = 10 MyLabel.Font.Color = bqBlue MyLabel.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
Font (Object)

4-79

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

4-80

Objects

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=bqBlue ActiveDocument.Sections["Dashboard"].Shapes["TextLabel1"].Font.Style=bqFontStyleI talic

Methods: Properties:

None 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

Font (Object)

4-81

Footer (Object)
Member of: Description: ReportGroup object 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: Properties:

None Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Objects:

4-82

Objects

Form (Collection)
Member of: Description: Session Object 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.
Form (Collection)

4-83

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
Tip

The Session.Form.Add () and Session.Form.Item() object model syntax is not supported in an Intelligence iServer BQY document.

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-84

Objects

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/odscgi/odscgi.exe?Method=getDocument&Docname=-1835-83481598112-58541278350-125-8-11387-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 window Console.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"])

Form (Collection)

4-85

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-040440a02b5e&DOC_VERSION=1&JScript=enable"> <p align="center"><font face="Verdana, Arial, Helvetica, sansserif"><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 window var 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();

4-86

Objects

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">

Form (Collection)

4-87

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 window Console.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

4-88

Objects

Formatting (Object)
Member of: Description: Toolbars Collection 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: Properties:

None Read-only: Property Name As String, Property Type As BqToolbars Read-write: Property Visible As Boolean

Formatting (Object)

4-89

Group (Object)
Member of: Description: ReportSection object The group header categorizes data into repeating collections of records in a header band. This example shows you how to remove all items in Report Group 1.

Example:

ActiveDocument.Sections["Report"].Groups["Report Group1"].Remove()

Methods: Properties: Objects:

Move(LabelNameBefore String), Remove() Read-only: Name as String Header object, Footer object, GroupItems collection, SortItems collection

4-90

Objects

Groups (Collection)
Member of: Description: ReportSection object 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: Properties:

Add(Column Member), Item (Value NameOrIndex), RemoveAll() Read-only: Count as Number

Groups (Collection)

4-91

GroupItem (Object)
Member of: Description: GroupItems Collection 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. This example shows you how to write the name of the Amount Sales group item to the console window:

Example:

Console.Writeln(ActiveDocument.Sections["Report"].Groups["Report Group1"].GroupItems["Amount Sales"].Name)

Methods: Properties:

Move(LabeLNameBefore as String), Remove() Read-only: Name As String

4-92

Objects

GroupItems (Collection)
Member of: Description: Example 1: ReportGroup object The GroupItems collection is a collection of items for a specific report group. 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() Read-only: Count as Number

Properties:

GroupItems (Collection)

4-93

Header (Object)
Member of: Description: ReportGroup object 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 subcategories, 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: Properties:

None Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Objects:

4-94

Objects

HyperLink (Object)
Member of: Description: Controls Collection, DashboardSection Object 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 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=true HyperLink2.DisplayMode=bqOpenURLTargetTop

Example:

Methods:

ModifyRepositoryFileBQY, ModifyRepositoryFileBQYJob, ModifyRepositoryFileOther, ModifyRepositoryFileSQRJob 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,

Properties:

Objects:

UserValues collection, LineFormat object, FillFormat object, Font object

HyperLink (Object)

4-95

Item (Object)
Member of: Description: Items collection 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 = bqBrushStyleDiagCross ActiveDocument.Sections["Chart"].Legend.Items["Books"].Fill.Color = 16711680

Properties: Objects:

Read-only: Name as String FillFormat object, LineFormat object

4-96

Objects

Items (Collection)
Member of: Description: Legend object 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: Properties:

Item(Value NameOrIndex) Read-only: Count as Number

Items (Collection)

4-97

Join (Object)
Member of: Description: Example: DataModel Object The Join object represents an individual join between topics in a Data Model. 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 = bqJoinLeft Console.Writeln(ActiveDocument.Sections["Query"].DataModel.Joins[1].TopicItem1.Di splayName="Sales") Console.Writeln(ActiveDocument.Sections["Query"].DataModel.Joins[1].TopicItem2.Ph ysicalName)

Console Output: WineId WineId Methods: Properties: Remove() Read Only: Topic1Name, Topic2Name Read-write: Type as BqJoinType Objects: TopicItem1 As TopicItem, TopicItem2 As TopicItem

4-98

Objects

Joins (Collection)
Member of: Description: DataModel Object 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 together Joins.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()

Joins (Collection)

4-99

Properties:

Read-only: Property Count As Number

4-100

Objects

JoinsOptions (Collection)
Member of: Description: DataModel Object The JoinsOptions collection represents the available join usage preferences. The features in this collection is described in the Using Defined Join Paths topic. 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)

Constants:

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")

JoinsOptions (Collection)

4-101

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: Properties: Collections:

None Read-write: Property Type As BqDataModelJoinsOptions DefinedJoinPaths As DefinedJoinedPaths

4-102

Objects

LabelsAxis (Object)
Member of: Description: ChartSection Object The LabelsAxis object acts as a logical container for both of the labels axis contained in a chart. 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 }

Example:

Methods: Properties:

None 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

LabelsAxis (Object)

4-103

LabelValues (Object)
Member of: Description: ChartSection Object, XLabels Object, YLabels Object and Zlabels Object 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: Properties:

Item (Index As Number) As LabelValueItem None

4-104

Objects

LastPrinted (Object)
Applies To: ChartSection, DataModelSection, DashboardSection, OLAPQuerySection, PivotSection, QuerySection, ResultsSection, TableSection 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. Read-only: Date Object This example shows how to print the date the document was last printed to the console window.

Description:

Action: Example:

Console.Writeln(ActiveDocument.Sections["Pivot"].LastPrinted.toString()) Thu Jun 03 13:56:13 GMT-0700 (Pacific Daylight Time) 2001

LastPrinted (Object)

4-105

LastPrinted Field (Object)


Member of: Description: Fields collection Sets the date on which the report section was last printed in MM/DD/YY format. This example shows you how to reposition the LastPrinted Field object behind another object (such as a shape object).

Example:

ActiveDocument.Sections["Sales Report"].PageFooter.Fields["LastPrinted Field"].Layer(bqLayerBack)

Methods: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignmentRead-only: Name as String, Type as BqShapeType LineFormat object, FillFormat object, FontFormat object

Objects:

4-106

Objects

LastSaved (Object)
Applies To: Description: Document, PluginDocument 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. Read-only: Date Object 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

Action: Example:

LastSaved (Object)

4-107

LastSaved Field (Object)


Member of: Description: Example: Fields collection Sets the date on which the document was last printed in MM/DD/YY format. 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() Read-write: Formula as String, HorizontalAlignment as BqHorizontalAlignment, Text as String, TextWrap as Boolean, VerticalAlignment as BqVerticalAlignmentRead-only: Name as String, Type as BqShapeType LineFormat object, FillFormat object, FontFormat object

Objects:

4-108

Objects

LeftAxis (Object)
Member of: Description: ValuesAxis Object The LeftAxis object represents all the left values axis properties contained in a chart. 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 }

Example:

Methods: Properties:

None 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

LeftAxis (Object)

4-109

Legend (Object)
Member of: Description: ChartSection Object The Legend object represents all of the methods and properties of a chart legend. This example shows you how to change the chart axis type to the X-axis category.
ActiveDocument.Sections["Chart"].Legend.Focus=bqChartXAxis

Example:

Constants:

The Legend object uses the BqChartAxisType constant group, which consists of the following values: bqChartXAxis bqChartYAxis bqChartZAxis

Methods: Properties: Collections:

None Property Focus as BqChartAxisType Items As LegendItems

4-110

Objects

Legend (Collection)
Member of: Description: ChartSection Object 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=bqBlue ActiveDocument.Sections["Chart"].Legend.Items[1].Fill.BrushStyle = bqBrushStyleCross ActiveDocument.Sections["Chart"].Legend.Items[1].Line.Color= bqBlue ActiveDocument.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 = bqSquare ActiveDocument.Sections["Chart"].Legend.Items[1].Line.MarkerSize = bq6pt ActiveDocument.Sections["Chart"].Legend.Items[1].Line.MarkerBorderColor= bqRed ActiveDocument.Sections["Chart"].Legend.Items["Q1"].Line.MarkerFillColor= bqGreen

Legend (Collection)

4-111

Methods: Properties:

LegendItems.Item(NameOrIndex) Read-only: Property Count as Number

4-112

Objects

Limit (Object)
Member of: Description: Limit Collection 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 set MyLimit.SelectedValues.RemoveAll() // add new values to the selectedvalues collection MyLimit.SelectedValues.Add(2000) //Change the limit criteria MyLimit.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 = bqLimitOperatorGreaterThan MyLimit.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.Count for (i=1;I<=LimitCount;i++) ListBox.Add(ActiveDocument.Sections["Results"].Limits[1].AvailableValues[i])

Methods

LoadFromFile(Filename As String) As Boolean, RefreshAvailableValues(), Remove()


Limit (Object)

4-113

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

4-114

Objects

Limits (Collection)
Member of: Description: QuerySection Object, DataModel Object, TableSection Object 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 = bqLimitOperatorGreaterThan MyLimit.CustomValues.Add(50) MyLimit.SelectedValues.Add(50) //Adds the limit to the Limit Line ActiveDocument.Sections["SalesQuery"].Limits.Add(MyLimit)

Limits (Collection)

4-115

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 = bqLimitOperatorLessThan MyLimit.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_Di fference")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"].L imits["Sales Difference"].CustomSQL="SQLString"orActiveDocument.Sections["Query"].Limits[2].Li mitValueType=bqLimitValueTypeSQLActiveDocument.Sections["Query"].Limits[2].Custom SQL="SQLString"

Example 6:

This example shows you how to create and set variable limits:

// create and set variable limit - Store_Id mylimit = ActiveDocument.Sections["Query"].Limits.CreateLimit("PCW_SALES.Store_Id") mylimit.Operator = bqLimitOperatorLessThanOrEqual mylimit.CustomValues.Add(10) mylimit.SelectedValues.Add(10) ActiveDocument.Sections["Query"].Limits.Add(mylimit) mylimit.VariableLimit = true

4-116

Objects

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 items Display Name on the request line, for example, CreateLimit(Request.Amount Sales).

Properties: Collections:

Read-only: Property Count As Number Parentheses

Limits (Collection)

4-117

LimitValues (Collection)
Member of: Description: Limit Object The LimitValues collection is a collection of all the values associated with the different types of limitsregular, 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.Count for (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)

4-118

Objects

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.SelectedLis t.Item(i)); ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(Listbox.SelectedL ist.Item (i)); };

Methods:

Add(ValueItem), AddAll(), Item(Index As Number), RemoveAll()

Note
Properties:

For the AvailableValues (Collection), the Add() method does nothing since the values are obtained from the database.

Read-only: Property Count As Number

LimitValues (Collection)

4-119

LineChart (Object)
Member of: Description: ChartSection Object The Line Chart object represents all the methods and properties specific to Line Charts. None Read-write: Property IgnoreNulls As Boolean

Methods: Properties:

4-120

Objects

LineFormat (Object)
Member of: Description: Constants: Body object Shape Object, Control Object, LegendItem Object The Line object contains all of the properties assocated with border formating. 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 = bqRed MyRectangle.Line.Width = 4 MyRectangle.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=bqRed ActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line. MarkerStyle=bqMarkerStyleTriangle

Methods: Properties:

None 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

LineFormat (Object)

4-121

LocalJoins (Collection)
Member of: Description: DataModel Object 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() Read-only: Property Count As Number

Properties:
4-122
Objects

LocalResults (Collection)
Member of: Description: DataModel Object 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)ActiveDocum ent.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

LocalResults (Collection)

4-123

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 Topic ActiveDocument.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 Results TextBox1.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 Joins TextBox1.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 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 10:

This example shows you how to add a topic from local results to the Request Line.

//Add Topic from Local Results to Request Line ActiveDocument.Sections["Query"].Requests.Add("Results2","Quarter")

4-124

Objects

Methods:

Add(LocalResultObject As DMResult) As LocalResult, Item(NameOrIndex) As LocalResult, RemoveAll() Read-only: Count as Number

Properties:

LocalResults (Collection)

4-125

LocalResultsTopicItems (Collection)
Member of: Description: LocalResults Object 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. This example removes a single local results topic and gets the topic item count of the Results2 local topic.

Example 1:

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: Properties:

Item() Read-only: Count as Number

4-126

Objects

MetaDataConnection (Object)
Member of: Description: Global object or Data Model object The MetaDataConnection object represents a Data Models 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 = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.MetadataUsername"brio" myCon.MetadataPassword = "briobrio" myCon.MetaFileChoice = "Broadbase" myCon.UseAlternateMetadataLocation(true,c:\\OCEs\\PlutoMeta.OCE) myCon.EnableAsyncProcess = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.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])
MetaDataConnection (Object)

4-127

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

4-128

Objects

Navigation (Object)
Member of: Description: Toolbars Collection 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. 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 toolbar Toolbars["Navigation"].Visible=true;

Constants:

Methods: Properties:

None Read-only: Property Name As String, Property Type As BqToolbars Read-write: Property Visible As Boolean

Navigation (Object)

4-129

OLAPCatalog (Object)
Member of: Description: OLAPQuery object The OLAPCatalog object represents the OLAPTable Catalog. This object provides access to a multi-dimensional databases (MDD). -dimensions, level, member, measures and properties. 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.

Example 1:

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)

4-130

Objects

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: Properties:

Refresh() Read-write: Property ShowFullNames As Boolean, Property ShowLocalResults As Boolean OLAPDimensions collection, OLAPValue Measures collection

Collections:

OLAPCatalog (Object)

4-131

OLAPConnection (Object)
Member of: Description: OLAPQuery Object 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. This example shows you how to connect an OLAP database using an OCE saved locally.

Example1:

//Connecting to OLAP MyConnection=ActiveDocument.Sections["OLAPQuery"].Connection MyConnection.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"].Connection MyConnection.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) Read-only: Property Connected As Boolean Read-write: Property Username As String

Properties:

4-132

Objects

OLAPDimensions (Collection)
Member of: Description: OLAPCatalog object The OLAPDimensions is a collection of all the dimension values associated with an OLAPQuery. Dimension are categories of information. This example shows you how to count the number of dimensions in an OLAPQuery and display the results in an Alert box..

Example:

Alert(ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions.Count)

Methods: Properties:

Item(Value NameOrIndex), RetrieveDimensions () Read-only: Property Count as Number

OLAPDimensions (Collection)

4-133

OLAPLabel (Object)
Member of: Description: OLAPLabels Collection The OLAPLabel object represents an individual (either a top or side) label within an OLAP report. AddFilterValue(MemberName As String, Operator As BqOperator), Remove() Read-only: Property Name As String LabelValues As OLAP Query TopLabels and SideLabel collections.

Methods:

Properties: Collections:

4-134

Objects

OLAPLabels (Collection)
Member of: Description: OLAPQuerySection Object 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")

OLAPLabels (Collection)

4-135

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()

4-136

Objects

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',bqOpe ratorEqual)

OLAPLabels (Collection)

4-137

Methods:

Add(String LevelName), Function Item(Value NameOrIndex) As OLAPLabel, RemoveAll() Read-only: Property Count As Number

Properties:

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.Count ActiveDocument.Sections["OLAPQuery"].TopLabels[LevelName].Remove() ActiveDocument.Sections["OLAPQuery"].TopLabels[LevelName].FilterOperator= bqOperator ActiveDocument.Sections["OLAPQuery"].TopLabels[LevelName].AddFilterValue(Level Name,MeasureName)

SideLabels Methods and Properties:


ActiveDocument.Sections["OLAPQuery"].SideLabels.Add(LevelName[,optionalMeasure] ) ActiveDocument.Sections["OLAPQuery"].SideLabels.Item()ActiveDocument.Sections["OL APQuery"].SideLabels.RemoveAll() ActiveDocument.Sections["OLAPQuery"].SideLabels.Count ActiveDocument.Sections["OLAPQuery"].SideLabels[LevelName].Remove() ActiveDocument.Sections["OLAPQuery"].SideLabels[LevelName].FilterOperator= bqOperator ActiveDocument.Sections["OLAPQuery"].SideLabels[LevelName].AddFilterValue(Leve lName,MeasureName)

4-138

Objects

OLAPLevelOrHierarchy (Collection)
Member of: Description: OLAPDimension Collection 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.. This example shows you how to display the parent name of an OLAP level or hierarchy in an Alert box.:

Example:

Alert(ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Customers"]["Count ry"].ParentName)

Methods: Properties:

Item(Value NameOrIndex) Read-only: Property Count as Number, Property Name As String, Property ParentName as String

OLAPLevelOrHierarchy (Collection)

4-139

OLAPMeasure (Object)
Member of: Description: OLAPMeasures Collection The OLAPMeasure object represents an individual measure within an OLAP Query report. This example shows you how to add a filter value to a "Profit" measure. In this example, the operator used equals 13,438:

Example:

Console.Writeln("Start")ActiveDocument.Sections["OLAPQuery"].Measures["Profit"].A ddFilterValue('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(), Read-only: Property Count as Number, Property Name As String, Property ParentName as String

Properties:

4-140

Objects

OLAPMeasures (Collection)
Member of: Description: OLAPQuerySection object, OLAPCatalog object 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: Properties:

Add(Measure As String), Item(NameOrIndex) As OLAPLabel, RemoveAll() Read-only: Property Count As Number

OLAPMeasures (Collection)

4-141

OLAPQuerySection (Object)
Member of: Description: Sections Collection The OLAPQuerySection object represents an OLAP Query Section.

Note
Example:

With this object you can process OLAP queries, but not build them.

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() 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

Properties:

Objects: Collections:

Connection Object, LastSaved UserValues as UserValues, TopLabels as OLAPLabel, SideLabels as OLAPLabel, Measures as OLAPMeasures, Slicers as OLAPSlicer, Events as Events

4-142

Objects

OLAPSlicer (Object)
Member of: Description: OLAPSlicer (Object) The OLAPSlicer object represents an individual slicer within an OLAP Query report. This example shows you how to remove the Q3 slicer value from the query.
ActiveDocument.Sections["OLAPQuery"].Slicers["Q3"].Remove()

Example:

Methods: Properties:

Remove() Read-only: Property Name As String

OLAPSlicer (Object)

4-143

OLAPSlicers (Collection)
Member of: Description: OLAPQuerySection Object 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() Read-only: Property Count As Number, VariableSlicerMode as BqSlicerDisplayOptions

Properties:

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.Count ActiveDocument.Sections["OLAPQuery"].Slicers[SlicerName].Remove()

4-144

Objects

OLAPValues (Collection)
Member of: Description: Example: OLAPLevelOrHierarchy object The OLAPValue object represents the content values in a dimension. 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() Read-only: Property Count As Number, VariableSlicerMode as BqSlicerDisplayOptions

Properties:

OLAPValues (Collection)

4-145

OLAPValues (Collection)
Member of: Description: Example: OLAPLevelOrHierarchy object The OLAPValue object represents the content values in a dimension.

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: Properties:

Item(Value NameOrIndex) Read-only: Property Count As Number,

4-146

Objects

PageCount Field (Object)


Member of: Description: Example: Fields collection Sets the current page of the total number of pages. This example shows you how to change the font color of the PageCount field to red.
ActiveDocument.Sections["Report"].ReportHeader.Fields["PageCoun t Field"].Font.Color = bqRed

Methods: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() 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

PageCount Field (Object)

4-147

PageFooter (Object)
Member of: Description: Example: ReportSection object The PageFooter object represents the attributes of the page footer group. This example shows you how to suppress the display of the page footer.
ActiveDocument.Sections["Report"].PageFooter.Visible = false

Methods: Properties:

None Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Objects:

4-148

Objects

PageHeader (Object)
Member of: Description: Example: ReportSection object The PageHeader object represents the attributes of the page header group. 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: Properties:

None Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Shapes Collection, Pivots collection, Pivot collection, Chart collection

Objects:

PageHeader (Object)

4-149

PageNm (Object)
Member of: Description: Example: Fields collection Sets the current page number. 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() 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-150

Objects

PageXofY Field (Object)


Member of: Description: Example: Fields collection Sets the current page of the total number of pages. 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 = 4 ActiveDocument.Sections["Sales Report"].PageFooter.Fields["PageXofY Field"].Line.Color = bqGreen ActiveDocument.Sections["Sales Report"].PageFooter.Fields["PageXofY Field"].Line.Width = 2

Methods: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() 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

Paging (Object)
Member of: Description: Toolbars Collection 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. 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 toolbar Toolbars["Formatting"].Visible=true;

Constants:

Methods: Properties:

None Read-only: Property Name As String, Property Type As BqToolbars Read-write: Property Visible As Boolean

4-152

Objects

Parentheses (Collections)
Member of: Description: Limits collection 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")

Parentheses (Collections)

4-153

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: Properties:

Add(), Item(NameOrIndex as Value), RemoveAll() Read-only: Count as Number

4-154

Objects

Parentheses (Object)
Member of: Description: Limits collection Returns or sets parentheses around values on the limit line. In Intelligence Clients, enclosed sub-operations are represented by parentheses. Suboperations allow you to override the default evaluation order, and may be required for certain operations involving both AND and OR operators. This example shows you how to remove all parentheses on the Limit line.

Example 1:

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: Properties:

Remove() Read-only: BeginLimitName as String, EndLimitName as String, Name as String

Parentheses (Object)

4-155

Path Field (Object)


Member of: Description: Example: Fields collection Returns the full path name of the document. 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() 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

4-156

Objects

PieChart (Object)
Member of: Description: Example: ChartSection Object The PieChart object represents pie chart settings. 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: Properties:

None 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

PieChart (Object)

4-157

PivotFact (Object)
Member of: Description: Methods: Properties: PivotFacts Collection The PivotFact object represents an individual fact within a pivot. AutoSizeHeight(), AutoSizeWidth(), Hide(), Remove() Read-write: Property DataFunction As BqDataFunction, Property Index As Long, Property NumberFormat As String Read-only: Property Name as String

4-158

Objects

PivotFacts (Collection)
Member of: Description: PivotSection Object 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() Read-only: Property Count As Number

Properties:

PivotFacts (Collection)

4-159

PivotLabel (Object)
Member of: Description: Pivot Labels Collection The PivotLabel object represents an individual (either a top or side) label within a Pivot report. AddTotals(), AutoSizeHeight(), AutoSizeWeight(), PivotTo([Index As Number]), Remove(), SortByFact(FactName As String, SortFunction As BqSortFunction, [SortOrder As BqSortOrder]), SortByLabel([SortOrder As BqSortOrder]) 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

Methods:

Properties:

4-160

Objects

PivotLabels (Collection)
Member of: Description: PivotSection Object 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() Read-only: Property Count As Number

Properties:

PivotLabels (Collection)

4-161

PivotLabelTotal (Object)
Member of: Description: SideLabel Object, TopLabel Object 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() or ActiveDocument.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=bqDataFunctionAverage ActiveDocument.Sections["SalesPivot"].TopLabels["Product Line"].Totals.Add()

Methods: Properties:

Add(), Item(NameOrIndex) As PivotLabelTotals, RemoveAll() Read-only: Property Count As Number

4-162

Objects

PivotLabelTotals (Collection)
Member of: Description: PivotLabelTotal (Object) 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"].Totals ActiveDocument.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()

PivotLabelTotals (Collection)

4-163

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.Count ActiveDocument.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 = BqDataFunction ActiveDocument.Sections["Pivot"].TopLabels["Region"].Totals[1].DataFunction = BqDataFunction

Methods: Properties: Constants:

Add(), Item(Value NameOrdIndex) RemoveAll() Read-only: Property Count As Number The PivotLabelTotals collection uses the BqDataFunction constant group: bqDataFunctionAveragebqDataFunctionCount bqDataFunctionCountDistinctbqDataFunctionIncrease bqDataFunctionMaximuBqDataFunctionMinimumbqDataFunctionNone bqDataFunctionNonNullAveragebqDataFunctionNonNullCount bqDataFunctionNullCountbqDataFunctionPercentOfColumn bqDataFunctionPercentOfIncreasebqDataFunctionPercentOfRow bqDataFunctionSum

4-164

Objects

PivotSection (Object)
Member of: Description: Example: Sections Collection The PivotSection object represents a pivot section. 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() 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

Properties:

Collections:

Events as Events, Facts As PivotFacts, SideLabels As PivotLabels, TopLabels As PivotLabels, UserValues as UserValues DataLabels As DataLabels, CornerLabels As CornerLabels,

Objects:

PivotSection (Object)

4-165

PlugInClient (Object)
Member of: Description: Events Collections Enables or disables execution of an web client document event in the 8.0 client environment. This objects properties take a boolean value, which by default is set to true. This example shows you how to disable all document events when running in the web client environment.

Example:

Documents["Sample1.bqy"].Events["PlugInClient"].ExecuteOnPostProcess=false Documents["Sample1.bqy"].Events["PlugInClient"].ExecuteOnPreProcess=false Documents["Sample1.bqy"].Events["PlugInClient"].ExecuteOnShutDown=false Documents["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

4-166

Objects

QuerySection (Object)
Member of: Description: Example 1: Sections Collection The QuerySection object represents a query section. 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"].RowReturned Console.Writeln("Returned "+ RowReturned+" Rows!")

QuerySection (Object)

4-167

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 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

Properties:

Objects: Collections:

DataModel As DataModel UserValueas as UserValues, Limits As Limits, AggregateLimits As AggregateLimits, rtItems, Requests As Requests, SortItems as SortItems, AppendQueries As AppendQueries

4-168

Objects

Query SQL (Object)


Member of: Description: Fields collection Sets the last SQL (Structured Query Language) sent to the database when the Process button (in Query) was used. This example shows you how to identify the Query SQL field in an Alert box.

Example:

Alert(ActiveDocument.Sections["Report"].Body.Fields["Query SQL"].Name)

Methods: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() 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

Query SQL (Object)

4-169

RecentFiles (Collection)
Member of: Description: Application object 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: Properties:

Function Item(NameorIndex) As String Read-only: Property Count As Long

4-170

Objects

ReportCharts (Collection)
Member of: ReportHeader object, ReportFooter object, PageHeader object, PageFooter object, Body object 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)

Description:

Methods: Properties: Objects:

Item(NameOrIndex as Name) Read-only: Count as Number ReportChart object

ReportCharts (Collection)

4-171

ReportChart (Object)
Member of: Description: ReportChart collection 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: Properties:

Layer(Value as BqLayer), String(Name as String), UnSpring() Read-only: Name as String

4-172

Objects

ReportFooter (Object)
Member of: Description: ReportSection object 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. This example shows you how to add a rose fill color to the report footer.

Example:

ActiveDocument.Sections["Report"].ReportFooter.Fill.Color = 16751052

Methods: Properties:

None 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

ReportFooter (Object)

4-173

ReportGroup (Object)
Member of: Description: ReportSection object 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. This example shows you how to remove the objects in the ReportGroup.

Example:

ActiveDocument.Sections["Report"].Groups["Report Group1"].Remove()

Methods: Properties: Objects and Collections:

Move(LabelNameBefore as String), Remove() Read-only: Name as String

ReportGroup Header, ReportGroup Footer, LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Pivots collection, Pivot collection, Chart collection

4-174

Objects

ReportHeader (Object)
Member of: Description: ReportSection object 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. 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.

Example:

Documents["Salesreport.bqy"].Sections["Report"].ReportHeader.KeepTogether

Methods: Properties:

None Read-write: KeepTogether as Boolean, KeepWithNext as Boolean, PageBreak as BqPageBreak, Visible as Boolean LineFormat object, FillFormat object, Tables collection, Fields collection, Shapes collection, Pivots collection, Chart collection

Objects:

ReportHeader (Object)

4-175

ReportName Field (Object)


Member of: Description: Fields collection Returns or sets the report name field.

Note
Example:

Be sure to include the Recalculate() method when using this object.

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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() 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

4-176

Objects

ReportPivot (Object)
Member of: Description: ReportPivot collection 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. This example shows you how to layer a Smart Pivot report to the front of a stack.

Example:

ActiveDocument.Sections["Report"].Body.Pivots["Pivot"].Layer(bqLayerFront)

Methods: Properties:

Layer(Value as BqLayer), Spring(Name as String), UnSpring() Read-only: Name as String

ReportPivot (Object)

4-177

ReportPivots (Collection)
Member of: ReportHeader object, ReportFooter object, PageHeader object, PageFooter object, Body object 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)

Description:

Methods: Properties: Objects:

Item(NameOrIndex as Name) Read-only: Count as Number ReportPivot object

4-178

Objects

ReportSection (Object)
Member of: Description: Example 1: Sections Collection The ReportSection object represents a report section. 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 = bqOrientationPortrait ActiveDocument.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() 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

Properties:

Objects and Coll:

UserValues collection, Groups collection, Events collection, UserValues collection

ReportSection (Object)

4-179

ReportTable (Object)
Member of: Description: ReportTable collection 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 = bqLightGreen ActiveDocument.Sections["Report"].Body.Tables["Table"].BackgroundAlternateColor = bqWhite ActiveDocument.Sections["Report"].Body.Tables["Table"].BackgroundAlternateFrequen cy = 1

Methods: Properties: Objects:

Item(NameOrIndex as Value) Read-only: Property Count as Number Dimension collection, Facts collection, SortItems collection

4-180

Objects

ReportTables (Collection)
Member of: Body object, PageHeader object, PageFooter object, ReportHeader object, ReportFooter object, The ReportTable collection represents all the table objects contained in a specific report section object. 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.

Description:

Example:

Console.Write(ActiveDocument.Sections["Report"].Body.Tables.Count)

Methods: Properties:

Spring as Sting Name, UnSpring 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

ReportTables (Collection)

4-181

Request (Object)
Member of: Description: Example: Requests Collection The Request object represents an individual, request line item. This example prints out the display name and data type of each item on the request line.

var count = ActiveDocument.Sections["Query"].Requests.Count for(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: Properties:

Remove() Read-only: Property SQLName As String Read-write: Property DataType As BqDataType, Property DisplayName As String, Property SQLName as String, Property Visible As Boolean

4-182

Objects

Requests (Collection)
Member of: Description: QuerySection Object 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() Read-only: Property Count As Number

Properties:

Requests (Collection)

4-183

Result Limit (Object)


Member of: Description: Example: Fields collection Sets a Results limit field definition. 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() 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-184

Objects

Results (Object)
Member of: Description: Example: Results Collection The Result object represents an individual results set in a table catalog. The following example shows how to add a local results set to a Data Model.

//Results Object ResultSetName=ActiveDocument.Sections["Query2"].DataModel.Catalog.Results["Result s2"].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{} 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

Properties:

Collections:

UserValues as UserValuesColumns As Columns, Limits as Limits, SortItems as SortItems

Results (Object)

4-185

Results (Collection)
Member of: Description: DMCatalog Object 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: Properties:

Item(NameOrIndex) As DMResult Read-only: Property Count As Number

4-186

Objects

RightAxis (Object)
Member of: Example: ValuesAxis Object This example shows you how to set basic properties for the right axis.
with(ActiveDocument.Sections["Chart"].ValuesAxis) { RightAxis.AutoScale = true RightAxis.ShowLabel = false RightAxis.LabelText = "Right Axis" }

Methods: Properties:

None Read-write: Property AutoScale As Boolean, Property LabelText As String, Property ScaleMax As Number, Property ScaleMin As Number, Property ShowLabel As Boolean

RightAxis (Object)

4-187

Scheduler (Object)
Member of: Description: Events Collections 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=false Documents["Sample1.bqy"].Events["Scheduler"].ExecuteOnPreProcess=false Documents["Sample1.bqy"].Events["Screduler"].ExecuteOnShutDown=false Documents["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

4-188

Objects

Section (Object)
Member of: Description: Sections Collection 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. 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."

Example:

myChart = ActiveDocument.Sections["Sales Chart"] myChart.Activate() myChart.ShowLegend = true myChart.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() 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

Properties:

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

Section (Object)

4-189

bqExportFormatHTML bqExportFormatJPEG bqExportFormatLotus123 bqExportFormatText

4-190

Objects

Sections (Object)
Member of: Description: Toolbars Collection 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 toolbar Toolbars["Sections"].Visible=true;

Methods: Properties:

None Read-only: Property Name As String, Property Type As BqToolbars Read-write: Property Visible As Boolean

Sections (Object)

4-191

Sections (Collection)
Member of: Description: Document Object 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 dependence MySection = 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 Read-only: Property Count As Number Query object, Results object, Pivot object, Chart object, and Dashboard object

Properties: Objects:

4-192

Objects

SelectedList (Object)
Member of: Description: Example: ListBoxControl Object The SelectedList object represents all of the selected items within a list box. 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: Properties:

Item(Index As Number) As String, ItemIndex(Index As Number) As Number Read-only: Property Count As Number

SelectedList (Object)

4-193

SelectedValues (Collection)
Member of: Description: Limit Object 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)}

4-194

Objects

Methods: Properties:

Add(Value ValueItem), AddAll(), Item(Number Index), RemoveAll() Read-only: Property Count as Number,

SelectedValues (Collection)

4-195

Session (Object)
Member of: Description: Application Object The Session object refers to the current Web browsers session variables. The Session object contains 3 collections, which logically group a browsers 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=enable if (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")

4-196

Objects

Methods: Properties: Collections

None Read-only: Property Active As Boolean Form as Form, Cookies as Cookies, URL as URL

Session (Object)

4-197

Shape (Object)
Member of: Description: Shapes Collection 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. 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.

Example:

Line1.DashStyle=bqDashStyleDotDash Line1.LineWidth = 3 //note you may use Hex values instead of enumerated types for any color property Rect1.BorderColor = bqBlue Rect1.Line.DashStyle=bqDashStyleDotDash TextLabel.Text = "Welcome to Brio Enterprise Scripting" TextLabel.Font.Style = bqFontStyleBoldItalic

Methods: Properties:

OnClick() 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

4-198

Objects

Shapes (Collection)
Member of: Description: DashboardSection Object 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: Properties:

Item(NameOrIndex) As Shape Read-only: Property Count As Number

Shapes (Collection)

4-199

SharedLibrary (Object)
Member of: Description: Example: Application Object The SharedLibrary object represents an external, dynamically linked library. 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])

4-200

Objects

SortItems (Collection)
Member of: Description: QuerySection Object, ResultsSectionObject, TableSection Object 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

SortItems (Collection)

4-201

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: Properties:

Add(String Request), Item(ValueNameOrIndex), RemoveAll(), SortNow() Read-only: Property Count As Long

4-202

Objects

SortItems (Object)
Member of: Description: QuerySection Object, ResultsSectionObject, TableSection Object 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. The SortItem object uses the SortOrder property. The SortItems property uses the BqSortOrder constant group which consists of the following values: bqSortAscend bqSortDescend

Constants:

Methods: Properties:

Remove() Read-Write: Property SortOrder as BqSortOrder

SortItems (Object)

4-203

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).

4-204

Objects

Standard (Object)
Member of: Description: Toolbars Collection 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 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;

Constants:

Methods: Properties:

None Read-only: Property Name As String, Property Type As BqToolbars Read-write: Property Visible As Boolean

Standard (Object)

4-205

TableFact (Object)
Member of: Description: TableFacts collection 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. This example shows you how to remove the "Unit Sales" object from table facts.

Example 1:

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: Properties:

Move(LabelNameBefore as String), Remove() 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

4-206

Objects

TableFacts (Collection)
Member of: Description: ReportTable object 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("MyCompu ted", 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() Read-only: Count as Number

Properties:

TableFacts (Collection)

4-207

TableSection (Object)
Member of: Description: Sections Collection The TableSection object represents a results or table section, contained within a document. This example shows you how to print the names of all the columns to the console window.
MyResults = ActiveDocument.Sections["Results"] ColumnCount = MyResults.Columns.Count for (I=1;I<= ColumnCount;I++) Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n")

Example:

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() 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

Properties:

Collections:

Limits As Limits, Columns As Columns, SortItems as SortItems

4-208

Objects

ThinClient (Object)
Member of: Description: Events Collections Enables or disables execution of an Intelligence iServer (thin client) document event in the 8.0 client environment. This objects properties take a boolean value, which by default is set to true. This example shows you how to disable all document events when running in an Intelligence iServer (web-browser) environment:

Example:

Documents["Sample1.bqy"].Events["ThiClient"].ExecuteOnPostProcess=false Documents["Sample1.bqy"].Events["ThinClient"].ExecuteOnPreProcess=false Documents["Sample1.bqy"].Events["ThinClient"].ExecuteOnShutDown=false Documents["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

ThinClient (Object)

4-209

Time Field (Object)


Member of: Description: Example: Fields collection Sets the current time in HH:MM AM/PM format. 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring() 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-210

Objects

TimeNow Field (Object)


Member of: Description: Fields collection 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: Properties:

Layer(BqLayer value), Spring(String Name), UnSpring 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

Toolbar (Object)
Member of: Description: Toolbars Collection The Toolbar object represents an individual toolbar, contained in the application. 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 }

Constants:

Methods: Properties:

None Read-only: Property Name As String, Property Type As BqToolbars Read-write: Property Visible As Boolean

4-212

Objects

Toolbars (Collection)
Member of: Description: Application Object 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: Properties: Objects:

Item(NameOrIndex) As Toolbar Read-only: Property Count As Number Standard (Toolbar) object, Formatting (Toolbar) object, Sections (Toolbar) object, Navigation (Toolbar) object

Toolbars (Collection)

4-213

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).

4-214

Objects

Topic (Object)
Member of: Description: Example 1: DataModel Object The Topic object represents a topic in a data model or query section. 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: Properties:

Remove() Read-only: Property PhysicalName As String, Property Type As BqTopicType Read-write: Property DisplayName As String, Property View As BqTopicView

Collections:

TopicItems As TopicItems

Topic (Object)

4-215

TopicItem (Object)
Member of: Description: Example: Topic Object The TopicItem object represents an individual field within a topic. 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.Count for(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: Properties:

None Read-only: Property PhysicalName As String Read-write: Property DisplayName As String, Property Visible As Boolean

4-216

Objects

TopicItems (Collection)
Member of: Description: Topic Object 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.Count for(I=1;I<= TopicsCount;I++) { Console.Write("\r\nTopic - "+Topics[I].DisplayName+"\r\n") TopicItemsCount = Topics[I].TopicItems.Count for(j=1;j<= TopicItemsCount;j++) Console.Write(Topics[I].TopicItems[j].DisplayName) } }

Methods: Properties

Item(NameOrIndex) As TopicItem Read-only: Property Count As Number

TopicItems (Collection)

4-217

Topics (Collection)
Member of: Description: DataModel object 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.Count for(I=1;I<= TopicsCount;I++) { Console.Write(Topics[I].DisplayName) TopicItemsCount = Topics[I].TopicItems.Count for(j=1;j<= TopicItemsCount;j++) Console.Write(Topics[I].TopicItems[j].DisplayName) } }

Methods:

Add(TableObject As DMCatalogItem) As Topic, Item(NameOrIndex) As Topic, RemoveAll() Read-only: Property Count As Number

Properties:

4-218

Objects

URL (Collection)
Member of: Description: Session Object 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 readonly 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
Tip

The Session.URL.Add () and Session.URL.Item() object model syntax is not supported in an Intelligence iServer BQY document.

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")

URL (Collection)

4-219

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.URL Console.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

4-220

Objects

UserValues (Collection)
Member of: Description: Document Collection 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 .

UserValues (Collection)

4-221

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 programs behavior accordingly.

Methods:

Add(String Name, [optional] String Value), Item(Value NameOrIndex), RemoveAll Read-only: Count as Number UserValue object

Properties: Objects:

4-222

Objects

ValuesAxis (Object)
Member of: Description: ChartSection Object The ValuesAxis object logically represents all the properties of a charts values axis. This example shows you how to set some basic properties for the left axis.
with(ActiveDocument.Sections["Chart"]) { ValuesAxis.LeftAxis.AutoScale = true ValuesAxis.LeftAxis.ShowLabel = false ValuesAxis.RightAxis.AutoScale = true ValuesAxis.RightAxis.ShowLabel = false ValuesAxis.RightAxis.LabelText = "Right Axis" }

Example:

Methods: Properties:

None Read-write: Property ShowIntervalTickmarks As Boolean, Property ShowIntervalValues As Boolean, Property ShowValuesAtRight As Boolean LeftAxis As LeftAxis, RightAxis As RightAxis

Objects:

ValuesAxis (Object)

4-223

WebClientDocument (Object)
Member of: Applies to Description: Documents Collection, Application Object web client 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. 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) 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

Methods:

Properties:

4-224

Objects

XAxisLabel (Object)
Member of: Description: LabelsAxis Object An object that represents a chart X-axis label. This objects 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. This example shows how to modify the properties of the X Axis label.

Example:

ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.AutoFrequency = true ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.LabelFrequency = 3 ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.LabelText = "X Axis" ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.ShowLabel = true ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.ShowTickmarks = false ActiveDocument.Sections["Chart1"].LabelsAxis.Xaxis.ShowValues = true ActiveDocument.Sections["Chart1"].LabelsAxis.XAxis.TickmarkFrequency = 4

Methods: Properties:

None 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

XAxisLabel (Object)

4-225

XCategories (Collection)
Description: For information on the XCategories collection, see: CategoryItems (Collection).

4-226

Objects

XCategory (Object)
Member of: Description: CategoryItems (Collection) 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. The following example shows you how to sort by facts for the Quarter X categories:

Example:

ActiveDocument.Sections["BooksChart"].XCategories["Quarter"].SortByFact()

Methods:

Hide(), SortByFact(String FactName, BqSortFunction SortFunction, [optional] BqSortOrder SortOrder), SortByLabel{[optional] BqSortOrder SortOrder} Read-only: Property Name as String, SortFactName as String, SortFunction as Number, SortOrder as Number

Properties:

XCategory (Object)

4-227

XLabels (Object)
Member of: Description: Chart Object An object that represents a label value on the X-axis. This objects 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
Example:

You must specify the label value(s) in an array before using the FocusSelection, HideSelection and UnhideAll methods.

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() Read-only: Property Count as Number LabelValues As LabelValues

Properties: Objects:

4-228

Objects

YLabels (Object)
Member of: Description: Chart Object An object that represents a label value on the Y-axis. This objects 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
Example:

You must specify the label value(s) in an array before using the FocusSelection (Method), HideSelection (Method) and UnhideAll (Method).

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() Read-only: Property Count as Number LabelValues As LabelValues

Properties: Objects:

YLabels (Object)

4-229

ZAxisLabel (Object)
Member of: Description: LabelsAxis Object An object that represents a charts Z-axis. This objects properties directly affect the display of the Z-axis label. This example shows how to modify the properties of the Z-axis label.

Example:

ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.AutoFrequency = true ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.LabelFrequency = 3 ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.LabelText = "X Axix" ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.ShowLabel = true ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.ShowTickmarks = false ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.ShowValues = true ActiveDocument.Sections["Chart1"].LabelsAxis.ZAxis.TickmarkFrequency = 4

Methods: Properties:

None Read-write: Property LabelText As String, Property ShowLabel As Boolean, Property ShowTickmarks As Boolean, Property ShowValues As Boolean

4-230

Objects

ZCategories (Collection)
Description: For information on the ZCategories collection, see: CategoryItems (Collection).

ZCategories (Collection)

4-231

ZCategory (Object)
Member of: Description: CategoryItems (Collection) 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. The following example shows you how to sort by labels for the Quarter X categories:

Example:

ActiveDocument.Sections["BooksChart"].XCategories["Quarter"].SortByLabel()

Methods:

Hide(), SortByFact(String FactName, BqSortFunction SortFunction, [optional] BqSortOrder SortOrder), SortByLabel{[optional] BqSortOrder SortOrder} Read-only: Property Name as String, SortFactName as String, SortFunction as Number, SortOrder as Number

Properties:

4-232

Objects

ZLabels (Object)
Member of: Description: Chart Object An object that represents a label value on the Z-axis. This objects 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
Example:

You must specify the label value(s) in an array before using the FocusSelection (Method), HideSelection (Method) and UnhideAll (Method).

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() Read-only: Property Count as Number LabelValues As LabelValues

Properties: Objects:

ZLabels (Object)

4-233

Adding and Maintaining the UserValue Object


Use 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 object


To 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 objects 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 objects UserValues collection by one.

4-234

Objects

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 object


To 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 antry-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.

Adding and Maintaining the UserValue Object

4-235

Removing a UserValue object


To remove the user defined value for any specific object:

Invoke the Remove method for the item.

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 collections 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.

4-236

Objects

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.

Activate (Method)
Applies To: ChartSection, DataModelSection, Document object, DashboardSection object, OLAPQuerySection, PivotSection object, QuerySection object, ReportSection, ResultsSection object, Sections collection, TableSection, WebClientDocument The activate method is used to switch the focus of a document or section.
Expression.Activate()

Description: Syntax:

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 = true MySection.Activate()

5-2

Methods

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 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.

Description:

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
Add (Method)

5-3

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

5-4

Methods

["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.

Add (Method)

5-5

AddAll (Method)
Applies To: Description: SelectedValues Collections (instantiated from the LimitValues Collection) 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 section mylimit =ActiveDocument.Sections["Query"].Limits.CreateLimit("Periods.Quarter") mylimit.Operator=bqLimitOperatorEqual ActiveDocument.Sections["Query"].Limits.Add(mylimit) //Selects ALL Available values in the Limits dialog ActiveDocument.Sections["Query"].Limits[1].SelectedValues.AddAll()

5-6

Methods

AddAllTopics (Method)
Applies To: Description: DefinedJoinPath collection 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.
ActiveDocument.Sections["Query"].DataModel. JoinsOptions.DefinedJoinPath[MyJoinPath]. AddAllTopics()

Syntax:

Example:

In this example all topics are added to the MyJoinPath join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath[MyJoinPa th].AddAllTopics()

AddAllTopics (Method)

5-7

AddComputed (Method)
Applies To: Description: Syntax: Columns collection Creates a new computed column in a Table or Results section.
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)

5-8

Methods

AddComputedItem (Method)
Applies To: Description: Chart Facts, Pivot Facts, Request. 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 items 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.

AddComputedItem (Method)

5-9

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)

5-10

Methods

AddDrillThroughValue (Method)
Applies To: Description: Syntax: OLAPQuery object Adds a label names as a drill through value.
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")

AddDrillThroughValue (Method)

5-11

AddDrillValue (Method)
Applies To: Description: Syntax: TopLabels collection, SideLabels collection, Measures collection Sets the label or measure on which to drill down.
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()

5-12

Methods

AddExportSection (Method)
Applies To: ChartSection, Document object, PivotSection, QuerySection, Section, TableSection 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.

Description:

AddExportSection (Method)

5-13

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
Syntax:

You cannot export the Query, OLAPQuery, and DataModel sections.

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 document ActiveDocument.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)

5-14

Methods

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 document Documents["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 flushed ActiveDocument.Export(C;\\Temp\\MyExportFile.htm, bqExportFormatHTML)

AddExportSection (Method)

5-15

AddFilter (Method)
Applies To: Description: OLAPLabel object 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

5-16

Methods

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(bqOLAPFilterOpTyp eUserDefAttr, bqOperatorNone,"MyUserDefinedAttrribute","",True); ActiveDocument.Sections["OLAPQuery"].TopLabels["Year"]AddFilter(bqOLAPFilterOpTyp eSubVar, bqOperatorNone"MySubstitutionVariable","",False);

AddFilter (Method)

5-17

AddFilterValue (Method)
Applies To: Description: OLAPLabel, OLAPMeasures 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
Syntax:

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.

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

5-18

Methods

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')

AddFilterValue (Method)

5-19

AddTopic (Method)
Applies To: Description: DefinedJoinPath collection 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.
ActiveDocument.Sections["Query"]. DataModel.JoinsOptions.DefinedJoinPath[MyJoinPath]. AddTopic(String)

Syntax:

Example:

In this example, the topic "Products" is added to the MyJoinPath join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath[MyJoinPa th].AddTopic("Products")

5-20

Methods

AddTotal (Method)
Applies To: Description: Syntax: OLAPLabel object (TopLabels and SideLabels object) Creates an additional column containing the totals for a top or side label.
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()

AddTotal (Method)

5-21

AddTotals (Method)
Applies To: Description: PivotLabels (TopLabels and SideLabels collections) Creates an additional row or column containing the totals for all columns or rows of the pivot.
Expression.AddTotals()

Syntax:

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()

5-22

Methods

Alert (Method)
Applies To: Description: Application 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.
Expression.Alert(Prompt As String, [Title As String], [Button1Text As String], [Button2Text As String], [Button3Text As String]) As Integer.

Syntax:

Expression Required: An expression that returns an object for Application. Example: This example shows you how to display an Alert dialog and process the users 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!") }

Alert (Method)

5-23

AliasTable (Method)
Applies To: Description: DBSpecific object (Essbase and DB2 OLAP only) 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)

5-24

Methods

AuditSQL (Method)
Applies To: Description: Query object, DataModel object 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.
Expression.AuditSQL(EventType As BqAuditEventType, SQLStatement As String)

Syntax:

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")

AuditSQL (Method)

5-25

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")

5-26

Methods

AutoSizeHeight (Method)
Applies To: PivotLabel collection, PivotFact object, OLAPLabel object, OLAPMeasure object 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.
Expression.AutoSizeHeight()

Description:

Syntax:

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()

AutoSizeHeight (Method)

5-27

AutoSizeWidth (Method)
Applies To: PivotLabel collection, PivotFact object, OLAPLabel object,OLAPMeasure object 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.
Expression.AutoSizeWidth()

Description:

Syntax:

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()

5-28

Methods

Call (Method)
Applies To: Description: Syntax: SharedLibrary Use the call method to invoke functions in external dlls.
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);

Call (Method)

5-29

ChartThisPivot (Method)
Applies To: Description: Syntax: PivotSection object Creates a new chart section using the criteria defined in a Pivot section.
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"

5-30

Methods

Close (Method)
Applies To: Description: Document object, WebClientDocument Closes the document. This method is equivalent to selecting FileClose.

Note
Syntax:

The Document.Close() object model syntax is not supported in an Intelligence iServer BQY document.

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.Count for (j = 1 ; j <= OpenDocs ; j++) Documents[j].Close()

Close (Method)

5-31

Connect (Method)
Applies To: Description: Connection object, MetaDataConnection object 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.

5-32

Methods

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.Connection MyConnection.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 connection if (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) }

Connect (Method)

5-33

Copy (Method)
Applies To: ChartSection, DataModelSection, DashboardSection, PivotSection object, QuerySection object, OLAPQuery object, Section object, TableSection, ReportSection object Makes a copy of the section and puts in on the clipboard.
Expression.Copy()

Description: Syntax:

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()

5-34

Methods

CreateConnection (Method)
Applies To: Description: Application 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
Syntax:

The Application.CreateConnection() object model syntax is not supported in an Intelligence iServer BQY document.

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 = bqApiODBC myCon.Database = bqDatabaseODBC myCon.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()

CreateConnection (Method)

5-35

CreateDateGroup (Method)
Applies To: Description: Column Creates a date group from a Results or Table column. The data in the column must be a date.
Expression.CreateDateGroup()

Syntax:

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.Count for (i = 1; i <= ColCount ; i++) { if ( ActiveDocument.Sections["Results"].Columns[i].DataType ==bqDataTypeDate) ActiveDocument.Sections["Results"].Columns[i].CreateDateGroup() }

5-36

Methods

CreateLimit (Method)
Applies To: Description: AggregateLimits collection, Limits collection 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.
Expression.CreateLimit(limitItem As String) As Limit

Syntax:

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 items 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 = bqLimitOperatorEqual MyLimit.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.

CreateLimit (Method)

5-37

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();

5-38

Methods

CustomSQLFrom (Method)
Applies To: Description: QuerySection object 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 SQL ActiveDocument.Sections["Query"].CustomSQLFrom(FROM From.Sales_Fact, From.Periods, From.Products)

CustomSQLFrom (Method)

5-39

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-40

Methods

CustomSQLWhere (Method)
Applies To: Description QuerySection object 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();

CustomSQLWhere (Method)

5-41

Disconnect (Method)
Applies To: Description: Syntax: Connection object, MetaDataConnection object Drops the connection between the connection object and the datasource.
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()

5-42

Methods

DoEvents (Method)
Applies To: Description: Application 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
Syntax: Example:

The Application.DoEvents() object model syntax is not supported in an Intelligence iServer BQY document.

Application.DoEvents()

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) }

DoEvents (Method)

5-43

DownloadToResults (Method)
Applies To: Description: OLAPQuery object 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 OLAPToolsOptionsProgram OptionsOLAP tabAuto 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: Example:
Expression.DownloadToResults()

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()

5-44

Methods

DrillDown (Method)
Applies To: TopLabels collection, SideLabels collection, Measures collection

Note
Description: Syntax:

DrillDown and DrillUp Measures are specific to Essbase and DB2 for OLAP.

Executes the drill down value set up through the AddDrillValue (Method).
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()

DrillDown (Method)

5-45

DrillThrough (Method)
Applies To: Description: OLAPQuery object

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)

5-46

Methods

DrillUp (Method)
Applies To: Description: TopLabels collection, SideLabels collection, Measures collection Drills up the value drilled down AddDrillValue (Method).

Note
Syntax:

DrillDown and DrillUp Measures are specific to Essbase and DB2 for OLAP.

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()

DrillUp (Method)

5-47

Duplicate (Method)
Applies To: ChartSection, DataModelSection, DashboardSection, OLAPQuerySection, PivotSection object, QuerySection object, ResultsSection object, TableSection, ReportSection Creates an exact copy of a section.
Expression.Duplicate()

Description: Syntax:

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()

5-48

Methods

ExecuteBScript (Method)
Applies To: Description: Application Executes Intelligence Clientss old scripting language commands. By default, all old scripts are wrapped by this function when they are converted from an old document.
Expression.ExecuteBScript(Script As String)

Syntax:

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'")

ExecuteBScript (Method)

5-49

Export (Method)
Applies To: ChartSection, DataModelSection, Document object, DashboardSection object, OLAPQuerySection, PivotSection object, QuerySection, ResultsSection object, Section object, TableSection, ReportSection 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.
Expression.Export(Filename As String, [optional] FileFormat As BqExportFileFormat, [optional]IncludeHeaders As Boolean], [optional] Boolean Prompt)

Description:

Syntax:

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

5-50

Methods

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 HREFs var ComputedExpression = "URL.link()" ActiveDocument.Sections["Results"].Columns.AddComputed("Clickable URLS",ComputedExpression) ActiveDocument.Sections["Results"].Export("C:\\HTML\\MyResults.htm", bqExportFormatHTML,false)

Export (Method)

5-51

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

5-52

Methods

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)

ExportToStream (Method)

5-53

FocusSelection (Method)
Applies To: Description: AxisLabels (XLabels, YLabels, and ZLabels) Allows you to single out selected label value item(s), enabling you to concentrate your view to particular item(s) of interest.

Note
Syntax:

You must specify the label value(s) item in an array before using the FocusSelection method.

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)

5-54

Methods

GetCell (Method)
Applies To: Description: Syntax: Column, ResultsSection object, TableSection Returns the value of an individual cell in a Results or Table section.
Expression.GetCell(nRow As Long) as variant Expression.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"].RowCount var MyCol = ActiveDocument.Sections["Results"].Columns["State"] for (j = 1 ; j <= RowCount ; j = j+1) { var Temp = MyCol.GetCell(j) MyList.Add(Temp) }

GetCell (Method)

5-55

Hide (Method)
Applies To: Description: Chart Fact object 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.
Expression.Hide()

Syntax:

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()

5-56

Methods

HideSelection (Method)
Applies To: Description: AxisLabels (XLabels, Ylabels and ZLabels) Allows you to hide selected label value item(s), enabling you to concentrate your view to selected item(s) of interest.

Note
Syntax:

You must specify the label value(s) item in an Array before using the HideSelection method.

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)

HideSelection (Method)

5-57

ImportDataFile (Method)
Applies To: Description: Syntax: Sections collection, WebClientDocument Imports a data file into a Query section.
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)

5-58

Methods

ImportSQLFile (Method)
Applies To: Description: QuerySection 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 userfriendly 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()

ImportSQLFile (Method)

5-59

InterruptQueryProcess (Method)
Applies To: Description: Document object 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.
Expression.InterruptQueryProcess()

Syntax:

Expression Required: Intelligence Clients document Example: This example displays the OnInterruptQueryProcess method for an active document.
ActiveDocument.InterruptQueryProcess()

5-60

Methods

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 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.

Description:

Note
Syntax:

The Session.Form.Item (), Session.URL.Item(), and Session.Cookies.Item() object model syntax is not supported in an Intelligence iServer BQY document.

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

Item (Method)

5-61

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 or var or var or var MySection = ActiveDocument.Sections.Item(3) MySection = ActiveDocument.Sections[3] MySection = ActiveDocument.Sections.Item("Query") MySection = ActiveDocument.Sections["Query"]

5-62

Methods

ItemIndex (Method)
Applies To: Description: Syntax: Example: Listbox Sets the index value of each value in a listbox.
Expression.ItemIndex(Number nIndex)

This example shows you how to return the third index value.
ListBox1.SelectedList.ItemIndex()

ItemIndex (Method)

5-63

Layer (Method)
Applies To: Field object, Table object, ReportPivot collection, ReportChart collection, Shapes collection 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)

Description:

Expression Required: An expression that layers a report object.

5-64

Methods

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)

Layer (Method)

5-65

LoadFromFile (Method)
Applies To: Description: Syntax: Limit Loads a list of values into a limit from a file.
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)

5-66

Methods

LoadSharedLibrary (Method)
Applies To: Description: Application 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
Syntax:

The Application.LoadSharedLibrary() object model syntax is not supported in an Intelligence iServer BQY document.

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);

LoadSharedLibrary (Method)

5-67

ModifyComputed (Method)
Applies To: Description: Columns collection 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).
Expression.ModifyComputed(NameOrIndex As Value, Expression As String)

Syntax:

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 undefined ActiveDocument.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 problem ActiveDocument.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";

5-68

Methods

ModifyRepositoryFileOther (Method)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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).
Expression.ModifyRepositoryFileOther(DocumentName, [DocumentParameters])

Syntax:

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).

ModifyRepositoryFileOther (Method)

5-69

ModifyRepositoryFileBQY (Method)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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.
Expression. ModifyRepositoryFileBQY(DocumentName,[BQYSectionName], [Toolbar],[DocumentParameters])

Syntax:

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)

5-70

Methods

//Set document argument value Console.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 value Console.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())

ModifyRepositoryFileBQY (Method)

5-71

} } //Set Toolbar argument value Console.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 toolbar var 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 value Console.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 parameters var sDocParams = "" } catch(e) { Console.Writeln("Caught 4a: " + e.toString()) } } else { try { var sDocParams = TextBox5.Text

5-72

Methods

} catch(e) { Console.Writeln("Caught 4b: " + e.toString()) } } //Use the argument values in the method Console.Writeln("Step 5") try { ActiveSection.Shapes["EmbeddedBrowser1"].ModifyRepositoryFileBQY(sDocumentName, sBQYSectionName, cToolbarType, sDocParams) } catch(e) { Console.Writeln("Caught 5: " + e.toString()) } } Console.Writeln("End " + ActionName

ModifyRepositoryFileBQY (Method)

5-73

ModifyRepositoryFileBQYJob (Method)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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.
Expression.ModifyRepositoryFileBQYJob(DocumentName,
JobFilename, BQYSmartcut, [DocumentParameters], [JobRun], [BQYSectionName], [Toolbar])

Syntax:

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).

5-74

Methods

ModifyRepositoryFileSQRJob (Method)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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.
Expression.ModifyRepositoryFileSQRJob(DocumentName, JobFilename, [DocumentParameters], [JobRun])

Syntax:

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).

ModifyRepositoryFileSQRJob (Method)

5-75

Move (Method)
Applies To: Description: Groupitems object, ReportGroup object, TableFacts object 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.
Expression.Move(LabelNameBefore as String)

Syntax:

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()) }

5-76

Methods

New (Method)
Applies To: Description: Syntax: Documents collection Creates a new blank Intelligence Clients document.
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()

New (Method)

5-77

OnActivate (Method)
Applies To: Description: Dashboard Section 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.
Expression. OnActivate()

Syntax:

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
5-78
Methods

Table OLAPQuery Dashboard Example: This example displays the OnActivate method for an active Dashboard section.
ActiveDocument.Sections["Dashboard"].OnActivate()

OnActivate (Method)

5-79

OnChange (Method)
Applies To: Description: Dashboard Section 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
Syntax:

The ActiveDocument.Sections[Dashboard].Shapes[TextBox1]. OnChange()object model syntax is not supported in an Intelligence iServer BQY document.

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()

5-80

Methods

OnClick (Method)
Applies To: ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsOptionsButton, ControlsTextBox, Shape 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.
Expression.OnClick()

Description:

Syntax:

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()

OnClick (Method)

5-81

OnClientClick (Method)
Applies To: ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsOptionsButton, ControlsTextBox, Shape 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.

Description:

Note
Syntax:

For more information on client-side JavaScript, see Client-Side Events on page 20.

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()

5-82

Methods

OnClientEnter (Method)
Applies To: Description: Dashboard Section 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
Syntax:

For more information on client-side JavaScript, see .

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()

OnClientEnter (Method)

5-83

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
Syntax:

For more information on client-side JavaScript, see .

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()

5-84

Methods

OnDeactivate (Method)
Applies To: Description: Dashboard Section 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.
Expression. OnDeactivate()

Syntax:

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()

OnDeactivate (Method)

5-85

OnDoubleClick (Method)
Applies To: Description: Dashboard Section 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.
Expression. OnDoubleClick()

Syntax:

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()

5-86

Methods

OnEnter (Method)
Applies To: Description: Dashboard Section 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
Syntax:

The ActiveDocument.Sections[Dashboard].Shapes[TextBox1]. OnEnter()object model syntax is not supported in an Intelligence iServer BQY document.

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()

OnEnter (Method)

5-87

OnExit (Method)
Applies To: Description: Dashboard Section 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.
Expression.OnExit()

Syntax:

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 ()

5-88

Methods

OnPostProcess (Method)
Applies To: Description: Document object 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
Syntax:

Calling the Process (Method) from the OnPreProcess (Method) or OnPreProcess (Method) events can result in an infinite loop.

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()

OnPostProcess (Method)

5-89

OnPreProcess (Method)
Applies To: Description: Document object 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
Syntax:

Calling the Process (Method) from the OnPreProcess (Method) or OnPostProcess (Method) events can result in an infinite loop.

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()

5-90

Methods

OnRowDoubleClick (Method)
Applies To: Description: Dashboard Section 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
Expression. OnRowDoubleClick()

Syntax:

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()

OnRowDoubleClick (Method)

5-91

OnSelection (Method)
Applies To: Description: Dashboard Section 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.
Expression.OnSelection()

Syntax:

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"

5-92

Methods

OnShutdown (Method)
Applies To: Description: Document object 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
Syntax:

Any OnShutDown events are executed before you are prompted to save or discard changes made to a document in the Save dialog box.

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)

OnShutdown (Method)

5-93

OnStartup (Method)
Applies To: Description: Document object 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.
Expression. OnStartup()

Syntax:

Expression Required: An expression that returns a Intelligence Clients Document object. Example: This example displays the OnStartup method for an active document.
ActiveDocument.OnStartup()

5-94

Methods

Open (Method)
Applies To: Description: Connection object, MetaDataConnection object, Documents collection Documents Opens an existing Intelligence Clients document. Connection Opens an existing Open Catalog Extension file.

Note
Syntax:

The Documents.Open()object model syntax is not supported in an Intelligence iServer BQY document.

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.Connection MyCon.Open(MyOCE) MyCon.Username = "qa" MyCon.SetPassword("qa") MyCon.Connect()

Open (Method)

5-95

OpenURL (Method)
Applies To: Description: Application 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") }

5-96

Methods

PivotThisChart (Method)
Applies To: Description: Syntax: PivotCollection Changes a chart object into the form of a Pivot report.
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()

PivotThisChart (Method)

5-97

PivotTo (Method)
Applies To: Description: PivotLabel collection 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.
Expression.PivotTo([Index As Number])

Syntax:

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()

5-98

Methods

PrintOut (Method)
Applies To: ChartSection, DataModelSection, OLAPQuerySection, PivotSection object, QuerySection, ResultsSection, Section, TableSection, ReportSection Sends the information in a report section to the printer.

Description:

Note
Syntax:

The ActiveDocument.Sections[SectionName].PrintOut() object model syntax is not supported in an Intelligence iServer BQY document.

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 = 1 var EndPage = 1 var NumCopies =2 ActiveDocument.Sections["Pivot"].PrintOut(StartPage,EndPage,NumCopies)

PrintOut (Method)

5-99

Process (Method)
Applies To: Description: OLAPQuerySection, QuerySection Executes a query. This method is equivalent to selecting the Process Current item from the Tools menu.
Expression.Process()

Syntax:

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.") } }

5-100

Methods

ProcessAll (Method)
Applies To: Description: OLAPQuerySection, QuerySection 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 = 2 ActiveDocument.Sections["Query"].IncludeInProcessAll = true ActiveDocument.ProcessAll()

ProcessAll (Method)

5-101

ProcessStoredProc (Method)
Applies To: Description: QuerySection 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: Example:
Expression.ProcessStoredProc()

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-102

Methods

ProcessToTable (Method)
Applies To: Description: QuerySection 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 grantedeither 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)

ProcessToTable (Method)

5-103

Quit (Method)
Applies To: Description: Application Shuts down the Intelligence Clients application.

Note

The Application.Quit() object model syntax is not supported in an Intelligence iServer BQY document.

Note
Syntax:

The Quit method will not shut down a browser window.

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)

5-104

Methods

Recalculate (Method)
Applies To: ChartSection, DataModelSection, DashboardSection, OLAPQuerySection, PivotSection object, QuerySection, ResultsSection, Section, TableSection, ReportSection 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.
Expression.Recalculate()

Description:

Syntax:

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()

Recalculate (Method)

5-105

Refresh (Method)
Applies To: Description: Syntax: DMCatalog object Redisplays the tables in the table catalog.
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()

5-106

Methods

RefreshAvailableValues (Method)
Applies To: Description: Limit Generates a list of values for a limit. This method is equivalent to clicking the Show Values button on the Limit dialog box.
Expression.RefreshAvailableValues()

Syntax:

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()

RefreshAvailableValues (Method)

5-107

RefreshDataNow (Method)
Applies To: Description: ChartSection, PivotSection object 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.
Expression.RefreshDataNow()

Syntax:

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=bqRefreshDataManually ActiveDocument.Sections["Pivot"].RefreshDataNow()

5-108

Methods

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 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.
Expression.Remove(NameOrIndex) or Expression.Remove()

Description:

Syntax:

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

Remove (Method)

5-109

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()

5-110

Methods

RemoveAll (Method)
Applies To: AggregateLimits collection, AxisLabels, CategoryItems, Columns, ControlsDropDown, ControlsListBox, Joins, Limits, LimitValues, Parentheses collection, PivotLabelsTotals collection, Requests collection, Topics collection, TopLabels collection Removes all the items from a collection.
Expression.RemoveAll()

Description: Syntax:

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()

RemoveAll (Method)

5-111

RemoveAllTopics (Method)
Applies To: Description: DefinedJoinPath object 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.
ActiveDocument.Sections["Query"].DataModel. JoinsOptions.DefinedJoinPath[MyJoinPath].RemoveAllTo pics()

Syntax:

Example:

In the following example, all topics are removed from the MyJoinPath join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath[MyJoinPa th].RemoveAllTopics()

5-112

Methods

RemoveExportSection (Method)
Applies To: ChartSection, DataModelSection, Document object, DashboardSection, OLAPQuerySection, PivotSection, QuerySection, Section, TableSection 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.
Expression.RemoveExportSections()

Description:

Syntax: 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 document ActiveDocument.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 buffer ActiveDocument.RemoveExportSections() //Export ALL sections of .bqy document since Export buffer was flushed ActiveDocument.Export(C;\\Temp\\MyExportFile.htm, bqExportFormatHTML)

RemoveExportSection (Method)

5-113

RemoveFilterValue (Method)
Applies To: Description: TopLabel object, SideLabel object, Measure object 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. Expression to remove a single value based on literal string value in filter array:

Syntax:

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 SearchStringOrMemberNameOrNumberRowsColumnIndexORUserDefinedAttributeOrSubstituti onVariable)

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()

5-114

Methods

RemoveTopic (Method)
Applies To: Description: DefinedJoinPath collection 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["MyJoinPa th"].RemoveTopics(String DefinedJoinPathName)

Example:

In this example, all topics are removed from the MyJoinPath join path.

ActiveDocument.Sections["Query"].DataModel.JoinsOptions.DefinedJoinPath["MyJoinPa th"].RemoveTopic("Products")

RemoveTopic (Method)

5-115

RemoveTotal (Method)
Applies To: Description: Syntax: Example: OLAPLabels collection Removes the totals rows added to a top or side label column.
Expression.RemoveTotal()

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")

5-116

Methods

ResetCustomerSQL (Method)
Applies To: Description: QuerySection 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 SQL ActiveDocument.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();

ResetCustomerSQL (Method)

5-117

ResizeToBestFit (Method)
Applies To: Description: Column object Changes the width of a column to fit the data without clipping any information or displaying too much white space.
Expression.ResizeToBestFit()

Syntax:

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()

5-118

Methods

RetrieveDimensions (Method)
Applies To: Description: Syntax: OLAPCatalog object

Refreshes the dimension values in the Catalog pane.


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()

RetrieveDimensions (Method)

5-119

Save (Method)
Applies To: Connection object, MetaDataConnection object, Document object, WebClientDocument Saves the changes to a document or to an Open Catalog Extension file (.oce).

Description:

Note
Syntax:

The ActiveDocument.Save()object model syntax is not supported in an Intelligence iServer BQY document.

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()

5-120

Methods

SaveAs (Method)
Applies To: Connection object, MetaDataConnection object, Document object, WebClientDocument Saves a document or Open Catalog Extensions file (.oce) with a new name and/or location.

Description:

Note
Syntax:

The ActiveDocument.SaveAs()object model syntax is not supported in an Intelligence iServer BQY document.

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 + "\\"+ MyName ActiveDocument.SaveAs(MyFilename)

SaveAs (Method)

5-121

Select (Method)
Applies To: Description: Syntax: ControlsDropDown, ControlsListBox, ControlsTextBox Changes the user selection of items in a control.
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=1 DropDown2.Select(MyIndex)

5-122

Methods

SendSQL (Method)
Applies To: Description: Application 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)

SendSQL (Method)

5-123

SetDrillThrough (Method)
Applies To: Description: OLAPQuery object

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.
Expression.SetDrillThrough(Boolean mapORUnMap, String relationalQueryName, String dimensionOrRelationalTopicName, String factName)

Syntax:

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")

5-124

Methods

SetODSPassword (Method)
Applies to: Description: WebClientDocument 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.

SetODSPassword (Method)

5-125

SetPassword (Method)
Applies To: Description: Connection object, MetaDataConnection object Sets the password that is used by the Open Catalog Extension file (.oce) when connecting to the database.
Expression.SetPassword(Password As String)

Syntax:

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.Text if (Application.Name != "BrioQuery") ActiveDocument.Sections["Query"].DataModel.Connection.SetPassword(MyPass)

5-126

Methods

SetStoredProcParam (Method)
Applies To: Description: QuerySection object 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();

SetStoredProcParam (Method)

5-127

Shell (Method)
Applies To: Description: Application 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
Syntax:

The Application.Shell() object model syntax is not supported in an Intelligence iServer BQY document.

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)

5-128

Methods

ShowAll (Method)
Applies To: Description: Syntax: AxisLabels Unhides all hidden axis labels.
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()

ShowAll (Method)

5-129

ShowAsChart (Method)
Applies To: Description: OLAPQuery object

Charts the OLAPQuery data set; automatically creates OLAPChart and OLAPResults sections.
Expression.ShowAsChart()

Syntax: 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()

5-130

Methods

SortByFact (Method)
Applies To: Description: PivotLabels collection, CategoryItems collection 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.
Expression.SortByFact(FactName As String,SortFunction As BqSortFunction, [optional]SortOrder As BqSortOrder)

Syntax:

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)

SortByFact (Method)

5-131

SortByLabel (Method)
Applies To: Description: PivotLabels collection, CategoryItems collection 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
Expression.SortByLabel([SortOrder As BqSortOrder])

Syntax:

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)

5-132

Methods

SortNow (Method)
Applies To: Description: SortItems Collection 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).
Expression.SortNow()

Syntax:

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"

SortNow (Method)

5-133

Spring (Method)
Applies To: Field object, Table object, ReportPivot collection, ReportChart collection, Shapes collection 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).
Expression.Spring(Name as String)

Description:

Syntax:

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"].S pring("Pivot")

5-134

Methods

SyncWithDatabase (Method)
Applies To: Description: Syntax: DataModel object Causes a Data Model to synchronize itself with the underlying database tables.
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"].DataModel MyDM.SyncWithDatabase()

SyncWithDatabase (Method)

5-135

UnHide (Method)
Applies To: Description: OLAPMeasure object

Retrieves hidden measure items from the selected row or column to the OLAPQuery report.
Expression.UnHide()

Syntax:

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()

5-136

Methods

UnhideAll (Method)
Applies To: Description: AxisLabels (XLabels, Ylabels, and ZLabels) Allows you to restore all hidden label value item(s) that are hidden through the HideSelection (Method) and FocusSelection (Method).
Expression.XLabels.UnhideAll()

Syntax:

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()

UnhideAll (Method)

5-137

Unselect (Method)
Applies To: Description: ControlsListBox Causes an item in a list box to be unselected whether it has been selected or not.
Expression.Unselect(Index As Number)

Syntax:

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. 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 count var cnt = ListBox1.Count for (var i = 1; i <= cnt; i++) { ListBox1.Select(i) } TextBox1.Text=ListBox1.SelectedList.Count //Unselects first index value in ListBox1 ListBox1.Unselect(1) TextBox1.Text=ListBox1.SelectedList.Count //Unselects second index value in ListBox1 ListBox1.Unselect(2) TextBox1.Text=ListBox1.SelectedList.Count //Unselects third index value in ListBox1 ListBox1.Unselect(3) TextBox1.Text=ListBox1.SelectedList.Count //Unselects fourth index value in ListBox1 ListBox1.Unselect(4) TextBox1.Text=ListBox1.SelectedList.Count

Example:

5-138

Methods

UnSpring (Method)
Applies To: Field object, Table object, ReportPivot collection, ReportChart collection, Shapes collection 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).
Expression.Unspring(Name as String)

Description:

Syntax:

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()

UnSpring (Method)

5-139

UseAlternateMetadataLocation (Method)
Applies To: Description: Syntax: Connection object, MetaDataConnection object Sets a alternate datasource for retrieving metadata information.
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"].DataModel var MyOCE = "c:\\OCEs\\MetaOracle.oce" MyDM.Connection.UseAlternatieMetadataLocation(true,MyOCE)

5-140

Methods

Write (Method)
Applies To: Description: Console Prints the output text specified by the OutputData parameter to the console window.

Note
Syntax:

The Console.Write() object model syntax is not supported in an Intelligence iServer BQY document.

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 + ", ")

Write (Method)

5-141

Writeln (Method)
Applies To: Description: Console 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)

5-142

Methods

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-onlyA designer can access the value, but cannot change the data. Read-writeA 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.

Accessibility (Property)
Applies To: Description: Document object 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.

6-2

Properties

Action: Example:

Read-only, Boolean This example shows you how to to display an alternate Dashboard section and. or object
Documents["Sales.bqy"].Accessibility = true ActiveDocument.Accessibility=true

Accessibility (Property)

6-3

Active (Property)
Applies To: ChartSection, DataModelSection, Document object, DashboardSection, OLAPQuerySection, PivotSection object, PluginDocument, QuerySection, ResultsSection, Section, TableSection object, ReportSection 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.

Description:

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
Action:

The Session.Active object model syntax is not supported in an Intelligence iServer BQY document.

Read-only, Boolean

6-4

Properties

Example:

This example shows you how to find the active section in the document.

var SectionCount = ActiveDocument.Sections.Count for(j = 1 ; j <= SectionCount ; j++) { if(ActiveDocument.Sections[j].Active == true) Alert ("The Active section is "+ActiveDocument.Sections[j].Name) }

Active (Property)

6-5

AdaptiveState (Property)
Applies To: Description: Action: Constants: PluginDocument (web client only) Returns the current Adaptive state mode to which plug-in belongs. Read-only 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.AdaptiveState if( CurState == bqStateAnalyzeOnly || CurState == bqStateViewOnly) ActiveDocument.Sections["Start Here"].Activate() else ActiveDocument.Sections["Query"].Activate()

6-6

Properties

AdjustableScale (Property)
Applies To: Description: ValuesAxis 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. Read-Write, Boolean This example shows you how to calculate the minimum/maximum (Y) range based on the first two thousand bars for a chart.

Action: Example:

ActiveDocument.Sections["Chart"].ValuesAxis.AdjustableScale = true

AdjustableScale (Property)

6-7

Alignment (Property)
Applies To: Description: Action: Constants: Column object, Shape object, EmbeddedBrowser object, HyperLink object Returns or sets the horizontal alignment of the text in a column or shape. Read-write 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.Count for (j = 1 ; j <= ColCount ; j++) if (MyResults.Columns[j].DataType == bqDataTypeString) MyResults.Columns[j].Alignment = bqAlignLeft else MyResults.Columns[j].Alignment = bqAlignRight

6-8

Properties

AllowNonJoinedQueries (Property)
Applies To: Description: Connection object, MetaDataConnection object Returns or sets the value of a connection objects AllowNonJoinedQueries property. Setting AllowNonJoinedQueries equal to true allows queries with nonjoined topics to be processed. Read-write, Boolean 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.

Action: Example:

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 = true ActiveDocument.Sections["Query"].DataModel.Connection.Connect()

AllowNonJoinedQueries (Property)

6-9

API (Property)
Applies To: Description: Action: Constants: Connection object, MetaDataConnection object Returns or sets the value of the API associated with a connection file. Read-write 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 myCon myCon = Application.CreateConnection() myCon.Api =bqApiSQLNet myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

6-10

Properties

AttributeDimension (Property)
Applies To: Description: Dimension object 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.. Read only, Boolean This example shows you how to activate AutoAliasing and AutoJoining.

Action: Example:

ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Market"].AttributeDimens ion

AttributeDimension (Property)

6-11

AutoAlias (Property)
Applies To: Description: Action: Example: DataModel object Returns or sets the value of a Data Model AutoAlias property. Read-write, Boolean This example shows you how to activate AutoAliasing and AutoJoining.
ActiveDocument.Sections["Query"].DataModel.AutoAlias = true ActiveDocument.Sections["Query"].DataModel.AutoJoin = true

6-12

Properties

AutoCommit (Property)
Applies To: Description: Connection object, MetaDataConnection object Returns or sets the value of a connection object Autocommit property. Set this property to false if your database does not support Autocommit. Read-write, Boolean This example shows you how to create a connection from scratch and save it to a local file.

Action: Example:

var myCon myCon = Application.CreateConnection() myCon.Api =bqApiSQLNet myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.AutoCommit = false myCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

AutoCommit (Property)

6-13

AutoFrequency (Property)
Applies To: Description: XaxisLabel 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. Read-write, Boolean This example shows you how to change a chart X-axis to support Auto Frequency.

Action: Example:

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.AutoFrequency = true

6-14

Properties

AutoInterval (Property)
Applies To: Description: LeftAxis Returns or sets the value of a chart objects AutoInterval property. This property enables/disables the chart function to choose automatically the data interval on the left axis. Read-write, Boolean This example shows you how to change a charts left-axis to support auto interval.

Action: Example:

ActiveDocument.Sections["Chart"].ValuesAxis.LeftAxis.AutoInterval = true

AutoInterval (Property)

6-15

AutoJoin (Property)
Applies To: Description: DataModel object Returns or sets the value of a Data Model objects AutoJoin property. This property enables/disables the Data Model function to create automatic joins between topics that are added to it. Read-write, Boolean This example shows you how to turn on Auto Aliasing and Auto Joining.
ActiveDocument.Sections["Query"].DataModel.AutoAlias = true ActiveDocument.Sections["Query"].DataModel.AutoJoin = true

Action: Example:

6-16

Properties

AutoProcess (Property)
Applies To: Description: QuerySection Returns or sets the value of a Query Section objects AutoProcess property. This property enables/disables a querys ability to automatically process itself when it is opened or downloaded from the repository. Read-write, Boolean This example shows you how to enable AutoProcess.
ActiveDocument.Sections["Query"].AutoProcess = true

Action: Example:

AutoProcess (Property)

6-17

AutoResize (Property)
Applies To: Description: ChartSection object 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. Read-write, Boolean This example shows you how to add a title to a chart.
ActiveDocument.Sections["Chart"].AutoResize = true

.Action: Example:

6-18

Properties

AutoScale (Property)
Applies To: Description: LeftAxis, RightAxis Returns or sets the value of a chart axiss AutoScale property. This property enables/disables a chart axiss ability to automatically determine the best scale. Read-write, Boolean This example enables Autoscaling on the left and right values axis.

Action: Example:

ActiveDocument.Sections["Chart"].ValuesAxis.LeftAxis.AutoScale = true ActiveDocument.Sections["Chart"].ValuesAxis.RightAxis.AutoScale = true

AutoScale (Property)

6-19

AvailableValues (Property)
Applies To: Description: Limit Returns a collection of values that represent the entire list of valid criteria for a limit. Read-only 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.

Action: Example:

LimitCount = ActiveDocument.Sections["Results"].Limits[1].AvailableValues.Count for (i=1;i<=LimitCount;i++) { MyVal = ActiveDocument.Sections["Results"].Limits[1].AvailableValues[i] ActiveDocument.Sections["Results"].Limits[1].SelectedValues.Add(MyVal) }

6-20

Properties

AxisPlotValues (Property)
Applies To: Description: Line Chart Facts 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. Read-write 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.

Action: Constants:

ActiveDocument.Sections["Chart"].Facts["Unit_Sales"].AxisPlotValue= bqChartAxisPlotPrimary

AxisPlotValues (Property)

6-21

AxisType (Property)
Applies To: Description: Action: Constants: CategoryItems Returns an enumerated type that represents the type of axis (X, Y or Z). Read-only 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) Break case bqChartYAxis: Alert("The axis is Y) Break case bqChartZAxis: Alert("The axis is Z) Break }

6-22

Properties

BackgroundAlternateColor (Property)
Applies To: Description: Action: Constants: ResultsSection object, TableSection object, ReportTable object Sets the background color of staggered (alternate) rows in a table. Readwrite, BqColor Type 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

BackgroundAlternateColor (Property)

6-23

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

6-24

Properties

BackgroundAlternateFrequency (Property)
Applies To: Description: ResultsSection object, TableSection object, ReportTable object Defines how often alternate colored rows occur. For example, an alternate color row can occur on every other row, or every third row. Read-write, Number 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.

Action: Example:

ActiveDocument.Sections["Table2"].BackgroundAlternateColor = bqLightYellowActiveDocument.Sections["Table2"].BackgroundAlternateFrequency = 1

BackgroundAlternateFrequency (Property)

6-25

BackgroundColor (Property)
Applies To: Description: Action: Constants: ResultsSection object, TableSection object, ReportTable object, Measure object Sets the background color of rows in a Table section. Read-write, BqColorType 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

6-26

Properties

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

BackgroundColor (Property)

6-27

BackgroundShowAlternateColor (Property)
Applies To: Description: ResultsSection object, TableSection object, ReportTable object Sets the option to use the alternating row color functionality. You can use the alternate row colors at the column level or table level. Boolean 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.

Action: Example:

ActiveDocument.Sections["MusicTable"].BackgroundShowAlternateColor = true ActiveDocument.Sections["MusicTable"].BackgroundAlternateFrequency = 1 ActiveDocument.Sections["MusicTable"].BackgroundAlternateColor = bqBrightGreen

6-28

Properties

BeginLimitName (Property)
Applies To: Description: Parentheses object 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. Read-only, BeginLimitName as String 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["Stat e Province,City"].BeginLimitName)

Action: Example:

BeginLimitName (Property)

6-29

BorderColor (Property)
Applies To: Description: Action: Constants: ResultsSection object, TableSection object Sets the color of a table border. Read-write, BqColorType 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

6-30

Properties

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

BorderColor (Property)

6-31

BorderWidth (Property)
Applies To: Description: Action: Example: ResultsSection object, Table object, ReportTable object Sets the width of a border in points. Read-write, Number This example shows you how to set the border width to 4 points.
ActiveDocument.Sections["Results"].BorderWidth = 3

6-32

Properties

BottomMargin (Property)
Applies To: Description: ReportSection object 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: Example:

Read-write, Number This example shows you how to set the bottom margin of the report to .25 inches.
ActiveDocument.Sections["Report"].BottomMargin = .25

BottomMargin (Property)

6-33

BrushStyle (Property)
Applies To: Description: Action: Constants: Legend Collection Returns or sets the brush style property of a legend item. Read-write, Number 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.BrushSty le=bqBrushStyleSolid

6-34

Properties

ChartType (Property)
Applies To: Description: ChartSection object Returns or sets the type of chart. This property controls which type of chart is displayed in the chart section. Read-write 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.

Action: Constants:

if (ActiveDocument.Sections["Chart"].ChartType == bqChartTypeBarLine) { ActiveDocument.Sections["Chart"].BarLineChart.ClusterBy = bqClusterByZ ActiveDocument.Sections["Chart"].BarLineChart.IgnoreNulls = false ActiveDocument.Sections["Chart"].BarLineChart.ShiftPoints = bqShiftCenter ActiveDocument.Sections["Chart"].BarLineChart.StackClusterType = bqBarLineCluster ActiveDocument.Sections["Chart"].BarLineChart.ShowBarValues = false }
ChartType (Property)

6-35

Checked (Property)
Applies To: Description: Action: Example: ControlsCheckBox, ControlsRadioButton Returns or sets the selection of a check box or radio button controls. Read-write, Boolean 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 = false else CheckBox1.Checked = true

6-36

Properties

ClientScriptStatus (Property)
Applies To: Description: ActiveSection object, EmbeddedBrowser object 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 objects 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 ActiveSections script status settings. Action: Example: Read-write, Boolean This example shows you how to set the indicator value for an embedded object to true.
EmbeddedBrowser1.ClientScriptStatus=true

ClientScriptStatus (Property)

6-37

Clusterby (Property)
Applies To: Description: BarChart, BarLineChart Returns or sets the type of clustering used when displaying Bar or Bar Line charts. Read-write 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.

Action: Constants:

ActiveDocument.Sections["Chart"].BarChart.ClusterBy = bqClusterByZ

6-38

Properties

Color (Property)
Applies To: Description: Font, Fill, Line 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. Read-write 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.

Action: Constants:

MyColor = ActiveDocument.Sections["Dashboard"].Shapes["TextLabel"] MyColor.Line.Color = bqRed MyColor.Line.Width = 4 MyColor.Line.DashStyle = bqDashStyleDotDotDash

Color (Property)

6-39

ColumnType (Property)
Applies To: Description: Column Returns a value that represents the type of Results or Table column. Possible column types are: Normal, Computed, Date and Grouped. Read-only 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.

Action: Constants:

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 } }

6-40

Properties

Connected (Property)
Applies To: Description: Connection object 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. Read-only, Boolean This example shows you how to check the connection status of a connection object and how to prompt a user to connect.

Action: Example:

var MyCon =ActiveDocument.Sections["SalesQuery"].DataModel.Connection if (MyCon.Connected ==false) { if (Alert ("Do you want to connect to the database?", "Get Connected"," Yes"," No")==1) MyCon.Connect() }

Connected (Property)

6-41

ContainsHybridAnalysisData (Property)
Applies To: Description: OLAPLevelorHierarchy Returns or sets the ContainsHybridAnalysisData property. Use this property to indicate if a dimension level or hierarchy has hybrid analysis values available. Read-only, Boolean This example shows you how to enable Hybrid Analysis for the OLAP query and show that Hybrid Analysis is available in an Alert box.

Action: Example:

ActiveDocument.Sections["OLAPQuery"].DBSpecific.EnableForHybridAnalysis= true ActiveDocument.Sections["OLAPQuery"].Catalog.Dimensions["Location"].ContainsHybri dAnalysisData = true Alert("Dimension has Hybrid Analysis")

6-42

Properties

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 Returns a value that represents the number of items in a collection. The count property is a standard property of all collections. Read-only, Number This example shows you how to determine the number of sections in a document and the number of columns in a Results section.

Description:

Action: Example:

var NumSections = ActiveDocument.Sections.Count var NumColumns = ActiveDocument.Sections["Results"].Columns.Count

Count (Property)

6-43

CubeName (Property)
Applies To: Description: Action: Example: OlapConnection object Returns the name of a cube object. Read-only, String 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)

6-44

Properties

CurrentDir (Property)
Applies To: Description: Application 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. Read-write, String This example shows you how to change the working directory of the application.

Action: Example:

Note

JavaScript treats \ as a special character.

var MyDir = "c:\Documents\Demos\JavaScript" Application.CurrentDir = MyDir

CurrentDir (Property)

6-45

CSSExport (Property)
Applies To: Description: PivotSection object, ResultsSection, ReportSection object, 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. Read-write, Boolean This example shows you how to export the Style Sheet with the report section.
ActiveDocument.Sections["Report"].CSSExport = true

Action: Example:

6-46

Properties

CustomSQL (Property)
Applies To: Description: Action: Example: Limit Returns or sets the value of the CustomSQL strings in a limit. Read-write, String 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

CustomSQL (Property)

6-47

DashStyle (Property)
Applies To: Description: Action: Constants: Line Returns or sets the type of border style for a shape or control. Read-write 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 = bqRed MyRectangle.Line.Width = 4 MyRectangle.Line.DashStyle = bqDashStyleDotDotDash

6-48

Properties

Database (Property)
Applies To: Description: Action: Constants: Connection object, MetaDataConnection object Returns or sets the name of the database vendor and version number. Read-write 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

Database (Property)

6-49

Example:

This example shows you how to create a new connection (OCE) from scratch using JavaScript.

var myCon myCon = Application.CreateConnection() myCon.Api =bqApiSQLNet myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.SaveAs("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

6-50

Properties

DatabaseList (Property)
Applies To: Connection object, MetaDataConnection object (Sybase Only and SQL Server only) Returns or sets the list of databases to which the OCE can connect. Read-write, String This example shows you how to creates a database connection and sets the list of databases to which the oce can connect.

Description: Action: Example:

var myCon myCon = Application.CreateConnection() myCon.Api =bqApiSQLNet myCon.Database = bqDatabaseSQLServer myCon.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 datamodel ActiveDocument.Sections["SalesQuery"].DataModel.Connection.Open("C:\\Program Files\\Brio\\BrioQuery\\Program\\Open Catalog Extensions\\PlutoSQL.oce")

DatabaseList (Property)

6-51

DatabaseName (Property)
Applies To: Description: Action: Example: DMCatalogItem object Returns the name of the database associated with a table in the table catalog. Read-only This example prints out the name of the database for each table in the Table Catalog.

var TableCatalog = ActiveDocument.Sections["SalesQuery"].DataModel.Catalog var TableCount = ActiveDocument.TableCatalog.CatalogItems.Count for (j=1;j<=TableCount;j++) Console.Writeln (TableCatalog.CatalogItems[j].Name)

6-52

Properties

DatabaseTotals (Property)
Applies To: Description: Action: Example 1: OLAPQuery object Returns database totals when the OLAPQuery is processed. Read-write, Boolean 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"].DatabaseTotals if (dbTotals ) { TextBox1.Text = "Database Totals are on" } else { TextBox1.Text = "DB Totals are off" }

DatabaseTotals (Property)

6-53

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

6-54

Properties

DataFunction (Property)
Applies To: Description: Chart and Pivot Facts 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

DataFunction (Property)

6-55

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

6-56

Properties

DataType (Property)
Applies To: Description: Action: Constants: Column, Requests collection Returns the data type associated with an object. Read-only 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.Count for (j = 1 ; j <= ColCount ; j++) { Console.Writeln(ActiveDocument.Sections["Results"].Columns[j].DataType) }

DataType (Property)

6-57

DBLibAllowChangeDatabase (Property)
Applies To: Description: Connection object, MetaDataConnection object DB-Lib Only. Returns or sets the value of the DBLibAllowChangeDatabase property. Allows the user to change the database during login.

Note
Action: Example:

The DBLibAllowChangeDatabase object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean This example shows you how to create a new connection (OCE) from scratch using JavaScript.
var myCon myCon = Application.CreateConnection() myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.DBLibAllowChangeDatabase = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-58

Properties

DBLibApiSeverity (Property)
Applies To: Description: Connection object, MetaDataConnection object DB-Lib only. Returns or sets the value of the DBLibApiSeverity property. Changes the APIs error level severity.

Note
Action: Example:

The DBLibApiSeverity object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Long This example shows you how to create a new connection (OCE) from scratch using JavaScript.
var myCon myCon = Application.CreateConnection() myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.DBLibApiSeverity = 2 myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

DBLibApiSeverity (Property)

6-59

DBLibDatabaseCancel (Property)
Applies To: Description: Connection object, MetaDataConnection object DB-Lib only. Returns or sets the value of the DBLibDatabaseCancel property. Changes the Database cancel options.

Note
Action: Constants:

The DBLibApiDatabaseCancel object model syntax is not supported in an Intelligence iServer BQY document.

Read-write 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 myCon myCon = Application.CreateConnection() myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.DBLibDatabaseCancel = bqDbLibPrompt myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-60

Properties

DBLibPacketSize (Property)
Applies To: Description: Connection object, MetaDataConnection object DB-Lib only. Returns or sets the value of the DBLibPacketSize property. Changes the packet size of the query.

Note
Action: Example:

The DBLibPacketSize object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Numeric This example shows you how to create a new connection (OCE) from scratch using JavaScript.
var myCon myCon = Application.CreateConnection() myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.DBLibPacketSize = 200 myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

DBLibPacketSize (Property)

6-61

DBLibServerSeverity (Property)
Applies To: Description: Connection object, MetaDataConnection object DB-Lib Only. Returns or sets the value of the DBLibServerSeverity property. Changes the Servers error level severity.

Note
Action: Example:

The DBLibServerSeverity object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Numeric This example shows you how to create a new connection (OCE) from scratch using JavaScript.
var myCon myCon = Application.CreateConnection() myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.DBLibServerSeverity = 2 myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-62

Properties

DBLibUseQuotedIdentifiers (Property)
Applies To: Description: Connection object, MetaDataConnection object 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
Action: Example:

The DBLibUseQuotedIdentifiers object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean This example shows you how to create a new connection (OCE) from scratch using JavaScript.
Var myCon myCon = Application.CreateConnection() myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer MyCon.HostName ="PlutoSQLSVR" MyCon.DBLibUseQuotedIdentifiers = true MyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

DBLibUseQuotedIdentifiers (Property)

6-63

DBLibUseSQLTable (Property)
Applies To: Description: Connection object, MetaDataConnection object DB-Lib Only. Returns or sets the value of the DBLibUseSQLTable property. If enabled the connection will use SQL to get tables.

Note
Action: Example:

The DBLibUseSQLTable object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean This example shows you how to create a new connection (OCE) from scratch using JavaScript.
var myCon myCon = Application.CreateConnection() myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer MyCon.HostName ="PlutoSQLSVR" MyCon.DBLibUseSQLTable = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-64

Properties

DecimalPlaces (Property)
Applies To: Description: DBSpecific (Essbase) object

Sets the number of decimal places that the server will return. The DecimalPlaces property supports only values 0-5.
Read-write, Number This example shows you how to set the number of decimal places to 3.
ActiveDocument.Sections["OLAPQuery"].DBSpecific.DecimalPlaces=3

Action: Example:

DecimalPlaces (Property)

6-65

Description (Property)
Applies To: Description: Connection object Returns or sets the description associated with an Open Catalog Extension (OCE). Read-write, String 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 = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

Action: Example:

6-66

Properties

DHTMLExportBreakRowCount (Property)
Applies: OLAPQuerySection object, PivotSection object, ResultsSection, TableSection object 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.

Description:

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: Example 1:

Read-write, Number 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.Count for (I=1;I<= ColumnCount;I++) Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n") MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML) MyResults.HTMLPregenerateMode = bqHTMLPregenerateModeRange MyResults.HTMLPregenerateFirstLastNPages = 5 MyResults.DHTMLVerticalPageBreakUnits = bqHTMLPageBreakUnitsRows MyResults.DHTMLExportBreakRowCount = 100

DHTMLExportBreakRowCount (Property)

6-67

DHTMLVerticalPageBreakUnits (Property)
Applies To: Description: PivotSection, ResultsSection, TableSection, OLAPQuerySection 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.Count for (I=1;I<= ColumnCount;I++) Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n") MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML) MyResults.HTMLPregenerateMode = bqHTMLPregenerateModeRange MyResults.HTMLPregenerateFirstLastNPages = 5 MyResults.DHTMLVerticalPageBreakUnits = bqHTMLPageBreakUnitsRows MyResults.DHTMLExportBreakRowCount = 100

6-68

Properties

Display (Property)
Applies To: Description: CornerLabels object, DataLabels object 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. Read-write, String 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 .

Action: Constants:

ActiveDocument.Sections["SalesPivot"].CornerLabels. Display=bqPivotLabelDisplayBoth

Display (Property)

6-69

DisplayMode (Property)
Applies To: Description: HyperLink object
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: Constants:

Read only, BqOpenURLTarget constant group The BqOpenURLTarget constant group consists of the following values: bqOpenURLTargetBlank = 0 bqOpenURLTargetCustom =1

6-70

Properties

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)

DisplayMode (Property)

6-71

DisplayName (Property)
Applies To: Description: DerivedItem object, Limit, Requests collection, TopicItem object 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: Example:

Read-write, String This example writes the names of all the topics and topic items to the console window.

var Tcount = ActiveDocument.Sections["Query"].DataModel.Topics.Count for (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

6-72

Properties

for (k = 1 ; k <= TICount ; k ++) { var myItem = ActiveDocument.Sections["Query"].DataModel. Topics[j].TopicItems[k] Console.Writeln(" Item: "+ myItem.DisplayName) } }

DisplayName (Property)

6-73

DrillDownDisplay (Property)
Applies To: Description: OLAPQuery object 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: Constants: Read-write, BqDrillDownDisplay 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.

6-74

Properties

ActiveDocument.Sections["OLAPQuery"].DrillDownDisplay = bqDrillDownDisplayAllLevels

DrillDownDisplay (Property)

6-75

Effect (Property)
Applies To: Description: Action: Constants: Font Returns or sets the font effect of text associated with a font object. Read-write 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
Example:

The Session.Form.Add () and Session.Form.Item() object model syntax is not supported in an Intelligence iServer BQY document.

This example changes the font effect of the text in a text label named, Description.

ActiveDocument.Sections["Dashboard2"].Shapes["Description"].Font.Effect= bqFontEffectUnderline

6-76

Properties

EnableAsyncProcess (Property)
Applies To: Description: Connection object, MetaDataConnection object Enable or disable asynchronous processing of a query associated with the connection object. Read-write, Boolean This example creates a connection file from scratch and then applies it to the current document.

Action: Example:

var myCon = Application.CreateConnection() myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.EnableAsyncProcess = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

EnableAsyncProcess (Property)

6-77

Enabled (Property)
Applies To: Control, ControlsCheckBox, ControlsCommandButton, ControlsDropDown, ControlsListBox, ControlsRadioButton, ControlsTextBox, EmbeddedBrowser object 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. Read-write, Boolean This examples enables every shape and control object in an Dashboard section named, Dashboard.
var DashboardSection = ActiveDocument.Sections["Dashboard"] var ShapeCount = DashboardSection.Shapes.Count for (j=1;j <= ShapeCount ;j++) { DashboardSection.Shapes[j].Enable = true }

Description:

Action: Example:

6-78

Properties

EnableForHybridAnalysis (Property)
Applies To: Description: OLAPQuerySection (DBSpecific) 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. . Read-write, Boolean This example shows you how to enable Hybrid Analysis:

Action: Example:

ActiveDocument.Sections["OLAPQuery"].DBSpecific.EnableForHybridAnalysis = true

EnableForHybridAnalysis (Property)

6-79

EnableNullFactsInComputedItems (Property)
Applies To: Description: Pivot object 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: Example: Read-write, Boolean This examples shows you how to enable null fact values for computed items.

ActiveDocument.Sections["Pivot"].EnableNullFactsInComputedItems = true

6-80

Properties

EnableTransActionMode (Property)
Applies To: Description: Connection object, MetaDataConnection object Returns or sets the value of the EnableTransactionMode property. If set to true, transaction mode will be enabled for the OCE or current connection. Read-write, Boolean This example creates a connection file from scratch and then applies it to the current document.

Action: Example:

var myCon = Application.CreateConnection() myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." MyCon.EnableTransAction = true myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

EnableTransActionMode (Property)

6-81

EndLimitName (Property)
Applies To: Description: Parentheses object 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. Read-only, EndLimitName as String This example shows you how to display the name of the ending limit value enclosed in a parenthetical expression on the limit line:

Action: Example:

Alert(ActiveDocument.Sections["Query"].Limits.Parentheses["State Province,City"].EndLimitName)

6-82

Properties

ExecuteOnPostProcess (Property)
Applies To: DesktopClient object, PlugInClient object, ThinClient object and Scheduler object. 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. Read-write, Boolean This example shows you how to disable the OnPostProcess document events when running in the web client environment.

Description:

Action: Example:

Documents["Sample1.bqy"].Events["PlugInClient"].ExecuteOnPostProcess=false

ExecuteOnPostProcess (Property)

6-83

ExecuteOnPreProcess (Property)
Applies To: DesktopClient object, PlugInClient object, ThinClient object and Scheduler object. 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). Read-write, Boolean This example shows you how to enable the OnPreProcess document events when running in the Scheduler environment.

Description:

Action: Example:

Documents["Sample1.bqy"].Events["Scheduler"].ExecuteOnPreProcess=false

6-84

Properties

ExecuteOnShutDown (Property)
Applies To: DesktopClient object, PlugInClient object, ThinClient object and Scheduler object. 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. Read-write, Boolean This example shows you how to disable the OnShutDown document event when running in the Intelligence iServer environment.

Description:

Action: Example:

Documents["Sample1.bqy"].Events["ThinClient"].ExecuteOnShutDown=false

ExecuteOnShutDown (Property)

6-85

ExecuteOnStartup (Property)
Applies To: DesktopClient object, PlugInClient object, ThinClient object and Scheduler object. 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. Read-write, Boolean This example shows you how to enable an OnStartup document events when running in the Intelligence Client environment.

Description:

Action: Example:

Documents["Sample1.bqy"].Events["DesktopClient"].ExecuteOnStartUp=true

6-86

Properties

ExportWithoutQuotes (Property)
Applies To: Description: OLAPQuerySection, PivotSection object, ResultsSection object, TableSection When exporting section data, enables or disables the double quotes surrounding column/cell values containing real values. The default value is disabled. Read-write, Boolean This example exports Results to a tab delimited text file that retains double quotes surrounding the Results column data.

Action: Example 1:

ActiveDocument.Sections["Results"].ExportWithoutQuotes=false ActiveDocument.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=true ActiveDocument.Sections["Results"].Export("C:\Temp\ExportTest\ MyFile", bqExportFormatText)

ExportWithoutQuotes (Property)

6-87

Filename (Property)
Applies To: Description: Connection object, MetaDataConnection object Returns the full name and path of the OCE file associated with the connection object. Read-only, String This example creates a connection file from scratch and then applies it to the current document.

Action: Example:

var myCon = Application.CreateConnection() myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto.".Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.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.Filename Console.Write ("Successfully opened the OCE named : "+OCEFilename)

6-88

Properties

FilePath (Property)
Applies To: Description: Action: Example: Picture Chart Sets the file name of a picture object. Read-write, Name 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"

FilePath (Property)

6-89

FillUnderRibbon (Property)
Applies To: Description: Action: Example: Area Chart If set to true, the area under the ribbon on an area chart is filled in. Read-write, Boolean 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

6-90

Properties

Focus (Property)
Applies To: Description: Legend Collection Returns or sets the focus of the legend on a selected chart axis type (X-axis, Yaxis, or Z axis. This property uses the BqChartAxisType constant group. Read-only 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

Action: Constants:

Focus (Property)

6-91

Formula (Property)
Applies To: Description: Fields collection 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. Read-write, String This example shows you how to change the chart axis type to the X-axis category:

Action: Example:

ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["ReportName Field"].Formula = "ReportName() + ' ' + new Date()"

6-92

Properties

FullName (Property)
Applies To: Description: Limit 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). Read-write, String This example prints out the full names of all the limits in a query section named SalesQuery.

Action: Example:

var MyQuery = ActiveDocument.Sections["SalesQuery"] var LimitCount = MyQuery.Limits.Count for (j =1 ; j <= LimitCount ; j++) Console.Writeln("Limit fullname is " + MyQuery.Limits[j].FullName)

FullName (Property)

6-93

GraphicsFileType (Property)
Applies To: Description: Action: Constants: Picture object Sets the graphic file type of a picture graphics object. Read-write, BqGraphicsFileType 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=bqGraphi csFileTypeBMP

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=bqGraph icsFileTypeJPEG

6-94

Properties

Group (Property)
Applies To: Description: ControlsRadioButton Returns or sets the value of an Dashboard Radio buttons group property. Use the group property to join together two or more Radio buttons. Read-only, String This example shows you how to assign a group name to radiobuttons.
RadioButton1.Group="Sales" RadioButton2.Group="Sales" RadioButton3.Group="Sales"

Action: Example:

Group (Property)

6-95

HardwireMode (Property)
pplies To: Description: OLAPQuerySection object 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: Example: Read-write, Boolean This example shows to activate hardwire mode:
ActiveDocument.Sections["OLAPQuery"].HardwireMode = true

6-96

Properties

Height (Property)
Applies To: Description: Action: Example: PieChart Returns or sets the height properties of a specific Pie chart. Read-write, Numeric 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

Height (Property)

6-97

HorizontalAlignment (Property)
Applies To: Description: TableFacts object Returns or sets the horizontal alignment of text in a table column.This property corresponds to the features on the Alignment Properties dialog box. Read-write, BqHorizontalAlignment 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.

Action: Constants:

ActiveDocument.Sections["Report"].Body.Tables["Table"].Facts["Unit Sales"].HorizontalAlignment=bqAlignLeft

6-98

Properties

HostName (Property)
Applies To: Description: Action: Example 1: Connection object, MetaDataConnection object Returns or sets the name of the datasource. Read-write, String 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 = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.EnableAsyncProcess = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.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)

HostName (Property)

6-99

HTMLBoundaryHeight (Property)
Applies To: Description: ChartSection object 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: Example:

Read-Write, Number 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 = true ActiveDocument.Sections["Chart"].HTMLBoundaryHeight = 300 ActiveDocument.Sections["Chart"].HTMLBoundaryWidth = 300

6-100

Properties

HTMLBoundaryMode (Property)
Applies To: Description: ChartSection object 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: Example:

Read-Write, Boolean 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 = true ActiveDocument.Sections["Chart"].HTMLBoundaryHeight = 300 ActiveDocument.Sections["Chart"].HTMLBoundaryWidth = 300

HTMLBoundaryMode (Property)

6-101

HTMLBoundaryWidth (Property)
Applies To: Description: ChartSection object 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: Example:

Read-Write, Number 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 = true ActiveDocument.Sections["Chart"].HTMLBoundaryHeight = 300 ActiveDocument.Sections["Chart"].HTMLBoundaryWidth = 300

6-102

Properties

HTMLDisplayViews (Property)
Applies To: Description: Chart object 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: Example: Read-write, Boolean 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 = false ActiveDocument.Sections["Chart"].HTMLDisplayXViews = true ActiveDocument.Sections["Chart"].HTMLDisplayZViews = true ActiveDocument.Sections["Chart"].HTMLMaxXBarsDisplayed = 10 ActiveDocument.Sections["Chart"].HTMLMaxZBarsDisplayed = 12

HTMLDisplayViews (Property)

6-103

HTMLExportBreakColCount (Property)
Applies To: Description: OLAPQuerySection object, PivotSection object 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. Read-write, Number This example retrieves the value of HTMLExportBreakColCount.
var breakVal=ActiveDocument.Sections["Pivot"]. HTMLExportBreakColCount;

Action: Example 1:

Example 2:

This example sets the number of columns per HTML page to 500.

ActiveDocument.Sections["Pivot"].HTMLExportBreakColCount = 500

6-104

Properties

HTMLExportBreakRowCount (Property)
Applies To: OLAPQuerySection object, PivotSection object, ResultsSection object, TableSection object, 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. Read-write, Number This example retrieves the value of HTMLExportBreakRowCount.
var breakVal=ActiveDocument.Sections["Pivot"]. HTMLExportBreakRowCount;

Description:

Action: Example 1:

Example 2:

This example sets the number of rows per HTML page to 500.

ActiveDocument.Sections["Results"].HTMLExportBreakRowCount = 500

HTMLExportBreakRowCount (Property)

6-105

HTMLHorizontalPageBreakEnabled (Property)
Applies To: Description: OLAPQuerySection object, PivotSection object Enables the horizontal page break control on the Export Property dialog for the Pivots section, Results and Tables sections. Read-write, Boolean This example shows you how to enable the Horizontal Page Break control:

Action: Example 1:

Documents["Sales.bqy"].Sections["Results"].HTMLHorizontalPageBreakEnabled = true

6-106

Properties

HTMLHorizontalPageBreakUnits (Property)
pplies To: Description: PivotSection, OLAPQuerySection 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). This property references the BqHTMLPageBreakUnits constants group, which consists of the following values:

Constants:

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 = true ActiveDocument.Sections["OLAPQuery"].HTMLExportBreakColCount = 200 ActiveDocument.Sections["OLAPQuery"].HTMLHorizontalPageBreakUnits = bqHTMLPageBreakUnitsCols

HTMLHorizontalPageBreakUnits (Property)

6-107

HTMLMaxBarsDisplayed (Property)
Applies To: Description: ChartSection object 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: Example: Read-write, Number 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 = false ActiveDocument.Sections["Chart"].HTMLDisplayXViews = true ActiveDocument.Sections["Chart"].HTMLDisplayZViews = true ActiveDocument.Sections["Chart"].HTMLMaxXBarsDisplayed = 10 ActiveDocument.Sections["Chart"].HTMLMaxZBarsDisplayed = 12

6-108

Properties

HTMLPregenerateFirstLastNPages (Property)
Applies To: OLAPQuerySection object, PivotSection object, ResultsSection object, ReportSection object, TableSection object 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.

Description:

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: Example :

Read-write, Number 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.Count for (I=1;I<= ColumnCount;I++) Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n") MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML) MyResults.HTMLPregenerateMode = bqHTMLPregenerateModeRange MyResults.HTMLPregenerateFirstLastNPages = 5

HTMLPregenerateFirstLastNPages (Property)

6-109

HTMLPregenerateFirstLastNViews (Property)
Applies To: Description: ChartSection object 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: Example :

Read-write, Number 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 = bqHTMLPregenerateModeRange MyChart.HTMLPregenerateFirstLastViews = 5

6-110

Properties

HTMLPregenerateMode (Property)
Applies To: ChartSection object, OLAPQuerySection, PivotSection object, Results/TableSection object, ReportSection object 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.

Description:

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

HTMLPregenerateMode (Property)

6-111

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.Count for (I=1;I<= ColumnCount;I++) Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n") MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML) MyResults.HTMLPregenerateMode = bqHTMLPregenerateModeRange MyResults.HTMLPregenerateFirstLastNPages = 5

6-112

Properties

HTMLSyncScrollingProps (Property)
Applies To: Description: ChartSection object 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. Read-write, Boolean This example shows you how to enable the HTMLSyncScrollingPros property and disable the HTMLDisplaysViews property.

Action: Example:

ActiveDocument.Sections["Chart"].HTMLSyncScrollingProps = false ActiveDocument.Sections["Chart"].HTMLDisplayXViews = false

HTMLSyncScrollingProps (Property)

6-113

HTMLVerticalPageBreakEnabled (Property)
Applies To: OLAPQuerySection object, PivotSection object, ResultsSection object, TableSection object Enables the vertical page break control on the Export Property dialog for the Pivots, Results and Tables sections. Read-write, Boolean This example shows you how to enable the Vertical Page Break control:

Description:

Action: Example 1:

Documents["Sales.bqy"].Sections["Results"].HTMLVerticalPageBreakEnabled = true

6-114

Properties

HTMLVerticalPageBreakUnits (Property)
Applies To: Description: PivotSection, ResultsSection, TableSection, OLAPQuerySection 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). This property references the BqHTMLPageBreakUnits constants group, which consists of the following values:

Constants:

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.Count for (I=1;I<= ColumnCount;I++) Console.Write("Column#"+I+":"+MyResults.Columns[I].Name+"\r\n") MyResults.Export("c:\\temp\\Sample.htm", bqExportFormatHTML) MyResults.HTMLVerticalPageBreakUnits = bqHTMLPageBreakUnitsRows MyResults.HTMLExportBreakRowCount = 100

HTMLVerticalPageBreakUnits (Property)

6-115

Ignore (Property)
Applies To: Description: Limit 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. Read-write, Boolean This example shows you how to temporarily ignore all the Data Model limits prior to processing the query.

Action: Example:

var MyQuery = ActiveDocument.Sections["Query" MyDM = MyQuery.DataModel var DMLimitCount = MyDM.Limits.Count for (j = 1 ; j <= DMLimitCount ; j++) MyDM.Limits[j].Ignore = true //Assumes you are already connected

6-116

Properties

IncludeInProcessAll (Property)
Applies To: Description: QuerySection, OLAPQuerySection 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

IncludeInProcessAll (Property)

6-117

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: Example: Read-write, Boolean 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 = 2 ActiveDocument.Sections["Query"].IncludeInProcessAll = true ActiveDocument.ProcessAll()

6-118

Properties

IncludeNulls (Property)
Applies To: Description: Limit Returns or sets the value of the IncludeNulls property. If set to true then null values will be included as part of the limit. Read-write, Boolean This example shows you how to set all the limits in the Data Model to support null values.
var var var for MyQuery = ActiveDocument.Sections[Query] MyDM = MyQuery.DataModel DMLimitCount = MyDM.Limits.Count (j = 1 ; j <= DMLimitCount ; j++) MyDM.Limits[j].IncludeNulls = true //Assumes you are already connected MyQuery.Process()

Action: Example:

IncludeNulls (Property)

6-119

Index (Property)
Applies To: Description: Action: PivotLabel, PivotFact, Column Returns or sets the value of the index property. 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

6-120

Properties

IntervalFrequency (Property)
Applies To: Description: Action: Example: LeftAxis Returns or sets the value of a charts left axis IntervalFrequency property. Read-write, Number 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

IntervalFrequency (Property)

6-121

KeepWithNext (Property)
Applies To: Description: PageHeader object, PageFooter object, ReportHeader, ReportHeader, Body 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: Example:

Read-write, Boolean This example shows you how to keep the body band together when a page is paginated.
ActiveDocument.Sections["Report"].Body.KeepWithNext = true Recalculate()

6-122

Properties

KeepTogether (Property)
Applies To: Description: PageHeader object, PageFooter object, ReportHeader, ReportHeader, Body 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: Example:

Read-write, Boolean This example shows you how not to split the page header bade when a break is encountered in a report.
ActiveDocument.Sections["Report"].PageHeader.KeepTogether Recalculate()

KeepTogether (Property)

6-123

LabelFrequency (Property)
Applies To: Description: Action: Example: XAxis Returns or sets the frequency of labels displayed on a charts X-axis. Read-write, Number 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

6-124

Properties

LabelText (Property)
Applies To: Description: Action: Example: LeftAxis, RightAxis, XAxisLabel, ZaxisLabel Returns or sets the value of the text associated with a chart Axis or label. Read-write, String 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"

LabelText (Property)

6-125

LastSQLStatement (Property)
Applies To: Description: Action: Example QuerySection, Document, PluginDocument Returns the last SQL statement generated by a query. Read-only This example shows you how to display the last SQLStatement generated by a query in an Alert box.
Alert (ActiveDocument.Sections["Query"].LastSQLStatement)

6-126

Properties

LeftMargin (Property)
Applies To: Description: ReportSection object 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: Example:

Read-write, Number This example shows you how to set the left margin of the report to .25 inches.
ActiveDocument.Sections["Report"].LeftMargin = .25

LeftMargin (Property)

6-127

LimitValueType (Property)
Applies To: Description: Limit collection 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. Read-write 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.

Action: Constants:

ActiveDocument.Sections["Query"].Limits[2].LimitValueType=bqLimitValueTypeCustom

6-128

Properties

LogicalOperator (Property)
Applies To: Description: Limit collection 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. Read-write 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.

Action: Constants:

ActiveDocument.Sections["SalesQuery"].Limits["Year"].LogicalOperator=bqLogicalOpe ratorOR

LogicalOperator (Property)

6-129

MarkerBorderColor (Property)
Applies To: Description: Legend Collection Returns or sets the color of a marker's border. A marker depicts an individual data value or point that emerges in a cell. Read-write 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.

Action: Constants:

ActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line. MarkerBorderColor=bqBlue

6-130

Properties

MarkerFillColor (Property)
Applies To: Description: Legend Collection Returns or sets the fill color property of a marker. A marker depicts an individual data value or point that emerges in a cell. Read-write 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.

Action: Constants:

ActiveDocument.Sections["AllCart"].Legend.Items["Unit Sales"].Line. MarkerFillColor=bqGreen

MarkerFillColor (Property)

6-131

MarkerSize (Property)
Applies To: Description: Legend Collection Returns or sets the size property of a marker. A marker depicts an individual data value or point that emerges in a cell. Read-write, Number This example shows you how to set the marker size property to six points.

Action: Example:

ActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line.MarkerSize=6

6-132

Properties

MarkerStyle (Property)
Applies To: Description: Legend Collection 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. Read-write 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.

Action: Constants:

ActiveDocument.Sections["AllChart"].Legend.Items["Unit Sales"].Line. MarkerStyle=bqMarkerStyleTriangle

MarkerStyle (Property)

6-133

MaximumBarsDisplayed (Property)
Applies To: Description: XAxisLabel object, ZAxisLabel object 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. Read-write, Numeric 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.

Action: Example:

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.MaximumDisplayViews = true ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.MaximumBarsEnabled = 10

6-134

Properties

MaximumBarsEnabled (Property)
Applies To: Description: XAxisLabel object, ZAxisLabel object 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. Read-write, Boolean This example shows you how to enable multiple views of a rendered chart and set the number of bars per view at 10.

Action: Example:

ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.DisplayViews = true ActiveDocument.Sections["Chart"].LabelsAxis.XAxis.MaxBarsDisplayed = 10

MaximumBarsEnabled (Property)

6-135

MetadataPassword (Property)
Applies To: Description: Action: Example: Connection object, MetaDataConnection object Returns or sets the password used in the metadata connection. Read-write, String 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 = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.MetadataUsername = "brio" myCon.MetadataPassword = "briobrio" myCon.UseAlternateMetadataLocation(true,c:\\OCEs\\PlutoMeta.OCE) myCon.EnableAsyncProcess = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-136

Properties

MetadataUser (Property)
Applies To: Description: Connection object, MetaDataConnection object Returns or sets the value of the username used to connect to the metadata data source. Read-write, String 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.

Action: Example:

var myCon = Application.CreateConnection() myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto. myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.MetadataUsername = "brio" myCon.MetadataPassword = "briobrio" myCon.UseAlternateMetadataLocation(true,c:\\OCEs\\PlutoMeta.OCE) myCon.EnableAsyncProcess = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

MetadataUser (Property)

6-137

MetaFileChoice (Property)
Applies To: Description: Connection object, MetaDataConnection object 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. Read-write, String 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.

Action: Example:

Note
Example:

The MetaFileChoice object model syntax is not supported in an Intelligence iServer BQYdocument.

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 = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.MetadataUsername"brio" myCon.MetadataPassword = "briobrio" myCon.MetaFileChoice = "Broadbase" myCon.UseAlternateMetadataLocation(true,c:\\OCEs\\PlutoMeta.OCE) myCon.EnableAsyncProcess = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-138

Properties

MinFontSize (Property)
Applies To: Description: ChartSection object 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 components 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 components 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: Example: Read-write, Number The following example shows you how to set the font size to 12 points
ActiveDocument.Sections["Chart"].MinFontSize = 7

MinFontSize (Property)

6-139

MultiSelect (Property)
Applies To: Description: ControlsListBox Returns or sets the value of the Multiselect property. If set to true, multiple items may be selected from a list box control. Read-write, Boolean 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

Action: Example:

6-140

Properties

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 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

Description:

Name (Property)

6-141

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)

6-142

Properties

Negate (Property)
Applies To: Description: Limit object 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. Read-write, Boolean This example shows you how to set the negate property of a limit.
var MyLimit = ActiveDocument.Sections["Query"].Limits["State"] MyLimit.Negate = true

Action: Example:

Negate (Property)

6-143

NumberFormat (Property)
Applies To: Description: Column Returns or sets the value of the number format property. Use this property to format the data in a results or table column. Read-write, String 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"

Action: Example:

6-144

Properties

ODBCDatabasePrompt (Property)
Applies To: Description: Connection object, MetaDataConnection object 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. Read-write, Boolean 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.

Action: Example:

var myCon = Application.CreateConnection() myCon.Description"This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.ODBCDatabasePrompt = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

ODBCDatabasePrompt (Property)

6-145

ODBCEnableLargeBufferMode (Property)
Applies To: Description: Connection object, MetaDataConnection object ODBC Only. Returns or sets the value of the ODBCEnableLargeBufferMode property. If set to true, then ODBC connections will use Larger buffer mode. Read-write, Boolean 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.

Action: Example:

var myCon = Application.CreateConnection()myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.ODBCEnableLargeBufferMode = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-146

Properties

ODSUsername (Property)
Applies To: Description: WebClientDocument (Quickview and FreeView Only) 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. Read-write, String 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.

Action: Example:

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")

ODSUsername (Property)

6-147

Operator (Property)
Applies To: Description: Limit 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. Read-write The BqLimitOperator constant group consists of the following values: bqLimitOperatorBeginsWith bqLimitOperatorBetween bqLimitOperatorContains bqLimitOperatorCustomSQL bqLimitOperatoEndsWith bqLimitOperatorEqual bqLimitOperatorGreaterThan bqLimitOperatorGreaterThanOrEqual bqLimitOperatorIsNull bqLimitOperatorLessThan bqLimitOperatorLessThanOrEqual bqLimitOperatorLike bqLimitOperatorNotEqual

Action: Constants:

6-148

Properties

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 set MyLimit.SelectedValues.RemoveAll() // add new values to the selectedvalues collection MyLimit.SelectedValues.Add(2000) //Change the limit criteria MyLimit.Operator = bqLimitOperatorLessThan

Operator (Property)

6-149

Orientation (Property)
Applies To: Description: ReportSection object 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: Constants:

Read-only, String The Orientation property uses the BqOrientation constant group, which consists of the following values: bqOrientationPortrait and bqOrientationPortrait This example shows you how to set the page orientation to landscape:

Example:

ActiveDocument.Sections["Report"].Orientation = bqOrientationLandscape

6-150

Properties

Owner (Property)
Applies To: Description: DMCatalogItem object Returns the value of the database owner name associated with table in the table catalog. Read-only, String This example shows you how to write all the information about the tables in the Table Catalog to the console window.

Action: Example:

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.Writeln(OutputString) } }

Owner (Property)

6-151

PageBreak (Property)
Applies To: Description: PageHeader object, PageFooter object, ReportHeader, ReportHeader, Body 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: Constants:

Read-write, Boolean 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

6-152

Properties

ParentName (Property)
Applies To: Description: Action: Example: OLAPLevelorHierarchy collection, Measures collection Returns the parent name value of the OLAP level or hierarchyd Read-only, String 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"]["Count ry"].ParentName)

ParentName (Property)

6-153

Password (Property)
Applies To: Description: ControlsTextBox Returns or sets the value of a text boxs password setting. If this property is true, the text in the text box will be replaced with ****. Read-only, String This example shows you how to set the password property on a text box.

Action: Example:

ActiveDocument.Sections["Dashboard"].Shapes["TextBox1"].Password = true

6-154

Properties

Path (Property)
Applies To: Description: Document object, PluginDocument Returns a string containing the full path and name of the document.

Note
Action: Example:

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.

Read-only, String 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)

Path (Property)

6-155

PathSeparator (Property)
Applies To: Description: Application Returns the separator used by the operating systems file system. Windows \ UNIX / Macintosh : Action: Example: Read-only, String This example shows you how to use the path separator to build a path.
var PS = Application.PathSeparator Alert(PS)

6-156

Properties

Pattern (Property)
Applies To: Description: FillFormat object Returns or sets the background fill pattern of an object. The fill pattern refers to the level of shading used in the background object. Read-only 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:

Action: Constants:

var PS = Application.PathSeparatorvar myDir = "c:"+PS+"Documents"+PS+"Brio Docs"+PS+"Sales Reports"Alert(myDir)

Pattern (Property)

6-157

PhysicalName (Property)
Applies To: Description: Topic, TopicItem object 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

6-158

Properties

Example:

This example writes the names of all the topics and topic items to the console window.

var Tcount = ActiveDocument.Sections"Query"].DataModel.Topics.Count for (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 for (k = 1 ; k <= TICount ; k ++) { var myItem = ActiveDocument.Sections["Query"].DataModel.Topics[j].TopicItems[k] Console.Writeln("Topic Item: "+ myItem.PhysicalName) } }

PhysicalName (Property)

6-159

PrintAllViews (Property)
Applies To: Description: ChartSection 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: Example: Read-write, Boolean This example shows you how to add a title to a chart.
ActiveDocument.Sections["Chart"].PrintAllViews = true

6-160

Properties

ProcessEventOrigin (Property)
Applies To: Description: Action: Constants: Document object Identifies how the Process() event was initiated. Read-only 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 origin Console.Writeln("Process Event Origin is: " + ActiveDocument.ProcessEventOrigin) //write process event origin to the selected console technique switch(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")

ProcessEventOrigin (Property)

6-161

ProcessSequenceNum (Property)
Applies To: Description: QuerySection, OLAPQuerySection The ProcessSequenceNum property sets the ordinal equivalent to a querys 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.

6-162

Properties

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

ProcessSequenceNum (Property)

6-163

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: Example: Read-write, numeric 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 = 2 ActiveDocument.Sections["Query"].IncludeInProcessAll = true ActiveDocument.ProcessAll()

6-164

Properties

Prompt (Property)
Applies To: Description: Action: Example: Limit Returns or sets the value of the text displayed on the limit dialog box. Read-write, String This example shows you how to change the text displayed in a variable limit.

var MyLimit = ActiveDocument.Sections"Query"].Limits["State"] MyLimit.VariableLimit = true MyLimit.Prompt = "Please select a state from the list box below."

Prompt (Property)

6-165

QueryCount (Property)
Applies To: Description: Section object 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 querys 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: Example: Read only 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 = 2 ActiveDocument.Sections["Query"].IncludeInProcessAll = true ActiveDocument.ProcessAll()

6-166

Properties

QueryInProcess (Property)
Applies To: Description: Document object Identifies the name of the query being processed. This property is only appropiate for use in the OnPreProcess() and OnPostProcess() events. Read-only, String 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; }

Action: Example:

QueryInProcess (Property)

6-167

QuerySize (Property)
Applies To: Description: QuerySection Returns the estimated number of rows the current query will return if processed. Read-only, Integer 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.

Action: Example:

var MyCon = ActiveDocument.Sections"Query"].DataModel.Connection MyCon.Username = "Brio" MyCon.SetPassword("BrioBrio") MyCon.Connect() var QS = ActiveDocument.Sections["Query].QuerySize if (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() }

6-168

Properties

RefreshData (Property)
Applies To: Description: PivotSection object, ChartSection 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: Constants:

Read-Write 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 Data ActiveDocument.Sections["Pivot"].RefreshData=bqRefreshDataManually ActiveDocument.Sections["Pivot"].RefreshDataNow()

RefreshData (Property)

6-169

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 Processing ActiveDocument.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 Displayed ActiveDocument.Sections["Pivot"].RefreshData=bqRefreshDataOnActivate

6-170

Properties

Repository (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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. Read only, Boolean This example shows you how to show if the Repository radio button has been checked in an Alert box:
Alert(EmbeddedBrowser1.Repository)

Action: Example:

Repository (Property)

6-171

RepositoryBQYSection (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object Returns the BQY section name set for the BQY document repository object on the Document Options dialog. The default section name matches the BQYs default (that is, whatever section would display if the user opened the BQY via the Intelligence Server icon in the browse application). Read only, String This example shows you how to display the name of BQY section in an Alert box:
Alert(EmbeddedBrowser1.RepositoryBQYSection)

Action: Example:

6-172

Properties

RepositoryBQYToolbarType (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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. Read only, BqRepositoryBQYToolbarType 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)

Action: Constants:

RepositoryBQYToolbarType (Property)

6-173

RepositoryDocument (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object Returns the name of the object selected from the Repository on the Document Options dialog. Read only, String 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)

Action: Example:

6-174

Properties

RepositoryFileType (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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. Read only, BqRepositoryFiletype constant group 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)

Action: Constants:

RepositoryFileType (Property)

6-175

RepositoryJobFilename (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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. Read only, String This example shows you how to display the job filename off the repository object in an Alert box:
Alert(EmbeddedBrowser1.RepositoryJobFilename)

Action: Example:

6-176

Properties

RepositoryJobRun (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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. Read only, Boolean This example shows you how to return the value in Run Job check box in an Alert box.
Alert(EmbeddedBrowser1.RepositoryJobRun)

Action: Example:

RepositoryJobRun (Property)

6-177

RepositoryParams (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object 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. Read only, String This example shows you how to return any additional parameters appended to the URL in an Alert box.
Alert(EmbeddedBrowser1.RepositoryParams)

Action: Example:

6-178

Properties

RepositorySmartcut (Property)
Applies To: Description: EmbeddedBrowser object, HyperLink object Returns the smartcut that is generated by way of the Repository options on the Document Ooptions dialog. Read only, String This example shows you how to return the smartcut path generated for the embedded repository object in an Alert box.
Alert(EmbeddedBrowser1.RepositorySmartcut)

Action: Example:

RepositorySmartcut (Property)

6-179

ResetPrintProperties (Property)
Applies To: Description: Application 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
Action: Example:

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.

Read-write, Boolean This example shows you how to set the SetPrintProperties to true.
Application.ResetPrintProperties=true

6-180

Properties

RightMargin (Property)
Applies To: Description: ReportSection object 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: Example:

Read-write, Number This example shows you how to set the right margin of the report to .25 inches.
ActiveDocument.Sections["Report"].RightMargin = .25

RightMargin (Property)

6-181

Rotation (Property)
Applies To: Description: PieChart Returns or sets the value of a pie charts rotation. Use this property to change the visual perspective of a pie chart. Read-write, Numeric This example shows you how to change the rotation of a pie chart.
ActiveDocument.Sections["AllChart"].PieChart.Rotation=45

Action: Example:

6-182

Properties

RowCount (Property)
Applies To: Description: ResultsSection object, TableSection object 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: Example:

Read-only, Integer 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) }

RowCount (Property)

6-183

RowLimit (Property)
Applies To: Description: QuerySection, DataModel object 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. Read-Write, Number This example shows you how to set the row limit to 100 and then process the query.

Action: Example:

ActiveDocument.Sections["Query2"].DataModel.RowLimitActive = true ActiveDocument.Sections["Query2"].DataModel.RowLimit = 100 ActiveDocument.Sections["Query2"].Process()

6-184

Properties

RowLimitActive (Property)
Applies To: Description: QuerySection, DataModelSection 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. Read-only, Boolean This example enables the Row Limit setting, sets the maximum number of rows to retrieve, and processes the query.

Action: Example:

ActiveDocument.Sections["Query2"].DataModel.RowLimitActive = true ActiveDocument.Sections["Query2"].DataModel.RowLimit = 200 ActiveDocument.Sections["Query2"].Process()

RowLimitActive (Property)

6-185

RowNumber (Property)
Applies To: Description: ResultsSection, TableSection 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. Read-only, Number This example shows you how to display the RowNumber.
Alert (ActiveDocument.Sections["Results"].RowNumber)

Action: Example:

6-186

Properties

SaveResults (Property)
Applies To: Description: QuerySection 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
Action: Example:

Saving results with the document is performed on a query-by-query basis.

Read-write, Boolean This example shows you how to save the results with the query section named SalesQuery.
ActiveDocument.Sections["SalesQuery"].SaveResults=true

SaveResults (Property)

6-187

SaveWithoutUsername (Property)
Applies To: Description: Connection object, MetaDataConnection object 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. Read-write, Boolean 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.

Action: Example:

var myCon = Application.CreateConnection() myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.EnableAsyncProcess = true myCon.SaveWithoutUsername = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-188

Properties

ScaleMax (Property)
Applies To: Description: Action: Example: LeftAxis, RightAxis Returns or sets the maximum scale values for the right and/or left chart axis. Read-write, Numeric This example shows you how to change the maximum scale of left and right chart axes.

ActiveDocument.Sections["AllChart"].ValuesAxis.LeftAxis.ScaleMax=2000000 ActiveDocument.Sections["AllChart"].ValuesAxis.RightAxis.ScaleMax=2000000

ScaleMax (Property)

6-189

ScaleMin (Property)
Applies To: Description: Action: Example: LeftAxis, RightAxis Returns or sets the minimum scale values for the right and/or left chart axes. Read-write, Numeric 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 = 25 MyChart.ValuesAxis.RightAxis.ScaleMin = 25

6-190

Properties

ScaleX (Property)
Applies To: Description: Picture object Sets the horizontal scale of a picture object. This property corresponds to the Percent Scale Width field on the Picture Properties screen. Action: Example: Read-write, Numeric This example shows you how to reduce the width of the picture by 50%.

ActiveDocument.Sections["Report"].Body.Shapes["Picture"].ScaleX = 50

ScaleX (Property)

6-191

ScaleY (Property)
Applies To: Description: Picture object Sets the vertical scale of a picture object. This property corresponds to the Percent Scale Height field on the Picture Properties screen. Action: Example: Read-write, Numeric This example shows you how to increase the width of the picture by 50%.

ActiveDocument.Sections["Report"].Body.Shapes["Picture"].ScaleY = 150

6-192

Properties

Scrollable (Property)
Applies To: Description: ControlsTextBox Returns or sets the value of the textboxs scrollable property. Setting this property to true will enable vertical scrolling of text in the Text box control. Read-write, Boolean This example shows you how to change the properties of a text box.

Action: Example:

ActiveDocument.Sections["Dashboard"].Shapes["TextBox1"].Scrollable = true

Scrollable (Property)

6-193

ShowScrollbar (Property)
Applies To: Description: Chart Embedded Object, EmbeddedBrowser object 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: Constants: Read write, BqScrollbar constant group 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

6-194

Properties

ScrollbarsAlwaysShown (Property)
Applies To: Description: DashboardSection 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: Example: Read-write, Boolean This example shows you how to enable embedded section objects to always show scrollbars.

ActiveDocument.Sections["Dashboard"].Shapes["Chart1"].ScrollbarsAlwaysShown = true

ScrollbarsAlwaysShown (Property)

6-195

SelectedIndex (Property)
Applies To: Description: ControlsDropDown Returns or sets the selections index in a dropdown control. Setting this value will cause the dropdown to change its selection. Read-write, Integer This example shows you how to display the number of the selected item in an Alert dialog box.

Action: Example:

Index=ActiveDocument.Sections["Dashboard2"].Shapes["DropDown1"].SelectedIndex=3 Alert("The user selected " + String(Index))

6-196

Properties

Shadow (Property)
Applies To: Description: Picture object 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: Example: Read-write, Boolean This example shows you how to set the shadow property to the picture object.

ActiveDocument.Sections["Report"].Body.Shapes["Picture"].Shadow = true

Shadow (Property)

6-197

ShiftPoints (Property)
Applies To: Description: BarLineChart Returns or sets the value of the BarLine charts ShiftPoints property. The ShiftPoints property determines where line chart plot points are placed in relation to the bar. Read-write, BqBarLineShift constant group 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.

Action: Constants:

ActiveDocument.Sections["AllChart"].BarLineChart.ShiftPoints=bqShiftLeft

6-198

Properties

Show3DObjects (Property)
Applies To: Description: ChartSection 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. Read-write, Boolean This example shows you how to change a chart to display 3D objects.
ActiveDocument.Sections"Chart"].Show3DObjects = true

Action: Example:

Show3DObjects (Property)

6-199

ShowAdvanced (Property)
Applies To: Description: Connection object, MetaDataConnection object 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. Read-write, Boolean This example shows you how to set the advanced property.

Action: Example:

ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce") ActiveDocument.Sections["Query"].DataModel.Connection.ShowAdvanced = true ActiveDocument.Sections["Query"].DataModel.Connection.Save()

6-200

Properties

ShowAllPositive (Property)
Applies To: Description: PieChart 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. Read-write, Boolean 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

Action: Example:

ShowAllPositive (Property)

6-201

ShowBackPlane (Property)
Applies To: Description: ChartSection Returns or sets the ShowBackPlane property of a chart. Setting this property equal to true will cause charts to display a back plane. Read-write, Boolean This example shows you how to display the back plane in a chart section.
var MyChart = ActiveDocument.Sections["Sales Chart"] MyChart.ShowBackPlane = true

Action: Example:

6-202

Properties

ShowBarValues (Property)
Applies To: Description: BarChart, BarLineChart If set to true data values are displayed on the tops of individual bars in Bar and Bar Line Charts. Read-write, Boolean 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

Action: Example:

ShowBarValues (Property)

6-203

ShowBorder (Property)
Applies To: Description: ChartSection Returns or sets a charts ShowBorder property. Setting this property equal to true will display a border around a chart. Read-write, Boolean This example shows you how to display the chart border.
var MyChart = ActiveDocument.Sections["Sales Chart"] MyChart.ShowBorder = true

Action: Example:

6-204

Properties

ShowBrioRepositoryTables (Property)
Applies To: Description: Connection object, MetaDataConnection object 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. Read-write, Boolean 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.

Action: Example:

Var myCon = Application.CreateConnection() MyCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer MyCon.HostName ="PlutoSQLSVR" MyCon.EnableAsyncProcess = true MyCon.ShowBrioRepositoryTables = true MyCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

ShowBrioRepositoryTables (Property)

6-205

ShowCatalog (Property)
Applies To: Description: Document object, PluginDocument 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
Action: Example:

The ActiveDocument.ShowCatalog object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean 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 }

6-206

Properties

ShowColumnTitles (Property)
Applies To: Description: ReportTable object 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: Example:

Read-write, Boolean This example shows you how not to display table column titles.

ActiveDocument.Sections["Report"].Body.Tables["Table"].ShowColumnTitles = false

ShowColumnTitles (Property)

6-207

ShowColumnTotal (Property)
Applies To: Description: TableFact object 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: Example:

Read-write, Boolean 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

6-208

Properties

ShowCustomMenu (Property)
Applies To: Description: Application object 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. Read-write, Boolean This example shows you how to display the column total for the "Amount Sales" table column.
Application.ShowCustomMenu = false;

Action: Example:

ShowCustomMenu (Property)

6-209

ShowFullNames (Property)
Applies To: Description: DMCatalog object 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. Read-write, Boolean 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

Action: Example:

6-210

Properties

ShowHorizontalPlane (Property)
Applies To: Description: ChartSection object Returns or sets a chart sections ShowHorizontalPlane property. Setting this property equal to true will display the horizontal plane of a chart. Read-write, Boolean This example shows you how to display the chart border.
var MyChart = ActiveDocument.Sections"Sales Chart"] MyChart.ShowBorder = true MyChart.ShowHorizontalPlane = true

Action: Example:

ShowHorizontalPlane (Property)

6-211

ShowIconJoins(Property)
Applies To: Description: DataModel object 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. Read-write, Boolean This example shows you how to show icon joins in a Data Model.

Action: Example:

ActiveDocument.Sections["Query"].DataModel.ShowIconJoins = true

6-212

Properties

ShowIntervalTickmarks (Property)
Applies To: Description: ValuesAxis Returns or sets a charts ValueAxis ShowIntervalTickmarks property. Setting this property equal to true will display the tickmarks on a charts values axis. Read-Write, Boolean This example shows you howshows you how to enable Interval tickmarks for a chart.

Action: Example:

ActiveDocument.Sections["Chart"].ValuesAxis.ShowIntervalTickmarks = true

ShowIntervalTickmarks (Property)

6-213

ShowIntervalValues (Property)
Applies To: Description: ValueAxis Returns or sets a charts ValueAxis ShowIntervalValues property. Setting this property equal to true will display the interval values on a charts values axis. Read-write, Boolean This example shows you how to enable Interval tickmarks for a chart.

Action: Example:

ActiveDocument.Sections"Chart"].ValuesAxis.ShowIntervalValues = true

6-214

Properties

ShowLabel (Property)
Applies To: Description: LeftAxis , RightAxis, XAxisLabel, ZaxisLabel Returns or sets a charts ShowLabel property. Setting this property equal to true will display the label associated with an axis. Read-write, Boolean This example shows you how to show all the labels for the various chart objects.
ActiveDocument.Sections["Chart"].Activate() ActiveSection.ValuesAxis.RightAxis.ShowLabel = true ActiveSection.LabelsAxis.XAxis.ShowLabel = true ActiveSection.ValuesAxis.LeftAxis.ShowLabel = true ActiveSection.LabelsAxis.ZAxis.ShowLabel = true

Action: Example:

ShowLabel (Property)

6-215

ShowLabels (Property)
Applies To: Description: PieChart Returns or sets a pie charts ShowLabels property. Setting this property equal to true will display the labels associated with a pie chart. Read-write, Boolean This example shows you how to set pie chart specific properties.

Action: Example:

ActiveDocument.Sections["Chart"].PieChart.ShowLabels = true ActiveDocument.Sections["Chart"].PieChart. ShowPercentages = true

6-216

Properties

ShowLegend (Property)
Applies To: Description: ChartSection Returns or sets a charts ShowLegend property. Setting this property equal to true will display the legend associated with a chart. Read-write, Boolean This example shows you how to enable the chart legend.
ActiveDocument.Sections["Chart"].ShowLegend = true

Action: Example:

ShowLegend (Property)

6-217

ShowLevelProperties (Property)
Applies To: Description: Action: Example: OLAPConnection object (OLE DB only) Sets the ShowLevelProperties property. Read only, Boolean 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" }

6-218

Properties

ShowLocalResults (Property)
Applies To: Description: DMCatalog object 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. Read-write, Boolean 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.

Action: Example:

var ResultsCount = 0 for (j =1 ; j <= ActiveDocument.Sections.Count ; j++) if (ActiveDocument.Sections[j].Type == bqQuery) ResultsCount++ if (ResultsCount > 1 ) ActiveDocument.Sections["Query"].DataModel.ShowLocalResults = true

ShowLocalResults (Property)

6-219

ShowMenuBar (Property)
Applies To: Description: Application 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
Action: Example:

The Application.ShowMenuBar object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean 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 }

6-220

Properties

ShowMetadata (Property)
Applies To: Description: Connection object, MetaDataConnection object Returns or sets a connections ShowMetadata property. Setting this property equal to true will display metadata settings in the Open Catalog Extensions wizard. Read-write, Boolean 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.

Action: Example:

var myCon = Application.CreateConnection() myCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." mmyCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.EnableAsyncProcess = true myCon.ShowMetaData = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

ShowMetadata (Property)

6-221

ShowOutliner (Property)
Applies To: ChartSection, OLAPQuerySection, PivotSection object, QuerySection object, ResultsSection, TableSection, ReportSection 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.

Description:

Note
Action: Example:

The ActiveDocument.Sections[SectionName]. ShowOutliner() object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean This example shows you how to display the chart outliner.

ActiveDocument.Sections["Chart"].ShowOutliner = true

6-222

Properties

ShowPartialViewIndicator (Property)
Applies To: Description: ChartSection object 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. Read-write, Boolean This example shows you how to hide the Partial View Indicator on the Chart screen.
ActiveDocument.Sections["Chart"].ShowPartialViewIndicator = false

.Action: Example:

ShowPartialViewIndicator (Property)

6-223

ShowPercentages (Property)
Applies To: Description: PieChart 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. Read-write, Boolean This example shows you how to set pie chart specific properties.

Action: Example:

ActiveDocument.Sections["Chart"].PieChart.ShowLabels = true ActiveDocument.Sections["Chart"].PieChart. ShowPercentages = true

6-224

Properties

ShowRowNumbers (Property)
Applies To: Description: ResultsSection, TableSection 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. Read-write, Boolean This example displays the row numbers.
ActiveDocument.Sections"Results"].ShowRowNumbers = true

Action: Example:

ShowRowNumbers (Property)

6-225

ShowSectionTitleBar (Property)
Applies To: Description: Document object, PluginDocument 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
Action: Example:

The ActiveDocument.ShowSectionTitleBar object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean 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 = true Application.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 }

6-226

Properties

ShowSlicer (Property)
Applies To: Description: OLAPQuerySection object 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. Read-write, Boolean This example shows you how to hide the slicer in the OLAPQuery.
ActiveDocument.Sections["OLAPQuery"].ShowSlicer=false

Action: Example:

ShowSlicer (Property)

6-227

ShowSortLine (Property)
Applies To: Description: Section object 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. Read-write, Boolean This example shows you how to hide the sort line in the OLAPQuery.
ActiveDocument.Sections["OLAPQuery"].ShowSortLine=false

Action: Example:

6-228

Properties

ShowStatusBar (Property)
Applies To: Description: Application 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
Action: Example:

The Application.ShowStatusBar and Application.ShowStatusText object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean 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 = true Application.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 }

ShowStatusBar (Property)

6-229

ShowSubTitle (Property)
Applies To: Description: ChartSection Returns or sets the charts ShowSubTitle property. Setting this property equal to true will display the sub title. Read-write, Boolean 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

Action: Example:

6-230

Properties

ShowTickmarks (Property)
Applies To: Description: XAxis, ZAxis Returns or sets the charts ShowTickmarks property. Setting this property equal to true will display the tickmarks on X-axis and/or Z-axis. Read-write, Boolean 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 = true MyChart.LabelsAxis.ZAxis.ShowTickmarks = false

Action: Example:

ShowTickmarks (Property)

6-231

ShowTitle (Property)
Applies To: Description: ChartSection Returns or sets the charts ShowTitle property. Setting this property equal to true will display the chart title. Read-write, Boolean 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

Action: Example:

6-232

Properties

ShowValues (Property)
Applies To: Description: XAxis, ZAxis 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. Read-write, Boolean 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 = true MyChart.LabelsAxis.ZAxis.ShowValues = false

Action: Example:

ShowValues (Property)

6-233

ShowValuesAtRight (Property)
Applies To: Description: ValuesAxis Returns or sets the charts ShowValuesAtRight property. Setting this property equal to true will display the values to the right of the values axis. Read-write, Boolean This example shows you how to display the values to the right of the axis.
var MyChart = ActiveDocument.Sections"Chart"] MyChart.ValuesAxis.ShowValuesAtRight = true

Action: Example:

6-234

Properties

ShowVerticalPlane (Property)
Applies To: Description: ChartSection object Returns or sets the charts ShowVerticalPlane property. Setting this property equal to true will display the vertical plane in a chart section. Read-write, Boolean This example shows you how to display the vertical plane on a chart.
ActiveDocument.Sections["Chart"].ShowVerticalPlane=true

Action: Example:

ShowVerticalPlane (Property)

6-235

Size (Property)
Applies To: Description: Font objec Returns or sets the value of a font objects size property. This property controls the size of the text associated with a font object. Read-write, Numeric 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 = 14 MyLabel.Font.Style = bqFontStyleBoldItalic

Action: Example:

6-236

Properties

SmartScaling (Property)
Applies To:

ChartSection 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:

Description:

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

SmartScaling (Property)

6-237

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: Example: Read-write, Boolean This example shows you how to add a title to a chart.
ActiveDocument.Sections["Chart"].SmartScaling = true

6-238

Properties

SortAscending (Property)
Applies To: Description: Action: Example ReportTable object Returns or sets the sort ascending property for items in a ReportTable column. Read-write, Boolean This example shows you how to sort items in the "Region" column in ascending order.

ActiveDocument.Sections["Report"].Body.Tables["Table"].SortItems["Region"].SortAs cending = true

SortAscending (Property)

6-239

SortDescending (Property)
Applies To: Description: ReportTable object Returns or sets the sort descending property for items in a ReportTable column. Read-write, Boolean This example shows you how to sort items in the "Region" column in descending order.

Action: Example

ActiveDocument.Sections["Report"].Body.Tables["Table"].SortItems["Region"].SortDe scending = true

6-240

Properties

SortFactName (Property)
Applies To: Description: PivotLabels collection, XCategory object, ZCategory object Returns or sets the sort criteria for a pivot fact. This property is used in conjunction with the SortByFact (Method). Read-only, String This example shows you how to sort the side label "Product Name" by the fact value.

Action: Example:

ActiveDocument.Sections["Pivot3"].SideLabels["Product Name"].SortFactName="Unit Sales"

SortFactName (Property)

6-241

SortFunction (Property)
Applies To: Description: PivotLabels Collection, XCategory object, ZCategory object 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. Read-only, String 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.

Action: Constants:

ActiveDocument.Sections["Pivot3"].SideLabels["Product Name"].SortFunction= bqSortFunctionAverage

6-242

Properties

SortOrder (Property)
Applies To: Description: Sort Items, XCategory object, ZCategory object Returns or sets the ascending or descending sort order property. Th SortNow is required to use SortOrder (Property). Read-write 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 conditon ActiveSection.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"

Action: Constants

2nd Command Button


//invokes the SortNow method ActiveSection.Shapes["CommandButton1"].OnClick() TextBox1.Text = "Start SortNow" try {

SortOrder (Property)

6-243

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 = bqSortAscend TextBox1.Text = "Step2" TextBox3.Text = ActiveDocument.Sections["Table"].SortItems[1].SortOrder TextBox1.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 constant TextBox1.Text = "Start SortOrder" try { TextBox1.Text = "Step1" ActiveDocument.Sections["Table"].SortItems[1].SortOrder = bqSortDescend TextBox1.Text = "Step2" TextBox3.Text = ActiveDocument.Sections["Table"].SortItems[1].SortOrder TextBox1.Text = "Step3" switch(ActiveDocument.Sections["Table"].SortItems[1].SortOrder) { case 1: TextBox3.Text = "Sort Order is bqSortAscend" break; case 2:

6-244

Properties

TextBox3.Text break; default: TextBox3.Text } } catch(e) { TextBox2.Text } TextBox1.Text

= "Sort Order is bqSortDescend"

= "No Sort Order is Available"

= e.toString() = "End SortOrder"

SortOrder (Property)

6-245

SpecificMetadataLogin (Property)
Applies To: Description: Connection object, MetaDataConnection object 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. Read-write, Boolean 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.

Action: Example:

var myCon = Application.CreateConnection() myCon.Description"This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." myCon.Api = bqApiOpenClient myCon.Database = bqDatabaseSQLServer myCon.HostName ="PlutoSQLSVR" myCon.EnableAsyncProcess = true myCon. SpecificMetadataLogin = true myCon.SaveAs("d:\\OCEs\\PlutoSQL.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoSQL.oce")

6-246

Properties

SQLName (Property)
Applies To: Description: Requests collection Returns the value of a request objects SQLName property. The value of this property is the name of the request object, which is used in building the SQL statement. Read-only, String This example shows you how to display all the names used in the SQL statement corresponding to the request line items.

Action: Example:

var RequestCount = ActiveDocument.Sections["Query"].Requests.Count for (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.") }

SQLName (Property)

6-247

SQLNetRetainDateFormats (Property)
Applies To: Description: Connection object, MetaDataConnection object 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. Read-write, Boolean This example creates a connection file from scratch and then applies it to the current document.

Action: Example:

Var myCon = Application.CreateConnection() MyCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." MyCon.Api = bqApiSQLNet MyCon.Database = bqDatabaseOracle71 MyCon.HostName ="PlutoORACLE" MyCon. SQLNetRetainDateFormats =true MyCon.SaveAs("d:\\OCEs\\PlutoORACLE.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoORACLE.oce")

6-248

Properties

StackClusterType (Property)
Applies To: Description: BarLineChart Returns or sets the value of the BarLineChart objects StackClusterType property. Read-write 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

Action: Constants:

StackClusterType (Property)

6-249

StatusText (Property)
Applies To: Description: Application 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
Action: Example:

The Application.ShowStatusBar and Application.StatusText object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean 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 = true Application.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 }

6-250

Properties

StringRetrieval (Property)
Applies To: Description: Connection object, MetaDataConnection object 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. Read-write, Boolean This example creates a connection from scratch and then applies it to the current document.

Action: Example:

Var myCon = Application.CreateConnection() MyCon.Description = "This OCE configures the connection via ODBC, to a SQLServer 6.5 database named pluto." myCon.Api = bqApiSQLNet myCon.Database = bqDatabaseOracle71 myCon.HostName ="PlutoORACLE" myCon. StringRetrieval =true myCon.SaveAs("d:\\OCEs\\PlutoORACLE.oce") //Now use this connection in a datamodel ActiveDocument.Sections["Query"].DataModel.Connection.Open ("d:\\OCEs\\PlutoORACLE.oce")

StringRetrieval (Property)

6-251

Style (Property)
Applies To: Description: Font 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. Read-write 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.

Action: Constants:

var MyLabel = ActiveDocument.Sections["Dashboard"].Shapes["TextLabel1"] MyLabel.Font.Size = 14 MyLable.Font.Style = bqFontStyleBoldItalic

6-252

Properties

SubTitle (Property)
Applies To: Description: Action: Example: ChartSection Returns or sets the value of a charts sub title. Read-write, String 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

SubTitle (Property)

6-253

SuppressDuplicates (Property)
Applies To: Description: Column 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. Read-write, Boolean This example shows you how to suppress duplicate results on specific columns within a Results section.

Action: Example:

var Col1 = "State" var Col2 = "City" ActiveDocument.Sections"Results"].Columns[Col1].SupressDuplicates = true ActiveDocument.Sections["Results"].Columns[Col2].SupressDuplicates = true

6-254

Properties

SuppressEmptyRows (Property)
Applies To: Description: DBSpecific object (MS OLAP and SAP BW)

Suppresses the retrieval of any empty rows for which there is no measure data.
Read-write, Boolean This example shows you how to suppress empty rows in the OLAP query.

Action: Example:

ActiveDocument.Sections["OLAPQuery"].DBSpecific.SuppressEmptyRows=true

SuppressEmptyRows (Property)

6-255

SuppressMissingRows (Property)
Applies To: Description: Action: Example: DBSpecific object (Essbase and DB2 OLAP only)

Suppresses the retrieval of any missing rows where all cells are null.
Read-write, Boolean This example shows you how to suppress empty rows in the OLAP query.

ActiveDocument.Sections["OLAPQuery"].DBSpecific.SuppressMissingRows=true

6-256

Properties

SuppressZeroRows (Property)
pplies To: Description: Action: Example: DBSpecific object (Essbase and DB2 OLAP only)

Suppresses the retrieval of any zero rows where all cells are null.
Read-write, Boolean This example shows you how to suppress empty rows in the OLAP query.

ActiveDocument.Sections["OLAPQuery"].DBSpecific.SuppressZeroRows=true

SuppressZeroRows (Property)

6-257

SurfaceValues (Property)
Applies To: Description: PivotSection object 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: Example 1: Read-write, Boolean This example shows you how to turn on surface values.
//Surface Values ON ActiveDocument.Sections["Pivot"].SurfaceValues=true

Example 2:

This example shows you how to turn off surface values.


//Surface Values OFF ActiveDocument.Sections["Pivot"].SurfaceValues=false

6-258

Properties

SuspendCalculation (Property)
Applies To: Description: ReportSection Returns or sets the value of a report objects 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
Action: Example:

You must use the Recalculate() method or the Process method to force a recalculation when using this property.

Read-write, Boolean This example shows you how to increase the performance of the report section using the SuspendCalculation property.
ActiveDocument.Sections["Report"].SuspendCalculation = true

SuspendCalculation (Property)

6-259

SuspendRecalculation (Property)
Applies To: Description: Limit (Results limits only) 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
Action: Example:

You must use the Recalculate() method to force a recalculation when using this property.

Read-write, Boolean 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 = true MyLimit.SelectedValues.RemoveAll() MyLimit.SelectedValues.Add(10) MyLimit.SelectedValues.Add(11) MyLimit.SelectedValues.Add(12) MyLimit.SuspendRecalculation = false ActiveDocument.Sections["Results].Recalculate()

Note

Instead of calculating the results limit four times, the script above only calculates it once.

6-260

Properties

Text (Property)
Applies To: Description: ControlsTextBox, EmbeddedBrowser object, HyperLink object, Returns or sets the value of the text that is displayed in a Text box control or Text label shape. Read-write, String This example shows you how to set an initial value for a text box.

Action: Example:

ActiveDocument.Sections["Dashboard2"].Shapes["TextBox1"].Text="Hello World" Alert (ActiveDocument.Sections["Dashboard2"].Shapes["TextBox1"].Text)

Text (Property)

6-261

TextWrap (Property)
Applies To: Description: Column 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. Read-write, Boolean This example shows you how to force text to wrap on specific columns within the Results section.

Action: Example:

var Col1 = "State" var Col2 = "City" ActiveDocument.Sections["Results"].Columns[Col1].TextWrap = false ActiveDocument.Sections["Results"].Columns[Col2]. TextWrap = true

6-262

Properties

TickmarkFrequency (Property)
Applies To: Description: XAxis Returns or sets the value of a charts XAxis objects TickmarkFrequency property. This property effects the number of tickmarks displayed on the Xaxis. Read-write, Numeric This example shows you how to display a tickmark for every value on the Xaxis.

Action: Example 1:

ActiveDocument.Sections["AllChart"].LabelsAxis.XAxis.TickmarkFrequency=1 ActiveDocument.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=2 ActiveDocument.Sections["AllChart"].LabelsAxis.XAxis.ShowTickmarks=true

TickmarkFrequency (Property)

6-263

TimeLimit (Property)
Applies To: Description: Connection object, MetaDataConnection object, DataModel, QuerySection 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. Read-write, Numeric This example shows you how to set the Time limit property for all the supported objects.
//Connections var myCon = Application.CreateConnection() myCon.Api = bqApiSQLNet myCon.Database = bqDatabaseOracle71 myCon.HostName ="PlutoORACLE" myCon.TimeLimit = 20 myCon.SaveAs("d:\\OCEs\\PlutoORACLE.oce") //DataModel ActiveDocument.Sections["Query].DataModel.TimeLimit = 30 //Query ActiveDocument.Sections["Query].TimeLimit = 30

Action: Example:

6-264

Properties

TimeLimitActive (Property)
Applies To: Description: QuerySection, DataModel object Returns the enable/disable for Time Limit setting property. It is associated with the TimeLimit property. Read-only, Boolean 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.

Action: Example:

ActiveDocument.Sections["Query"].DataModel.TimeLimitActive = true ActiveDocument.Sections["Query"].DataModel.TimeLimit = 30 ActiveDocument.Sections["Query"].Process()

TimeLimitActive (Property)

6-265

Title (Property)
Applies To: Description: ChartSection object Returns or sets the value of the title property. This property changes the value of the title displayed on a chart. Read-write, String 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

Action: Example:

6-266

Properties

TopMargin (Property)
Applies To: Description: ReportSection object 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: Example:

Read-write, Number This example shows you how to set the top margin of the report to .25 inches.
ActiveDocument.Sections["Report"].TopMargin = .25

TopMargin (Property)

6-267

TopicName (Property)
Applies To: Description: Join object, Local Join 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). Read-only, String This example shows you how to retrieve the topic names 1 and 2 from a join.

Action: Example 1:

//Get Join Topic Names TextBox1.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 Names TextBox4.Text=ActiveDocument.Sections["Query"].DataModel.Joins["1"].TopicItem1.Di splayName TextBox5.Text=ActiveDocument.Sections["Query"].DataModel.Joins["1"].TopicItem2.Ph ysicalName

Example 3:

This example shows you how to retrieve the topic names 1 and 2 from a local join.

//Get Local Join Topic Names TextBox6.Text=ActiveDocument.Sections["Query"].DataModel.LocalJoins["1"].Topic1Na me; TextBox7.Text=ActiveDocument.Sections["Query"].DataModel.LocalJoins["1"].Topic2Na me; TextBox8.Text=ActiveDocument.Sections["Query"].DataModel.LocalJoins["1"].Type;

6-268

Properties

TrueComputedItemTotals (Property)
Applies To: Description: PivotSection object 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: Example: Read-write, Boolean This example shows you how to enable the true computed items totals option.
ActiveDocument.Sections["Pivot"].TrueComputedItemTotals = true

TrueComputedItemTotals (Property)

6-269

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 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.

Description:

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: Constants:

Read-only Application object BqAppType bqAppTypeDesktopClient bqAppTypePlugInClient

6-270

Properties

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

Type (Property)

6-271

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

6-272

Properties

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.Count for (j = 1; j <= SecCount ; j++) { if (ActiveDocument.Sections[j].Type == bqQuery) ActiveDocument.Sections[j].Process() }

Type (Property)

6-273

UnionController (Property)
Applies To: Description: AppendQueriesSection 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. Read-write The BqUnionController constant consists of the following values: bqUnion bqUnionAll This is the UnionController Constant Definition:
typedef enum BqUnionController { bqUnion = 1, bqUnionAll, } BqUnionController;

Action: Constants:

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

6-274

Properties

UniqueRows (Property)
Applies To: Description: QuerySection 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. Read-write, Boolean This example sets each query in a document to return unique rows.
var SecCount = ActiveDocument.Sections.Count for (j = 1; j <= SecCount ; j++) { if (ActiveDocument.Sections[j].Type == bqQuery) ActiveDocument.Sections[j].UniqueRows = true }

Action: Example:

UniqueRows (Property)

6-275

URL (Property)
Applies To: EmbeddedBrowser object, HyperLink object,PluginDocument (web client only) 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. Read-only, String 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.URL Application.OpenURL(MyURL + "\/helpinfo.html,_new") }

Description:

Action: Example:

6-276

Properties

Username (Property)
Applies To: Description: Connection object, MetaDataConnection object 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). Read-write, String This example shows you how to create a connection from scratch and how to set its various properties.
var myCon = Application.CreateConnection() myCon.Api = bqApiSQLNet myCon.Database = bqDatabaseOracle71 myCon.HostName ="PlutoORACLE" myCon.TimeLimit = 20 //minutes myCon.Username = "Brio myCon.SaveAs("d:\\OCEs\\PlutoORACLE.oce")

Action: Example:

Username (Property)

6-277

ValueSource (Property)
Applies To: Description: Limit Returns the value of a limit objects ValueSource property. This property returns an enumerated value, which specifies where the limit values originated. Read-only 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.

Action: Constants:

ActiveDocument.Sections["Query"].Limits[1].LoadFromFile("d:\\LimitData.txt") if (ActiveDocument.Sections["Query"].Limits[1].ValueSource != bqLimitSourceFile) Alert("An error has occurred,Error!")

6-278

Properties

VariableLimit (Property)
Applies To: Description: Limit 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. Read-write, Boolean This example checks to see if any query limits are set as variable limits and reverts them into normal limits.

Action: Example:

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

VariableLimit (Property)

6-279

VariableSlicerMode (Property)
Applies To: Description: OLAPSlicer collection 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. Read-write, BqSlicerDisplayOptions constant group The VariableSlicerMode property uses the BqSlicerDispayOptions constant group, which consists of the following: bqListView and bqTreeView. This example shows you how to set the variable slicer mode to tree view.

Action: Constants:

Example:

ActiveDocument.Sections["OLAPQuery"].Slicers.VariableSlicerMode = bqTreeView

6-280

Properties

Version (Property)
Applies To: Description: Action: Example: Application Returns the value of the Intelligence Clients application version number. Read-only, String This example shows you how to display your current version number.
Alert (Application.Version)

Version (Property)

6-281

VerticalAlignment (Property)
Applies To: Description: Shape object, EmbeddedBrowser object, HyperLink object, Returns or sets the vertical alignment of the text in a shape objectThis property corresponds to the features on the Alignment Properties dialog box. Read-write, BqVerticalAlignment constant 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 = 8 MyLabel.Font.Style = bqFontStyleBoldItalic MyLabel.VerticalAlignment=bqAlignTop

Action: Constants:

6-282

Properties

View (Property)
Applies To: Description: Topic Returns or sets the value of a topic objects view property. This property controls the display characteristics of topics in a Data Model. Read-Write, BqTopicView constant 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.

Action: Constants:

var TopicCount = ActiveDocument.Sections["Query"].DataModel.Topics.Count for (j =1 ; j <= TopicCount ; j++) ActiveDocument.Sections["Query"].DataModel.Topics[j].View = bqStructureView

View (Property)

6-283

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, 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.

Description:

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
Action: Example:

The Application.Visible object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, Boolean This example unhides all the sections in a document.


var SecCount = ActiveDocument.Sections.Count for ( j =1 ; j <= SecCount ; j++) if (ActiveDocument.Sections[j].Visible == false) ActiveDocument.Sections[j].Visible = true

6-284

Properties

Width (Property)
Applies To: Description: Line Returns or sets the value of the Lines Width property. This property effects the size of the border of shape and control objects. Read-write, Number This example changes all the rectangles to have a border width of five pixels.
var ShapeCount = ActiveDocument.Sections["Dashboard"].Shapes.Count var ShapesCol = ActiveDocument.Sections["Dashboard"].Shapes for ( j =1 ; j <= ShapeCount ; j++) if (ShapesCol[j].Type == bqShapeTypeRectangle) ShapesCol[j].Line.Width = 5

Action: Example:

Width (Property)

6-285

WindowState (Property)
Applies To: Description: Application (Intelligence Clients Only) 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
Action: Constants:

The Application.WindowState object model syntax is not supported in an Intelligence iServer BQY document.

Read-write, BqWindowState constant 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 = bqWindowStateMaximized else Application.WindowState = bqWindowStateNormal

6-286

Properties

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.
Tab le 7 - 1

Constant Groups and Associated Properties/Methods Associated Properties and Methods AdaptiveState (Property) Application (Object) API (Property) AuditSQL (Method) ShiftPoints (Property) ShiftPoints (Property) BrushStyle (Property) AxisPlotValues (Property) AxisType (Property) Not Used

Constant Group BqAdaptiveState BqAppType BqApi BqAuditEventType BqBarLineShift BqBarLineType BqBrushStyle BqChartAxisPlotValue BqChartAxisType BqChartLabelOrientation

Tab le 7 - 1

Constant Groups and Associated Properties/Methods (Continued) Associated Properties and Methods ChartType (Property) Clusterby (Property), StackClusterType (Property) Color (Property), MarkerBorderColor (Property), MarkerFillColor (Property) ColumnType (Property) DashStyle (Property) Database (Property) DataFunction (Property) Type (Property) DataType (Property), AddComputedItem (Method) DBLibDatabaseCancel (Property) DrillDownDisplay (Property) Events (Collection) Export (Method) Pattern (Property) Display (Property) Style (Property) GraphicsFileType (Property) Alignment (Property) HTMLVerticalPageBreakUnits (Property), HTMLExportBreakColCount (Property) HTMLPregenerateMode (Property) ImportDataFile (Method) Type (Property) Layer (Method)

Constant Group BqChartType BqClusterBarType BqColorType

BqColumnType BqDashStyle BqDatabase BqDataFunction BqDataModelJoinsOption BqDataType BqDbLibCancelMode BqDrillDownDisplay BqEvents BqExportFileFormat BqFillPattern BqFontEffect BqFontStyle BaGraphicsFileType BqHorizonalAlignment BqHTMLPageBreakUnits BqHTMLPregenerateMode BqImportDataFileFormat BqJoinType BqLayer

7-2

List of Constants

Tab le 7 - 1

Constant Groups and Associated Properties/Methods (Continued) Associated Properties and Methods Operator (Property) ValueSource (Property) LimitValueType (Property) LimitValueType (Property) LogicalOperator (Property) MarkerStyle (Property) DisplayMode (Property) AddFilterValue (Method), AddFilter (Method) AddFilter (Method) Orientation (Property) PageBreak (Property) Effect (Property) Display (Property) Not Used ProcessEventOrigin (Property) ProcessToTable (Method) RefreshData (Property) Not Used RepositoryBQYToolbarType (Property) RepositoryFileType (Property) Type (Property) Type (Property) VariableSlicerMode (Property) SortFunction (Property) SortOrder (Property)

Constant Group BqLimitOperator BqLimitValueSource BqLimitValueType bqLimitValueTypeSQL BqLogicalOperator BqMarkerStyle BqOpenURLTarget BqOperator BqOperatorType BqOrientation BqPageBreak BqPictureEffect BqPivotLabelDisplay BqPivotLabelType BqProcessEventOriginType BqProcessType BqRefreshData BqRepositoryObjectType BqRepositoryBQYToolbarType

FqRepositoryFiletype
BqSectionType BqShapeType BqSlicerDisplayOptions BqSortFunction BqSortOrder

7-3

Tab le 7 - 1

Constant Groups and Associated Properties/Methods (Continued) Associated Properties and Methods ShowScrollbar (Property) Type (Property) Type (Property) View (Property) UnionController (Property) VerticalAlignment (Property) WindowState (Property)

Constant Group BqScrollbar BqToolbars BqTopicType BqTopicView BqUnionController BqVerticalAlignment BqWindowState

7-4

List of Constants

8
In This Chapter

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:

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

Object Model Hierarchy


The 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 levelthe Application leveland 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 Sections Expanded Query Section

8-2

Object Model Map

Application Level
The following illustration shows the objects following the Application level.

Application

Documents

DocName

Sections Active Document LastSaved

Active Section Standard

Formatting Toolbars Sections

Navigation Recent Files Item Number

Console

URL Session Form

Cookies

Application Level

8-3

Active Document Level


The following illustration shows the objects following the Active Document level.

Application

Active Document (Doc Name)

Sections

EIS

Report

Query

Results

Table

Chart

Pivot

DataModel

OLAPQuery

Last Saved

8-4

Object Model Map

Query Section
The following illustration shows the objects following the Query Section level.

Application

Active Documents Connection MetaData Connection Catalog Query Section Topics Results CatalogItems TopicName TableName TopicItems TopicItemName

Sections

Joins Limits Data Model Local Results Local Joins

JoinNumber

TopicItem1 TopicItem2

Requests

RequestNum AvailableValues LimitNum CustomValues SelectedValues LimitValue

Limits

SortItems

Query (base) AppendQuery Query (append)

Requests Limits LimitNum

RequestNum AvailableValues CustomValues SelectedValues LimitValue

Query Section

8-5

Dashboard Section
The following illustration shows the objects following the Dashboard Section level.

Application

Active Document CheckBox RadioButton Sections CommandButton TextBox EIS DropDown ListBox Font SelectedList Fill Fill Font Font

Shapes

TextLabel HorizontalLine

Font

Fill

Line

Line VerticalLine

Line

Picture Fill Oval Line Rectangle EmbeddedSection

8-6

Object Model Map

Chart Section
The following illustration shows the objects following the Chart Section level.

Application XCategories(C) XCategories(O)

Facts(C) Active Document ZCategories(C)

Fact(O) ZCategories(O)

XLabels Sections YLabels LabelValues

ZLabels Chart BarChart BarLineChart PieChart AreaChart LineChart XAxis

LabelAxis ValueAxis

YAxis LeftAxis

RightAxis Legend Items Item Line

Fill

Chart Section

8-7

Results, Report, and Pivot Sections


The following illustration shows the objects following theResults, Report and Pivot Section levels.

Application

Active Document

Sections

Columns

Column AvailableValues

Results

Limits

Limit

CustomValues

LimitValue

SelectedValues SortItems SortItem

Reports

TopLabels PivotLabel Pivots SideLabels

Facts DataLabels

PivotFact

CornerLabels

8-8

Object Model Map

Table and OLAPQuery Sections


The following illustration shows the objects following the Table and OLAPSQuery Section levels.

Application

Active Document

Section Columns Table Limits

SortItems

SortItemName

Connection TopLabels TopLabelNum

OLAP Query

SideLabels Measures

SideLabelNum TopLabelName

Slicers

SlicerNumber

Table and OLAPQuery Sections

8-9

8-10

Object Model Map

9
In This Chapter

JavaScript Examples

This chapter provides sample JavaScript scripts for Designer and Explorer tasks.

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

Displaying and Entering Values in a Text Box


An 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 Eventenables 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; }

9-2

JavaScript Examples

Retrieving and Setting the Properties of an Object


Intelligence 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;

Retrieving and Setting the Properties of an Object

9-3

Enabling and Disabling Controls


Dashboard 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;

9-4

JavaScript Examples

Controlling the Visibility of Graphics and Controls


Dashboard 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;

Controlling the Visibility of Graphics and Controls

9-5

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.oce MyConnection = ActiveDocument.Sections["Query"].DataModel.Connection MyConnection.Open("c:\\OCEs\\Sample.oce") MyConnection.Username = "brio" MyConnection.SetPassword("brio") MyConnection.Connect() MyConnection.SaveAs("c:\\temp\\sample.oce") ActiveDocument.Sections["DataModel"].DataModel.Connection.Ope n("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 Box


Example 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")

9-6

JavaScript Examples

Downloading Data Models


Example 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 Catalog


Example 14 shows the script to use to programmatically show a listing of the available tables on your database.

Example 14

// display table catalog ActiveDocument.Sections["DataModel"].DataModel.Catalog.Refres h()

Adding Topics to a Data Model Section


Example 15 shows the script to use to add topics to a data model section.

Example 15

// add topics to DataModel section CatItem = ActiveDocument.Sections["DataModel"].DataModel.Catalog.Cata logItems["PCW_ITEMS"] ActiveDocument.Sections["DataModel"].DataModel.Topics.Add(Cat Item)

Adding Topics to a Data Model Section

9-7

Setting up Topic Object Variables


Example 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 Joins
Example 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(PC WPeriods_Day,PCWSales_OrderDate, bqJoinSimpleEqual)

9-8

JavaScript Examples

Adding Items to the Request Line


Example 18 shows the script to use to add items to the request line.

Example 18

// add items to the request line ActiveDocument.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 Line


Example 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/Units ActiveDocument.Sections["Query"].Requests.AddComputedItem ("CompItem","Amount/Units",3)

Adding a Computed Column to a Query Request Line

9-9

Creating and Setting Variable Limits


Example 20 shows the script to use to create and set variable limits.

Example 20

// create and set variable limit - Store_Id mylimit = ActiveDocument.Sections["Query"].Limits.CreateLimit("PCW_SA LES.Store_Id") mylimit.Operator = bqLimitOperatorLessThanOrEqual mylimit.CustomValues.Add(10) mylimit.SelectedValues.Add(10) ActiveDocument.Sections["Query"].Limits.Add(mylimit) mylimit.VariableLimit = true

Using a BrioQuery 5.5 Limit Dialog Box and Storing 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 ="" }

9-10

JavaScript Examples

Turning off the Page Headers for the First Page in the Report
The 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 Box


The script in Example 23 shows how to shut down the Intelligence Client application on an OnShutdown event.

Example 23

Application.Quit(false)

Turning off the Prompt To Save Dialog Box

9-11

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

Space-Saving Variables
One 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")ActiveDo cument.Sections["Query"].DataModel.Connection.Connect

try this:
DMPath = ActiveDocument.Sections["Query"].DataModel.Connection DMPath.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"].Limits LPath.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()

10-2

TroubleShooting Scripts

Case-Sensitive Code
JavaScript is case sensitive and distinguishes between uppercase (capital) and lowercase (small) letters. Rules to remember include:

All JavaScript statements (for example, var, ifelse, 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.

Case-Sensitive Code

10-3

Assignment Operators Versus Comparison Operators


JavaScript 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.

10-4

TroubleShooting Scripts

Conditional Tests
When 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 = 5 if ( 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 = 5 Console.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 items 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.

Conditional Tests

10-5

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.SelectedIndex Console.Writeln(String(myvar)) if ( myvar == 5) { Alert("myvar = 5!") } else { Alert("myvar is not 5!") }

Now lets 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.DropDown1 var myvar = DropDown1.SelectedIndex Console.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. Lets 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.DropDown1 var myvar = DropDown1[DropDown1.SelectedIndex] Console.Writeln(String(myvar)) if ( myvar == "five") { Alert("myvar = 5!") } else { Alert("myvar is not 5!") }

10-6

TroubleShooting Scripts

Syntax Reference
On 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 ApplicationActiveDocumentSectionsQueryMethods, 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.

Syntax Reference

10-7

Recalculating Results
A 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

10-8

TroubleShooting Scripts

Designing Your Script


JavaScript 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 EditClear 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 ViewConsole Window. Console.Write() does not add a carriage return at the end of a line, while Console.Writeln() does add a carriage return.

Designing Your Script

10-9

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 clients 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 Script Step1 Step2 Step3 End Query Script

10-10

TroubleShooting Scripts

Code Entry
Whenever 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 Errors
The 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"].Limits try {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!")}

Bypass Errors

10-11

Getting Help with a Problem Script


If 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 QueryQuery 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.

10-12

TroubleShooting Scripts

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

Architecture of the Intelligence iServer


The 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.

Components
The 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.

A-2

Designing for the Intelligence iServer

Performance
The Intelligence iServer offers several performance benefits. With the exception of HTML Pregeneration, the other additionsPartial Document Loading, Multithreading, Distributed Components, and Disk Cachingare transparent and cannot be configured by the end-user.

HTML Pregeneration
Users 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 Loading


Instead of requiring an entire BQY document to always load into memory, only the required sections of a BQY document are loaded.

Multithreading
Instead 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 Components
Instead of a centralized software system, software components are modularized and deployed anywhere within a network with communication coordinated by messages passed between the components.

Architecture of the Intelligence iServer

A-3

Disk Caching of BQY Documents


Instead 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 iServer


Intelligence 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.

A-4

Designing for the Intelligence iServer

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 filesthere 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.

Highlights of the Intelligence iServer

A-5

Summary of Design Considerations by Section


Though 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 Use


The 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.

A-6

Designing for the Intelligence iServer

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 Use


The 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 Use


The 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.

Summary of Design Considerations by Section

A-7

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 Use


The 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 Use


The 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.

A-8

Designing for the Intelligence iServer

Cannot change or restore chart label names. Cannot rotate pie chart.

Dashboard Section Design and Use


The 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 listthis 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.

Summary of Design Considerations by Section

A-9

Report Section Design and Use


The 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.

A-10

Designing for the Intelligence iServer

Locating Errors
When 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 Window
The 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 Logs
The 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 block
You 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.

Locating Errors

A-11

Controls
Control 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 Properties


Basic 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:
Tab le A - 1

Special Considerations for Control Objects Control Object Property Behavior 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. The OnSelection event does not fire when the first selection from the dropdown 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. The OnEnter and OnChange events do not fire from the Intelligence iServer.

Control Object Command Button

Drop Down

Text Box

A-12

Designing for the Intelligence iServer

Graphics Objects
End 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.
Tab le A - 2

Special Considerations for Graphic Objects Properties Overline effect, doubleoverline effect, vertical and horizontal rotation, vertical and horizontal rotated up and down rotation. n/a n/a n/a n/a n/a Picture Clip Effect (upper left corner clip of the image), Picture Tile Effect

Graphic Object Textlabel Line Horizontal Line Rectangle Round Rectangke Oval Picture

Note

All graphics support the OnClick event.

Borders and Background/Font


The 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.

Borders and Background/Font

A-13

Embedded Objects
A 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.

A-14

Designing for the Intelligence iServer

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 iServers 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.

Embedded Objects

A-15

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.

A-16

Designing for the Intelligence iServer

Events
Hyperion 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 Events
All 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 Events


All events associated with the Dashboard section are supported, including the OnActivate and OnDeActivate Events.

Dashboard Object Events


Dashboard 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)
Events

A-17

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 JavaScript
Client-side JavaScript allows you to designate scripts that run in the clients 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 Status
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.

A-18

Designing for the Intelligence iServer

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 objects 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 ActiveSections script status settings. The behavior of the status indicators settings is shown below.
Tab le A - 3

Status Indicator Settings ActiveSection.ClientScriptStatus Initialization occurs when a server side script completes. For client-side script run in the Intelligence 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 scripts execution, even if the page is not redrawn. Object.ClientScriptStatus Initialization occurs when the client-side script for the object starts to run.

Indicator Value True

False

No server side script is executed.

No server side script is executed.

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.

Client-Side JavaScript

A-19

Client-Side Events
The 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.

Tab le A - 4

Client-Side Object Level Events Objects Supporting Event Graphics: Line, horizontal line, vertical line, rectangle, round rectangle, oval, text label, picture Controls:command button, radio button, check box, list box Action That Invokes Event Clicking on a section, graphic, or control.

Event
OnClientClick

OnClientDoubleClick

Controls: list box Control: Text Box Control: Text Box

Clicking on a section, graphic, or control Entering a text box. Leaving a text box.

OnClientEnter OnClientExit

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.
Tab le A - 5

Client-Side Events Associated with Graphic Objects Event


OnClientClick OnClientClick OnClientClick OnClientClick OnClientClick

Graphic Object Line Horizontal Line Vertical Line Rectangle Round Rectangle

A-20

Designing for the Intelligence iServer

Tab le A - 5

Client-Side Events Associated with Graphic Objects (Continued) Event


OnClientClick OnClientClick OnClientClick

Graphic Object Oval Text Label Picture

Tab le A - 6

Client-Side Events Associated with Control Objects Event


OnClientClick OnClientClick OnClientClick OnClick OnClientSelection OnClientEnter, OnClientExit, OnClientChange

Control Object Command Button Radio Button Check Box List Box Drop Down Text Box

Section Level Events


Section 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 Properties


Designers can use the events and properties of a Text Box when creating clientside 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

Client-Side JavaScript

A-21

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 Dialog
Intelligence 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

A-22

Designing for the Intelligence iServer

Toolbars
Control 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 Objects
The 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 Toolbar
As 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:

Toolbars

A-23

Section Navigation dropdown Dashboard Home Page X of Y Left Navigation control Previous/Next Navigation controls Right Navigation control

Help Close Document Save File Locally Export to Excel Export to PDF Process

The Toolbars collection Standard object has the associated Properties:


Toolbars["Standard"].Visible Toolbars["Standard"].Name Toolbars["Standard"].Type

Paging Toolbar
The 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:

Current Page Indicator Left Navigation Control Up/Down Navigation Controls Right Navigation Control

A-24

Designing for the Intelligence iServer

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 Display


The 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 Display


The 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).

Toolbars

A-25

Personal Pages
The 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 HTML
Changes 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 Compliance


The 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.

A-26

Designing for the Intelligence iServer

Accessibility
The 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>].Accessibility ActiveDocument.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 Case


The 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.

Accessibility

A-27

Object Model Exclusion List


This 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()

A-28

Designing for the Intelligence iServer

Application.ShowMenuBar() Application.Quit() Console.Write() Console.WriteLn() Document.Close() Documents.Open() Session.Active Session.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

Object Model Exclusion List

A-29

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.DBLibAllowChangeDat abase 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.DBLibUseQuotedIdent ifiers ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.DBLibUseSQLTable ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.SaveWithoutUsername ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.ShowAdvanced ActiveDocument.Sections["Query"].DataModel.MetaDataConnection.ShowBrioRepositoryT ables 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.DBLibAllowChangeDatabas e ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibApiSeverity ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibDatabaseCancel

A-30

Designing for the Intelligence iServer

ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibPacketSize ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibServerSeverity ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibUseQuotedIdentifie rs ActiveDocument.Sections["DataModel"].DataModel.Connection.DBLibUseSQLTable ActiveDocument.Sections["DataModel"].DataModel.Connection.SaveWithoutUsername ActiveDocument.Sections["DataModel"].DataModel.Connection.ShowAdvanced ActiveDocument.Sections["DataModel"].DataModel.Connection.ShowBrioRepositoryTable s ActiveDocument.Sections["DataModel"].DataModel.Connection.ShowMetadata ActiveDocument.Sections["DataModel"].DataModel.Limits["Year"].VariableLimit ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibAllowChang eDatabase ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibApiSeverit y ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibDatabaseCa ncel ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibPacketSize ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibServerSeve rity ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibUseQuotedI dentifiers ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.DBLibUseSQLTabl e ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.SaveWithoutUser name ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.ShowAdvanced ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.ShowBrioReposit oryTables ActiveDocument.Sections["DataModel"].DataModel.MetaDataConnection.ShowMetadata ActiveDocument.Sections["DataModel"].DataModel.ShowIconJoins ActiveDocument.Sections["SectionName"].ShowOutliner

Object Model Exclusion List

A-31

ActiveDocument.Sections["Dashboard"].Shapes["EmbeddedSection"].ScrollbarsAlwaysSh own ActiveDocument.Sections["Dashboard2"].Shapes["EmbeddedSectionResults"].ShowOutlin er ActiveDocument.Sections["Dashboard2"].Shapes["Embedded"].ShowRowNumbers Application.ShowMenuBar Application.ShowStatusBar Application.StatusText Application.Visible Application.WindowState BqFontEffectOverDouble BqFontEffectOverLine BqFontEffectStrikeThru BqFontEffectSuperScript BqFontEffectSubScript

A-32

Designing for the Intelligence iServer

User Embedded HTML


You 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 Oracles 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>)

User Embedded HTML

A-33

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.

A-34

Designing for the Intelligence iServer

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 Zaxis 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 versioncontrolled or audited through a link to the repository.

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 Clientss 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

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

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 querybuilder. 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 servers 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.

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 operations duration. Sessions are created when a client needs to perform operations on the database and are destroyed when the operation is considered complete.

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 userspecified 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

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 users 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 sourcesor 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 Outliners 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 serverspecific 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.

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 dimensions 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

ISAPI This is a shared library that implements HTTP using Microsofts 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 Dashboards 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 colorkeyed 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.

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 sections 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

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 files 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. Hyperions 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 Hyperions 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 Netscapes 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.

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.

10

Glossary

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 labels 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 users results.
Glossary

11

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 users 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 Clientss 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 relativeverticalspacingbetweendynamic 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 Oracles native API to connect to an Oracle database.

12

Glossary

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 sections 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 topics 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.

Glossary

13

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%.

14

Glossary

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

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

Index

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

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

Index

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

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

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

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

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

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

I
if statements, inline, 3-10 if...else statements using, 3-9

Index

-jscriptcmd, 3-2

K
KeepTogether (Property), 6-123 KeepWithNext (Property), 6-122

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

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

N
Name (Property), 6-141 naming EIS sections, 1-4
7

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

Index

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

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

10

Index

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-11

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-12

Index

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

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

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

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-13

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

2-14

Index

You might also like