native javascript in hyperion intelligence
Download
Skip this Video
Download Presentation
Native JavaScript in Hyperion Intelligence

Loading in 2 Seconds...

play fullscreen
1 / 46

native javascript in hyperion intelligence - PowerPoint PPT Presentation


  • 330 Views
  • Uploaded 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

Native JavaScript in Hyperion Intelligence

Unleashing the Power of Object-Oriented Programming

what is javascript
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Objects
  • String
  • Number
  • Date
  • Array
  • Math
string object
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
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
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
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
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
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
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
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
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
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
.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
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
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
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
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
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
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
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
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
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
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
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
Helpful Websites
  • http://www.devguru.com - an excellent JavaScript reference
  • http://www.adamfranz.com - sample code and presentations available for download
ad