Jint: Difference between revisions

From Data Islands
(jint)
 
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
You can write and run javascript commands allowing you to iterate over a dataset (querydb) and automate region creation and various other commands.  
'''Syntax''' : jint "<OBJECT NAME>" <ENTER>
 
Description : Jint command will be used to initialize Javascript Object which we can use to perform available commands same as Javascript syntax.
 
For eg.
 
>jint di
 
>di.islands()
 
>di.status()
 
>di.deleteisland('ISLANDNAME')
 
----
 
 
You can write and run javascript commands (and scripts in ,js files) allowing you to code iteratation over a dataset (querydb), alter the data (in a csv for example) and automate region creation and various other commands.  




Line 13: Line 30:




Sample script that queries a "customers" table for any customers that have a flag set and then for each of those it creates a data island "region" and pushes up the customers "orders" to an island.  
 
Here is a sample script that queries a "customers" table for any customers that have a flag set and then for each of those it creates a data island "region" and pushes up the customers "orders" to an island.  




Line 33: Line 51:


}
}
<nowiki>'''More Examples'''</nowiki>
a. Accessing Column names
var table = di.querydb("select top 2 * from customers where hasregionflag='Y'");
for(var x=0;x<table.Columns.Count;x++)
{
   var _colName= table.Columns[x].ColumnName;
di.display("colname="+_colName);
}
b. Altering data before pushing - you can add a column and alter existing
var table = di.querydb("select * from customers");
'''table.Columns.Add("SomeCustomfield");'''
'''///adds a column to the dataset'''
for(var x=0;x<table.Rows.Count;x++) {
var fieldValueID = table.Rows[x]['CustomerID'];
var fieldValueCode = table.Rows[x]['CustomerCode'];
'''table.Rows[x]['SomeCustomfield']=fieldValueID+fieldValueCode; //composite field'''
}
///pass in the altered dataset
di.push("customers", '''table''');
};
----Comments in code
Single line comments only are supported and they must be on their own line.
Not working
var x=2;//set x to 2
working
//set x to 2
var x=2;
and not working
/*
multiline comments
are not supported
<nowiki>*</nowiki>/
----
All commands

Latest revision as of 13:37, 12 January 2024

Syntax : jint "<OBJECT NAME>" <ENTER>

Description : Jint command will be used to initialize Javascript Object which we can use to perform available commands same as Javascript syntax.

For eg.

>jint di

>di.islands()

>di.status()

>di.deleteisland('ISLANDNAME')



You can write and run javascript commands (and scripts in ,js files) allowing you to code iteratation over a dataset (querydb), alter the data (in a csv for example) and automate region creation and various other commands.


The command is

>jint

to switch into javascript coding mode.

You can write a js file and execute using the file path parameter

> jint "pathtofile/file.js"


Here is a sample script that queries a "customers" table for any customers that have a flag set and then for each of those it creates a data island "region" and pushes up the customers "orders" to an island.


var result = di.connect("youraccount","yourpassword");

var table = di.querydb("select top 2 * from customers where hasregionflag='Y'");

for(var x=0;x<table.Rows.Count;x++)

{

   var fieldValue = table.Rows[x]['CustomerID'];

   di.addregion(fieldValue);

   var qorders=di.querydb("select * from Orders where customerid='"+fieldValue+"'");

   di.push("orders");

}


'''More Examples'''

a. Accessing Column names

var table = di.querydb("select top 2 * from customers where hasregionflag='Y'");

for(var x=0;x<table.Columns.Count;x++)

{

   var _colName= table.Columns[x].ColumnName;

di.display("colname="+_colName);

}


b. Altering data before pushing - you can add a column and alter existing

var table = di.querydb("select * from customers");

table.Columns.Add("SomeCustomfield");

///adds a column to the dataset

for(var x=0;x<table.Rows.Count;x++) {

var fieldValueID = table.Rows[x]['CustomerID'];

var fieldValueCode = table.Rows[x]['CustomerCode'];

table.Rows[x]['SomeCustomfield']=fieldValueID+fieldValueCode; //composite field

}

///pass in the altered dataset

di.push("customers", table);

};


Comments in code

Single line comments only are supported and they must be on their own line.

Not working

var x=2;//set x to 2

working

//set x to 2

var x=2;

and not working

/*

multiline comments

are not supported

*/


All commands