cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
micromoccia
Level I

How do I select specific rows?

I am getting more than the selected data from this line:

get_generic(RawDataTable,"nS","Voltage","tHIGH",,400) ;

 

I am also getting all of this data:

 

get_generic(RawDataTable,"nS","Voltage","tHIGH_hs",,60) ;

 

My problem is that tHIGH is pulling every row with tHIGH, including the tHIGH_hs.

I need to know if I can reject the tHIGH_hs in the first line of code?

 

They are different speeds of operation for the test, and I need to produce separate charts for performance. 

When I pull the tHIGH_hs data it filters only high speed. I just need to make a chart for low speed without including the high spped.

 

Thanks!!

8 REPLIES 8
Jeff_Perkinson
Community Manager Community Manager

Re: How do I select specific rows?

It looks like you might be using a custom function here. There is no built-in JSL function get_generic(), so we're not going to be able to help with why it's not doing what you expect.

 

Was the script written by you or are you using a script that someone else wrote?

-Jeff
micromoccia
Level I

Re: How do I select specific rows?

I inherited the script at a new job. The sctirpt pulls any data that has tHIGH in the name. which is unfortunate when I don't want the other tHIGH_hs data. 

Jeff_Perkinson
Community Manager Community Manager

Re: How do I select specific rows?

In that case we'll need to know more about the function definition for get_generic() to see how it's using the arguments internally.

 

Are you familiar with JSL? Or is this your first time looking at it?

 

-Jeff
micromoccia
Level I

Re: How do I select specific rows?

I am becoming familiar. lol

Here is the block of code. It is used to create a pdf that charts the data in time vs voltage. tHIGH is normal operating speed and tHIGH_hs is the high speed operating data. I can isolate the high speed data by changing the code to "tHIGH_hs", and did in another section of the script.

I'm trying to get just the normal operating speed data for this section.

// set up for AC report
win1 = New Window( "Char Report_NS" );
// real spec is 1000KHz
// data table, scale of desired units, by, name, lsl, usl
get_generic( RawDataTable, "V", "Frequency", "fSCL", , 1.7 );
// tHigh = 260nS, tLow = 500nS
// rewrite -- maybe a generic for each??
//get_thighlow(RawDataTable,"nS","tHIGH",260,"tLOW",500) ; // data table, scale of desired units,
// name1, USL1, name2, USL2
get_generic( RawDataTable, "nS", "Voltage", "tHIGH", , 400 );
get_generic( RawDataTable, "nS", "Voltage", "tLOW", , 400 );

I left in all of the previously commented out code.

Jeff_Perkinson
Community Manager Community Manager

Re: How do I select specific rows?

Unfortunately, that still doesn't help understand what the custom function get_generic() is doing and therefore why it's behaving the way it is.

 

Can you look above in the script and see a function() definition for get_generic?

 

It'll look something like:

 

get_generic = function(
	//jsl statements
);
-Jeff
micromoccia
Level I

Re: How do I select specific rows?

Thanks for the input, I'll see if I can find it. This script is 2800 plus lines of code.

 

micromoccia
Level I

Re: How do I select specific rows?

THANK YOU!!! I found the function by CRTL-F and here it is:

get_generic = function ( {dt, du, byName, name1, lsl=., usl=.,exact=0 }

I changed the zero to a 1 and I have it filtering what I need. 

 

Thank you for you help,

 

Al Moccia

Jeff_Perkinson
Community Manager Community Manager

Re: How do I select specific rows?

I'm glad you found it. 

 

You don't have to change the function definition. The items in the {} are the arguments for the function and their default values, if unspecified.

 

So, if changing exact=0 to exact=1 worked for you, you could change it back (so other calls to the function continue to work as they have), and then when you call get_generic() just make sure you specify 1 as the last argument:

get_generic( RawDataTable, "nS", "Voltage", "tHIGH", , 400, 1 ); 

 

-Jeff