table delete cells selected rows

Prev Next

Function Names

table delete cells selected rows

Description

This function extracts a column from the table and places the values in the parameter set from the selected rows where the calculated expression returns true. All blank or non-existing entries will be translated to blank strings. Automatic type conversion (e.g. numbers to numerals) can be adjusted with the table configure() function.

Call as: procedure or function

Restrictions

Indirect parameter passing is disabled
This function provides a table context for partial table specifications with table name and row number for selected function parameters

Parameter count

3-4

Parameters

No.TypeDescription
1.
input
string Name of existing table

2.
code
expression
:string
Expression to select rows

Specify the conditions or rules to select the rows. See expressions to select rows.
The table context for partial table specifications is available for referencing just the columns easily. Example: [Year]>=2022.
Attention: Comparison operators = and <> (instead of == and !=) may hijack the next function parameters for its own use as additional comparison operands, e.g. a[]=1,3,5. As long this comparison is not made in the last function parameter, then put parentheses around them, e.g. ... , (a[]=1,3,5), ....

3.
input
table column Existing column

See table columns as function parameters for general ruling for this parameter.
Specific rules apply for this function:

  • Only 1 header name or column number may be specified.

Opt. 4.
input
string Count

Number of cells to delete (with contents to the right shifting to the left accordingly)
Negative indexing is supported, i.e. -1 removes all cells till end of row, -2 removes all cells except last column (which will left-shift accordingly), etc. The position of the last column relates to the last column of the widest row in the table, and not the header row or current row alone.

Default value: 1

Return value

TypeDescription
numeral Number of rows processed

Counts all rows selected where cells have been deleted.

Examples

  table initialize ( t,
    { { Nr,  A,  B,  C,  D,  E  },
          {  1,  A1, B1, C1, D1, E1, F1, G1 },
          {  2,  A2, B2, C2, D2, E2, F2, G2 },
          {  3,  A3, B3, C3, D3, E3 },
          {  4,  A4, B4, C4, D4, E4, F4, G4 },
          {  5,  A5, B5, C5, D5, E5, F5, G5 } } );

  table copy table( t, u );

  echo("2 cells removed in rows 2-4");
  a[] = table delete cells selected rows( t, ([Nr]=2..4), C, 2 );
  table list ( t );
  echo("Number of rows affected: ", a[]);

  echo("All remaining cells removed");
  a[] = table delete cells selected rows( u, ([Nr]=2..4), C, -2 );
  table list ( u );
  echo("Number of rows affected: ", a[]);

Output

2 cells removed in rows 2-4
    0 : Nr | A  | B  | C  | D  | E  |    |   
    1 : 1  | A1 | B1 | C1 | D1 | E1 | F1 | G1
    2 : 2  | A2 | B2 | E2 | F2 | G2 |    |   
    3 : 3  | A3 | B3 | E3 |    |    |    |   
    4 : 4  | A4 | B4 | E4 | F4 | G4 |    |   
    5 : 5  | A5 | B5 | C5 | D5 | E5 | F5 | G5

Number of rows affected: 3
All remaining cells removed
    0 : Nr | A  | B  | C  | D  | E  |    |   
    1 : 1  | A1 | B1 | C1 | D1 | E1 | F1 | G1
    2 : 2  | A2 | B2 | G2 |    |    |    |   
    3 : 3  | A3 | B3 |    |    |    |    |   
    4 : 4  | A4 | B4 | G4 |    |    |    |   
    5 : 5  | A5 | B5 | C5 | D5 | E5 | F5 | G5

Number of rows affected: 3
Try it yourself: Open LIB_Function_table_delete_cells_selected_rows.b4p in B4P_Examples.zip. Decompress before use.

See also

table delete cells selected columns