Native javascript in hyperion intelligence
Download
1 / 46

native javascript in hyperion intelligence - PowerPoint PPT Presentation


  • 329 Views
  • 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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
Functions

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

  • 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

    with(ActiveDocument.Sections[“Query”]){

    Name = “MyQuery”

    }


Statements cont14 l.jpg
Statements (cont.)

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

    switch(x){

    case “A” :

    var y = 1

    break

    case “B” :

    var y = 2

    break

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

try{

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

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

}

catch(er){

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

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

}


Operators l.jpg

Mathematical

+ Add/Concatenate

++ Increment

+= Add/Append

- Subtract

-- Decrement

-= Subtract/Remove

/ Divide

* Multiply

% Modulus

Comparison

== Equal

!= Not Equal

> Greater

>= Greater or Equal

< Less

<= Less or Equal

Assignment

= Assign

Operators


Operators cont l.jpg

Backslash Escaped

\’ Quote

\” Double Quote

\\ Backslash

\b Backspace

\f Form Feed

\n New Line

\r Carriage Return

\t Tab

Logical

&& And

|| Or

! Not

Special…

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
Objects

  • 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

.getDate()

.getDay()

.getFullYear()

.getHours()

.getMilliseconds()

.getMinutes()

.getMonth()*

.getSeconds()

.setDate()

.setDay()

.setFullYear()

.setHours()

.setMilliseconds()

.setMinutes()

.setMonth()*

.setSeconds()

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
Conclusion

  • 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

  • http://www.devguru.com - an excellent JavaScript reference

  • http://www.adamfranz.com - sample code and presentations available for download


The end l.jpg
The End

fin


ad