- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Recode - Parse as Numbers
Why does Recode not show a warning when a user uses the "parse as number" option?
3 REPLIES 3
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Recode - Parse as Number
What type of warning it should show?
-Jarmo
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Recode - Parse as Number
Something like:
"your data table contains many rows - don't use Parse as Number in combination with any other option to update the input column!"
recode and change to numeric | 64s |
recode | 2.8s |
For each row | 1.3s |
recode and change to numeric -> new column | 2.9s |
just: change to numeric | 0.06s |
View more...
Names Default To Here( 1 );
dt = New Table( "test",
add rows( 1000000 ),
New Column( "rw1", Character, set each value( "row " || Char( Row() ) ) ),
New Column( "rw2", Character, set each value( "row " || Char( Row() ) ) ),
New Column( "rw3", Character, set each value( "row " || Char( Row() ) ) ),
New Column( "rw4", Character, set each value( "row " || Char( Row() ) ) ),
New Column( "rw5" ),
New Column( "rw6" )
);
t0 = HP Time();
dt << Begin Data Update;
dt << Recode Column( dt:rw1, {Substitute( _rcNow, "row", "" ), Num( _rcNow )}, Update Properties( 1 ), Target Column( :rw1 ) );
dt << End Data Update;
time = (HP Time() - t0) / 1000000;
Print( "recode and change to numeric" );
Show( time );
t0 = HP Time();
dt << Begin Data Update;
dt << Recode Column( dt:rw2, {Substitute( _rcNow, "row", "" )}, Update Properties( 1 ), Target Column( :rw2 ) );
dt << End Data Update;
dt:rw2 << Set Data Type( Numeric );
time = (HP Time() - t0) / 1000000;
Print( "recode" );
Show( time );
t0 = HP Time();
dt << Begin Data Update;
For Each Row( dt, dt:rw3[] = Substitute( dt:rw3, "row", "" ) );
dt << End Data Update;
dt:rw3 << Set Data Type( Numeric );
time = (HP Time() - t0) / 1000000;
Print( "For each row" );
Show( time );
t0 = HP Time();
dt << Begin Data Update;
dt << Recode Column( rw4, {Substitute( _rcNow, "row", "" ), Num( _rcNow )}, Update Properties( 1 ), Target Column( :rw5 ) );
dt << End Data Update;
time = (HP Time() - t0) / 1000000;
Print( "recode and change to numeric - new column" );
Show( time );
t0 = HP Time();
dt << Begin Data Update;
dt << Recode Column( rw6, {Num( _rcNow )}, Update Properties( 1 ), Target Column( :rw6 ) );
dt << End Data Update;
time = (HP Time() - t0) / 1000000;
Print( "just: change to numeric" );
Show( time );
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Get Direct Link
- Report Inappropriate Content
Re: Recode - Parse as Number
and:
Recode shows a live preview - even for table with a large numbers of rows.
Optimize your settings with a subset table and apply the resulting script to the main table.