Native javascript in hyperion intelligence
1 / 46

native javascript in hyperion intelligence - PowerPoint PPT Presentation

  • Updated On :

Native JavaScript in Hyperion Intelligence. Unleashing the Power of Object-Oriented Programming. What is JavaScript?. Created in 1995 by Brendan Eich of Netscape as “LiveScript” Interpreted, object-oriented/procedural programming language

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'native javascript in hyperion intelligence' - liam

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Native javascript in hyperion intelligence l.jpg

Native JavaScript in Hyperion Intelligence

Unleashing the Power of Object-Oriented Programming

What is javascript l.jpg
What is JavaScript?

  • Created in 1995 by Brendan Eich of Netscape as “LiveScript”

  • Interpreted, object-oriented/procedural programming language

  • Extensively used in web pages in conjunction with HTML

  • Event-driven, case-sensitive, ignores extra spaces

How does hyperion intelligence use javascript l.jpg
How Does Hyperion Intelligence Use JavaScript?

  • Introduced Netscape v1.4 JavaScript interpreter in v6.0

  • Supports all standard JavaScript commands

  • Used in dashboards, computed items (except in query sections), calculated report fields and document scripts

  • Proprietary object model

Proprietary object model l.jpg
Proprietary Object Model

  • Web object model uses objects like window, document, and location

  • Hyperion object model uses objects like Application, ActiveDocument and ActiveSection

  • Properties and methods will vary

  • Core objects such as String, Number and Date will be unchanged

What about l.jpg
What About “_____”?

  • We will not cover anything proprietary to Hyperion Intelligence

  • We will not cover the basics (syntax, conditional statements, loops, etc.)

  • We will not cover redundancies (for example, the concat() method of a string object)

  • We will not cover advanced topics that would require a separate presentation altogether (for example, regular expressions)

  • We will cover everything else!

Object oriented programming l.jpg
Object-Oriented Programming

  • Objects, sub-objects and object collections

  • Methods –

    • Actions performed on or by an object

    • Called with parenthesis at the end to allow for the passing of parameters

  • Properties –

    • Descriptive traits of objects

    • Sometimes read-only

Other javascript terms l.jpg
Other JavaScript Terms

  • Functions: parameters are passed in parenthesis returning a result

  • Statements: cause an action or series of actions

  • Operators: Used for mathematical calculations, value comparisons and shortcuts

  • Constants: Built-in variables (Infinity, NaN, null and undefined)

Functions l.jpg

  • eval() – evaluates a string of code and (optionally) returns a result

    eval(“Alert(1)”) //returns no value

    var x = eval(“10 * 10”) //returns a value of 100

Functions cont l.jpg
Functions (cont.)

  • isFinite() – returns true if the number is neither positive nor negative infinity

    var x = isFinite(10) //returns true

    var x = isFinite(Infinity) //returns false

Functions cont10 l.jpg
Functions (cont.)

  • isNaN() – returns true if the parameter is not or cannot become a number

    var x = isNaN(10) //returns false

    var x = isNaN(“Adam12”) //returns true

    var x = isNaN(“1000”) //returns false

Functions cont11 l.jpg
Functions (cont.)

  • Number() – converts a non-numeric value to a numeric value

    var x = Number(“10”) //returns the numeric value 10

  • String() – converts any value to its string representation

    var x = String(10) //returns the string value “10”

Statements l.jpg

  • break – breaks a loop or conditional statement

  • // - comments out a line of code

  • /* - comments out several lines of code (closed with */)

  • continue – opposite of break

  • do{} while() – executes a loop at least once

  • for(){} – executes a loop

Statements cont l.jpg
Statements (cont.)

  • function(){} – declares a local function

  • if(){} else{} – executes a condition

  • return – returns a value from a function

  • var – declares a local variable

  • while(){} – executes a loop

  • with(){} – declares top level object


    Name = “MyQuery”


Statements cont14 l.jpg
Statements (cont.)

  • switch(){} – executes a conditional statement with multiple conditions possible


    case “A” :

    var y = 1


    case “B” :

    var y = 2


    default :

    var y = 3


Statements cont15 l.jpg
Statements (cont.)

  • try{} catch(){} – attempts to execute a statement in the try{} and executes the catch(){} if an error occurs

  • throw – passes a value to the catch(){}

Statements cont16 l.jpg
Statements (cont.)


if(x == 1){throw "Error 1"}

else if(x == 2){throw "Error 2"}



if(er == "Error 1"){Alert(“Contact SysAdmin")}

if(er == "Error 2"){Alert("Please Reload the page")}


Operators l.jpg


+ Add/Concatenate

++ Increment

+= Add/Append

- Subtract

-- Decrement

-= Subtract/Remove

/ Divide

* Multiply

% Modulus


== Equal

!= Not Equal

> Greater

>= Greater or Equal

< Less

<= Less or Equal


= Assign


Operators cont l.jpg

Backslash Escaped

\’ Quote

\” Double Quote

\\ Backslash

\b Backspace

\f Form Feed

\n New Line

\r Carriage Return

\t Tab


&& And

|| Or

! Not


Operators (cont.)

Operators cont19 l.jpg
Operators (cont.)

  • Question mark & colon – executes a single condition

    (rowCount > 0) ? var x = “Rows” : var x = “No Rows”

  • new – creates an object

    function makeBook(title){this.Title = title}

    var book = new makeBook(“Don Quixote”)

    Alert(book.Title) //returns “Don Quixote” as a property

Operators cont20 l.jpg
Operators (cont.)

  • typeof – returns the type of object

    var x = typeof(10) // returns “number”

    var x = typeof(“ABC”) // returns “string”

    var x = typeof(true) // returns “boolean”

    var x = typeof(null) // returns “object”

    Methods & functions return “function”

Operators cont21 l.jpg
Operators (cont.)

  • Comma – used to separate multiple values

  • delete – deletes an object, property or array element

  • this – used to refer to the parent object

    Alert(this.Name) //returns the name of the object used

Objects l.jpg

  • String

  • Number

  • Date

  • Array

  • Math

String object l.jpg
String Object

  • The length property returns the string length

  • Methods include charAt(), charCodeAt(), fromCharCode(), indexOf(), lastIndexOf(), slice(), split(), substr(), substring(), toLowerCase(), toUpperCase()

  • We will NOT be discussing regular expressions in this presentation

String object methods l.jpg
String Object - Methods

  • String.charAt() – takes 1 argument, returns the character at the index of the argument

    var x = “AdamFranz”

    Alert(x.charAt(0)) // returns “A”

  • String.charCodeAt() – takes 1 argument, returns the ASCII value of the character at the index of the argument

    Alert(x.charCodeAt(0)) // returns 65 (ASCII for “A”)

String object methods cont l.jpg
String Object – Methods (cont.)

  • String.fromCharCode() – builds a character from the ASCII value specified in the argument

    Alert(String.fromCharCode(65)) // returns “A”

String object methods cont26 l.jpg
String Object – Methods (cont.)

  • String.indexOf() – takes one or two arguments, returns the index of the first argument in the string (starting from the index of the second argument)

    Alert(x.indexOf(“a”)) // returns 2

    Alert(x.indexOf(“a”, 4)) // returns 6

  • String.lastIndexOf() – same as above but returning the index of the last instance of the argument

String object methods cont27 l.jpg
String Object – Methods (cont.)

  • String.slice() – returns a portion of the string between 2 specified indexes

    Alert(x.slice(1, 3)) // returns “da”

  • String.split() – returns an array from the string being broken on a designated character

    var y = “A, B”

    var z = y.split(“,”)

    Alert(z[0]) // returns “A”

    Alert(z[1]) // returns “B”

String object methods cont28 l.jpg
String Object – Methods (cont.)

  • String.substr() – returns a portion of the string starting at the index of the first argument for the length of the second argument (defaults to end of string)

    Alert(x.substr(2, 2)) // returns “am”

  • String.substring() – basically the same as String.slice()

String object methods cont29 l.jpg
String Object – Methods (cont.)

  • String.toLowerCase() – returns the string in all lower case

    Alert(x.toLowerCase()) // returns “adamfranz”

  • String.toUpperCase() – opposite of above

    Alert(x.toLowerCase()) // returns “ADAMFRANZ”

Number object l.jpg
Number Object

  • Represents a solely numeric value

  • Number.MAX_VALUE = 1.79769e+308

  • Number.MIN_VALUE = 5e-324

  • Number.NaN, Number.NEGATIVE_INFINITY and NUMBER.POSITIVE_INFINITY for comparison purposes

Date object l.jpg
Date Object

  • It is always a good idea to explicitly declare dates before performing any comparisons, calculations or calling any methods

    var x = new Date(yourDateValue)

Date object methods l.jpg
Date Object - Methods

  • Date objects have a series of get & set methods used to return or set any specific portion of the date object

  • A get method, such as getFullYear(), returns the year from the date object whereas a set method, such as setFullYear(), sets the year portion of the date to the argument passed

  • A getUTC or setUTC gets or sets according to Universal Time (not discussed)

Date object methods cont l.jpg

















Date Object – Methods (cont.)

* - zero-based, watch out!

Date object methods cont34 l.jpg
Date Object – Methods (cont.)

  • Date.getTimezoneOffset – returns the difference in minutes between local time and Greenwich Mean Time

  • Date.getTime(), Date.parse() and Date.valueof() used to return the number of milliseconds since 1/1/1970

Array object l.jpg
Array Object

  • Contains a series of values of any datatype designated by their array index (starting with zero)

  • The length property will return the total amount of elements in the specified array

Array object methods l.jpg
Array Object - Methods

  • Array.concat() – joins two or more array objects (passed as arguments) into a single array object (without effecting the original array)

  • Array.join() – converts an array object to a string separated by the character used in the argument (or a comma by default)

Array object methods cont l.jpg
Array Object – Methods (cont.)

  • Array.pop() – removes the last element of an array

  • Array.push() – adds an element specified as the argument to the end of an array and returns the new array length

  • Array.shift() – removes and returns the first element of the array

Array object methods cont38 l.jpg
Array Object – Methods (cont.)

  • Array.slice() – Returns a new array from a portion of the original array starting at the index of the first argument and ending at the second (or to the end of the array by default)

  • Array.sort() - re-indexes the array in ascending order by default or in the order provided as an argument in the form of a function

Array object methods cont39 l.jpg
Array Object – Methods (cont.)

  • Array.splice() – used to add, remove or replace elements of an array

    Array_name.splice(starting_index, how_many_to_remove, replacement_value_1, replacement_value_2, etc.)

Math object l.jpg
Math Object

  • A native object accessible by direct reference without requiring instantiation

  • Used for performing calculations and to access unique mathematical values such as Pi, random numbers, etc.

  • Includes geometrical properties and methods such as Math.tan for calculating Tangent (not discussed)

Math object properties l.jpg
Math Object - Properties

  • Math.E – Euler’s constant

  • Math.LN10 – Natural logarithm of 10

  • Math.LN2 – Natural logarithm of 2

  • Math.LOG10E – Base 10 logarithm E

  • Math.LOG2E – Base 2 logarithm of E

  • Math.Pi – Pi

  • Math.SQRT1_2 – 1 divided by sq. rt. of 2

  • Math.SQRT2 – Square root of 2

Math object methods l.jpg
Math Object - Methods

  • Math.abs(x) – returns the absolute value of x

  • Math.ceil(x) – returns x rounded up to nearest whole number

  • Math.exp(x) – returns Euler’s constant to the power of x

  • Math.floor(x) - returns x rounded down to nearest whole number

  • Math.log(x) – returns the natural logarithm (base E) of x

Math object methods cont l.jpg
Math Object – Methods (cont.)

  • Math.max(x,y) – returns the greater of x or y

  • Math.min(x,y) – returns the lesser of x or y

  • Math.pow(x,y) – returns x to the power of y

  • Math.random() – returns a pseudo-random number (based on the current time) between 0 and 1

  • Math.round(x) – returns x rounded off

  • Math.sqrt(x) – returns square root of x

Conclusion l.jpg

  • JavaScript is a powerful scripting language which extends beyond the Hyperion platform

  • All applicable JavaScript is valid in Hyperion Intelligence

  • JavaScript can be used in dashboards, document scripts, and any computed items (other than in a query)

  • Get out there and get scripting!!!

Helpful websites l.jpg
Helpful Websites

  • - an excellent JavaScript reference

  • - sample code and presentations available for download

The end l.jpg
The End