Hyperion Dashboard
Hyperion Dashboard
Hyperion Dashboard
Release 8.2
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
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.
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.
1 Log on to http://www.hyperion.com. 2 Select the Support link and type your username and password to log on.
Note
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.
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
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
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
Design/Run Alignment
Resizing
Layers
Section Pane
Embedded Picture
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
1 In the Section pane, select the Dashboard section you want to rename. 2 Choose EditRename Section.
The Section Label dialog box appears.
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.
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.
1-5
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
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).
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
[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]
1-7
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.
[Ctrl+D]
1-8
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.
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:
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.
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.
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.
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.
1 Select the Repository checkbox on the Objects dialog box. 2 Click the Browse button.
1-13
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.
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).
1-15
There are four document types available for display in the Intelligence iServer:
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.
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.
Section
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.
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.
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:
2 Expand the Controls folder in the Catalog pane. 3 Drag the Hyperlink control from the Catalog pane to the Content pane. 4 Double-click the control object to display the Objects dialog box. 5 Type a new entry in the Name field.
Enter a name that identifies the unique name of the embedded browser object. The default for the name is Hyperlink.
1-19
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.
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.
Document Use the document textbooks to manually enter the path and name of the desired Repository document. Browse Click the Browse button to interactively browse the repository for the desired document by way of the Foundation Browse dialog. To manually enter the path and name of the desired Repository document, see the Document text box. Options Launches the Document Option from which a user can select display properties for a selected Intelligence iServer document. If the display type is "New Window" or "Current Window", then this dialog looks and behaves as described in the Embedded Browser control section. For more information, see Document Options below.
12 Click OK.
1-21
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.
1-23
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
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.
1-25
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:
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 }
1-27
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
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
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
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
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.
2-3
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
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.
OnClientClick
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
2-6
Tab le 2 - 4
Control Object Command Button Radio Button Check Box List Box Drop Down Text Box
OnActivate Entering an Dashboard section. OnDeactivate Exiting an Dashboard section. OnClientActivate Entering an Dashboard section. OnClientDeactivate Exiting an Dashboard section.
2-7
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.
2 In the Event Trigger drop-down box, choose the document level event that you want to
associate with the .bqy document
3 In the Enable For drop-down box, check the type of document the event is to be
associated with.
2-8
Available types of document include: All Clients (Designer/Explorer), Thin Client (Intelligence iServer) and Plug-in Client (Scheduler). To remove a document level event association, leave the check box blank next to the selected type of document.
2-9
Choose FileDocument Scripts to open the Script Editor from any section other than the Dashboard section.
[F8]
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
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
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.
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
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.
2-13
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
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.
Match Case
Direction
Replace
ReplaceAll Close
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
PART II
IIScripting Reference
3
In This Chapter
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.
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
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 { }
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 } }
3-4
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.
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
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.
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)
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
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
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
The condition can be any JavaScript expression that evaluates to true or false. The statements to be executed can be any JavaScript statements, including deeper nested if statements. If you want to use more than one statement after an if or else statement, you must enclose the statements in curly braces {}. Do not confuse the primitive Boolean true and false values with the Boolean object true and false values. Any object whose value is not undefined or null, including a Boolean object whose value is false, evaluates to true when passed to a conditional statement, for example:
var b = new Boolean(false);
3-9
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')
3-10
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.
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
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
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 }
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
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
3-16
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
In Example 12, a statement labeled checkiandj contains a statement labeled checkj. If continue is encountered, the program terminates the current iteration of checkj and begins the next iteration. Whenever continue is encountered, checkj reiterates until its condition returns false. When false is returned, the remainder of the checkiandj statement is completed, and checkiandj reiterates until its condition returns false. When false is returned, the program continues at the statement following checkiandj.
3-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
Example 13
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
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
3-20
F i g ure 3 - 1 Using the Intelligence Client object model from the Visual Basics for Applications editor within Excel 97
3-21
<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.
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
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 = "[email protected]" olNote.Subject = "JOOLEObject mail Example" olNote.Body = "This is an automatically generated note." //olNote.Attachments.Add (filepath) olNote.Send
If you are using JOOLE to start Outlook on Windows XP, use the following script:
var obj = Application.Shell("c:\\program Files\\outlook express\\msimn.exe")
Example 18 shows you how to invoke an existing Word document called Hello.doc from a command button created in an Dashboard section,,
Example 18
/Create Word Object word = new JOOLEObject("Word.Application"); // Make is Visible word.Visible = true; //Open the desired file word.Documents.Open("c:\\Brio\\Hello.doc"); // Set Options word.Options.PrintBackground = false; //Start Printing word.ActiveDocument.PrintOut();
Example 19 shows you how to create and write text to a text file
(.txt)from your BQY file. The text file assumes the name of the BQY but appends the characters _trace and replaces the BQY extension with a .txt extension. For example if your BQY is name DashboardText.bqy, then the Hyperion Intelligence Client or web client creates the text file named DashboardText_trace.txt.
3-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()
2 Specify the file name and location, and then click Save.
3-24
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.
A common error is to switch the two. Keep them separate. Be particularly careful when you are assigning argument values to methods.
3-26
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
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
3-30
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")
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
Troubleshooting Scripts
3-33
3-34
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
Example:
The following example shows you how to save the document with a new file name and close the document.
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:
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
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:
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:
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:
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
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
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.
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.
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.
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.
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.
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.
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:
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:
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.
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.
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).
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:
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:
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:
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:
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
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:
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:
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.
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:
JavaScript retrieves cookie data contained in one string and includes the entire name-value pair.
Note
Tip
All collections have a method named Item(NameOrIndex). This is the default method for all collections and returns an item in the collection at a particular index or with a specific name. For simplicity, the [] can be used in place of the call to the Item() method. For example, the following statements are identical in behavior:
myItem = Documents[1] myItem = Documents.Item(1) myItem = Documents["StartUp.bqy"] myItem = Documents.Item("StartUp.bqy")
Example 1:
This example shows how to display the value of the BRIOUSER cookie in an alert box.
var Username = Session.Cookies["BRIOUSER"] Alert("The username entered on the OnDemand Server login is: "+Username,"ODSUSername")
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:
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:
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:
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.
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:
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:
ActiveDocument.Sections["Pivot"].DataLabels.Display= BqPivotLabelDisplayNone
Example 5:
ActiveDocument.Sections["Pivot"].DataLabels.Display= BqPivotLabelDisplayNone
Properties: Constants:
Read-write: Property Display as BqPivotLabelDisplay BQPivotLabelDisplay, which includes the following values:
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
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:
4-48
Objects
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:
4-49
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:
4-50
Objects
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:
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.
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:
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.
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.
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.
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:
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.
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:
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:
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.
Properties:
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.
Methods: Properties:
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()
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:
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:
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:
Example 2:
This example shows you how to suppress duplicate values on specific columns in a report table.
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.
Methods:
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.
Methods: Properties:
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.
Example 3:
This example shows you how to programmatically add topics to a Data Model section.
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:
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:
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.
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:
Methods:
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:
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:
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:
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:
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
Methods: Properties:
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.
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>
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:
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()
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:
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:
Methods: Properties:
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.
Example 2:
This example shows you how to addl the "Year" and "Results" group items to Report Group 1.
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:
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.
Properties: Objects:
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:
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.
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:
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
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:
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.
Methods: Properties:
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:
LastPrinted (Object)
4-105
Example:
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
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
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.
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.
Legend (Collection)
4-111
Methods: Properties:
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.
Methods
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:
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:
Example 5:
//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:
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:
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:
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:
Note
Properties:
For the AvailableValues (Collection), the Add() method does nothing since the values are obtained from the database.
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.
Example 2:
This example shows you how to change the marker color and style for a line chart.
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:
Example 2:
This example shows you how to use a simple equal join to join topics 1 and 2 in a local results set.
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:
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.
LocalResults (Collection)
4-123
Example 4:
This example shows you how to add a join between a topic and a local results topic.
Example 5:
This example shows you how to remove a single local results topic.
Example 6:
This example shows you how to get a topic item count of local results.
Example 7:
This example shows you to get a count of local joins in a query section.
Example 8:
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.
4-124
Objects
Methods:
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:
Example 2:
This example adds a join between a topic and a local results topic.
Methods: Properties:
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.
4-130
Objects
Example 3:
This example shows you how to programmatically add topics to a Data Model section.
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:
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.
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.
Example 6:
When you want to use the ShowValues property of filtering, use the AddFilterValue method.
OLAPLabels (Collection)
4-137
Methods:
Add(String LevelName), Function Item(Value NameOrIndex) As OLAPLabel, RemoveAll() Read-only: Property Count As Number
Properties:
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:
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:
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.
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:
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:
4-146
Objects
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:
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.
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:
4-150
Objects
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:
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:
Methods: Properties:
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:
Parentheses (Object)
4-155
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.
Example 2:
This example shows you how to determine the average using the data function property and the totals collection.
Methods: Properties:
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.
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.
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:
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
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:
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:
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:
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:
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()
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
Note
Example:
This example shows you how to concatenate the name of the report and the current date:
ActiveDocument.Sections["Sales Report"].ReportHeader.Fields["ReportName Field"].Formula = "ReportName() + ' ' + new Date()" ActiveDocument.Sections["Sales Report"].Recalculate()
Methods: 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:
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:
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:
Example 3:
This example shows you how to set the print orientation of the report.
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:
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.
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
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:
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.
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:
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:
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:
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
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.
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.
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:
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
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
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:
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.
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:
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:
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.
Example 3:
This example shows you how not to display the column total for the "Unit Sales" fact object.
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:
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":
Example 3:
This example shows you to how to count the number of tables in the body of the report section:
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:
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:
Properties:
Read-write: ExecuteOnPostProcess as Boolean, ExecuteOnPreProcess as Boolean, ExecuteOnShutDown as Boolean, ExecuteOnStartUp as Boolean. Read-only: Name as String
ThinClient (Object)
4-209
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:
4-210
Objects
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:
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
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.
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
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:
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
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
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.
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.
4-235
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.
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
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.
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:
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.
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.
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.
Example 2:
In this example, an audit event is triggered when the user logs off.
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.
Example 4:
In this example, an audit event is triggered when the final row in the result set is retrieved to the client workstation.
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.
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.
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 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.
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.
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:
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
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.
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 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.
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.
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.
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.
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.
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:
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.
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 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:
Example:
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:
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.
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:
Example:
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:
Example:
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:
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:
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:
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.
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 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.
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.
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:
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.
Example 2:
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:
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.
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)
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.
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.
5-118
Methods
RetrieveDimensions (Method)
Applies To: Description: Syntax: OLAPCatalog object
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 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.
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.
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.
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 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".
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
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.
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
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:
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:
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:
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:
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:
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:
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:
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
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.
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.
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.
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.
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:
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:
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.
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:
Example 2:
This example exports Results to a tab delimited text file without double quotes surrounding the Results column data.
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:
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.
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:
Example:
This example shows you how to set the horizontal page break for columns to 200 columns per HTML page.
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.
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:
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:
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:
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:
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.
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:
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:
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:
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:
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:
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:
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:
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.
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.
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:
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.
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.
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.
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.
Example 3:
In this example, a request is made to refresh when the section is accessed and displayed.
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.
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:
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:
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:
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:
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:
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:
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.
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:
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:
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
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.
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
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:
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:
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
SortOrder (Property)
6-243
6-244
Properties
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:
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.
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:
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:
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:
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:
Example 2:
This example shows you how to retrieve the Topic Item Names from a join.
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:
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:
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:
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:
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.
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:
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)
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)
7-4
List of Constants
8
In This Chapter
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
Application Level
8-2
Application Level
The following illustration shows the objects following the Application level.
Application
Documents
DocName
Console
Cookies
Application Level
8-3
Application
Sections
EIS
Report
Query
Results
Table
Chart
Pivot
DataModel
OLAPQuery
Last Saved
8-4
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
JoinNumber
TopicItem1 TopicItem2
Requests
Limits
SortItems
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
8-6
Chart Section
The following illustration shows the objects following the Chart Section level.
Fact(O) ZCategories(O)
LabelAxis ValueAxis
YAxis LeftAxis
Fill
Chart Section
8-7
Application
Active Document
Sections
Columns
Column AvailableValues
Results
Limits
Limit
CustomValues
LimitValue
Reports
Facts DataLabels
PivotFact
CornerLabels
8-8
Application
Active Document
SortItems
SortItemName
OLAP Query
SideLabels Measures
SideLabelNum TopLabelName
Slicers
SlicerNumber
8-9
8-10
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
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
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
Example 4
/* Get the value of the ListBox MultiSelect property*/ var sect_name=Dashboard; var ctrl_name=ListBox1; TextBox1.Text = ActiveDocument.Sections[sect_name].Shapes[ctrl_name].MultiSel ect;
Example 5
/* Set the value of the CheckBox Checked property */ var sect_name=Dashboard; var ctrl_name=CheckBox1; ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Checked = true;
Example 6
/* Get the value of the RadioButton Group property */ var sect_name=Dashboard; var ctrl_name=CheckBox1; TextBox1.Text = ActiveDocument.Sections[sect_name].Shapes[ctrl_name].Group;
9-3
Example 7
Example 8
9-4
JavaScript Examples
Example 9
Example 10
9-5
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()
Example 12
ExecuteBScript("set logon root, 'OCENAME', 'd:\\program files\\brio\\oces\\Astro SQLNet Oracle8.oce'; connect logon root")
9-6
JavaScript Examples
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")
Example 14
Example 15
9-7
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
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")
Example 19
9-9
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
Example 23
Application.Quit(false)
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
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
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")
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
10-12
TroubleShooting Scripts
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
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
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.
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.
A-3
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
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.
A-5
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
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
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).
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.
Does not support importing of results sets. Does not support sorting of computed columns based on order functions. Cannot show or hide row numbers. Cannot insert, delete, or modify computed columns (but can do via the object model). Does not support column-grouping capabilities. Does not support suppression of duplicates.
A-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).
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.
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
Cannot change or restore chart label names. Cannot rotate pie chart.
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.
A-9
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
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
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.
Drop Down
Text Box
A-12
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
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
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.
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
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.
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
OnRowDoubleClick (Active Embedded Objects0 OnDoubleClick (ListBox) OnChange (TextBox) OnEnter (TextBox)
Note
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
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.
False
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
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
Graphic Object Line Horizontal Line Vertical Line Rectangle Round Rectangle
A-20
Tab le A - 5
Tab le A - 6
Control Object Command Button Radio Button Check Box List Box Drop Down Text Box
Client-Side JavaScript
A-21
The properties of Text Boxes that are exposed to Client-Side JavaScript are:
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
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:
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
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
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.
Document Scripts Trigger Events (OnStartup, On Shutdown, OnPreProcess, OnPostProcess) Dashboard Section Display Trigger Events (OnActivate, OnDeactivate) Dashboard Object Trigger Events (OnClick, OnSelection, OnExit)
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.
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
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.
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
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
A-28
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.
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
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
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
In addition Hyperion Intelligence Clients and the web client cannot guarantee the format or appearance of a cell data adjacent to a cell in which the HTML has been defined by the user. If you define HTML in a cell to be viewed in a non-HTML context (such as web client, Designer or Explorer), any embedded information will appear as text. To embed your own image or hyperlink into a table or pivot cell:
1 Select the cell in which to embed the image or hyperlink. 2 Type the following wrapper information in the cell:
@HTML(<HTML image/link>)
A-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
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
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
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