BIT_AND macro

The BIT_AND macro is available in Unica Campaign and Unica Interact.

Syntax

data1 BIT_AND data2 data1 & data2

Parameters

data1

The non-negative integers to bitwise AND with the values in data2. This can be a constant value, a column, a cell range, or an expression evaluating to any of the above. For the format definition of data, see the "Macro Function Parameters" section in the chapter in this guide for your product.

data2

The non-negative integer(s) to bitwise AND with the values in data1. This can be a constant value, a column, a cell range, or an expression evaluating to any of the above. The number of columns in data2 must equal the number of columns in data1, unless data2 is a constant. For the format definition of data, see the "Macro Function Parameters" section in the chapter in this guide for your product.

Description

BIT_AND performs a bitwise AND between the two specified data ranges. It returns a new column for each input column, each containing the corresponding column in data1 bitwise AND-ed to the corresponding column of data2 (that is, the first column of data1 is bitwise AND-ed to the first column of data, the second column with the second column, and so on).

If data2 is a constant, each value in data1 is bitwise AND-ed by that value. If data2 contains one or more columns, the calculations are performed on a row-by-row basis between one column from data2 and one column from data2. The first row of data1 is bitwise AND-ed to the first row value of data2, the second row with the second row, and so on. This row-by-row calculation produces a result for each row up to the last value of the shortest column.

Note: Precision for this macro function is limited to integer values less than . No negative values are allowed.
Note: The BIT_AND operator can be abbreviated with an ampersand (&). Use the ampersand to separate the two arguments (for example, to specify BIT_AND(V1, 3), you can simply type V1&3.

Examples

TEMP = 3 BIT_AND 7 or TEMP = 3 & 7

Creates a new column named TEMP containing the value three (bitwise AND of 011 and 111 equals 011).

TEMP = V1 & 8

Creates a new column named TEMP, where each value is the contents of column V1 bitwise AND-ed with the binary value 1000.

TEMP = V1 & V1

Creates a new column named TEMP containing the same contents as the column V1 (every value AND-ed with itself produces itself).

TEMP = V1 & V2

Creates a new column named TEMP, where each value is the row value of column V1 bitwise AND-ed with the corresponding row value of column V2.

TEMP = V1:V3 & V4:V6

Creates three new columns named TEMP, VX, and VY. The column TEMP contains the values in V1 bitwise AND-ed with the corresponding row values of column V4. The column VX contains the bitwise AND-ed values from columns V2 and V5. The column VY contains the bitwise AND-ed values from columns V3 and V6.

TEMP = V1[10:20] & V2 or TEMP = V1[10:20] & V2[1:11]

Creates a new column named TEMP, where the first 11 cells contain the bitwise AND-ed result of the values in rows 10-20 of column V1 by the values in rows 1-11 of column V2. The other cells in TEMP are empty.

Related functions

Function Description
BIT_NOT Computes the bitwise NOT of the contents of the specified data range
BIT_OR Computes the bitwise OR between two specified data ranges
BIT_XOR or XOR Computes the bitwise XOR between two specified data ranges