Subscribe Bookmark RSS Feed

How do you remove missing data from lists (JSL)?

terapin

Community Trekker

Joined:

Jun 23, 2011

I'm trying to figure out how to remove data from a series of two lists that are generated by a Summarize JSL command.  I have been playing with the Remove From() command, but can't seem to remove the missing growth and corresponding date data from their respective lists.  Any suggestions would be appreciated.

Specifically, I want to remove from the max_growth_list that data that is missing and to remove the date data from the growth_date_list that corresponds to the missing growth data.

dt1 = New Table( "Growth",

  Add Rows( 20 ),

  New Column( "Date",

  Numeric,

  Continuous,

  Format( "m/d/y h:m", 10 ),

  Input Format( "m/d/y h:m" ),

  Set Values(

  [1767245800, 1771173900, 1805155800, 1809197400, 1843086800, 1838161000, 1889049900, 1893293200,

  1896320800, 1900281600, 1950766400, 1955499200, 1957751200, 1964247600, 1990396800, 1995976400,

  2023788000, 2029549600, 2051488600, 2056959000]

  )

  ),

  New Column( "Growth",

  Numeric,

  Continuous,

  Format( "Best", 12 ),

  Set Values( [34, 45, ., 56, 99, 67, 12, 78, 53, 89, 77, 90, ., 12, 73, 23, 12, 34, 6, 45] )

  ),

  New Column( "Year", Numeric, Continuous, Format( "Best", 12 ), Formula( Year( :Date ) ), Lock( 1 ) ),

  New Column( "Hour", Numeric, Continuous, Format( "Best", 12 ), Formula( Hour( :Date ) ), Lock( 1 ) )

);

 

Wait( 2 );

// Get the highest growth for each day

Summarize( growth_date_list = by( :Date ), max_growth_list = Max( :Growth ) );

1 ACCEPTED SOLUTION

Accepted Solutions
Solution

Hi Terapin,

Use loc(!is missing(max_growth_list)) to as an index into your list or matrix.

Like this:

Summarize( growth_date_list = by( :Date ), max_growth_list = Max( :Growth ) );

Show( growth_date_list, max_growth_list );

growth_date_list = growth_date_list[Loc( !Is Missing( max_growth_list ) )];

max_growth_list = max_growth_list[Loc( !Is Missing( max_growth_list ) )];

Show( growth_date_list, max_growth_list );


-Jeff

-Jeff
3 REPLIES
Solution

Hi Terapin,

Use loc(!is missing(max_growth_list)) to as an index into your list or matrix.

Like this:

Summarize( growth_date_list = by( :Date ), max_growth_list = Max( :Growth ) );

Show( growth_date_list, max_growth_list );

growth_date_list = growth_date_list[Loc( !Is Missing( max_growth_list ) )];

max_growth_list = max_growth_list[Loc( !Is Missing( max_growth_list ) )];

Show( growth_date_list, max_growth_list );


-Jeff

-Jeff
terapin

Community Trekker

Joined:

Jun 23, 2011

Thanks Jeff for the speedy and informative reply,

Can you tell me how the !Is Missing command is different from the plain vanilla Is Missing? The script guide doesn't explain the difference.

pmroz

Super User

Joined:

Jun 23, 2011

The exclamation point is a logical NOT.  You can use it in many circumstances to negate a logical test.

So, !Is Missing simply means something is not missing.