Modulo (mod, %%)
Adds a new column that returns the remainder of the division of the integer values in a field by another field or value.
Given the following example:
the Modulo operation calculates the remainder as follows, rounding down the result of the division (as can be done using the Floor (floor) operation):
The Division remainder (rem, %) operation also returns the remainder of a division, but instead rounds the result of the division to the nearest integer. Go to the operation article to learn more.
How does it work in the search window?
Select Create column in the search window toolbar, then select the Modulo operation. You need to specify two arguments:
The data type of the values in the new column is integer.
The examples in this article use values in a data table generated from this CSV file. If you want to try the example for yourself, download the file and upload it to your domain clicking Data upload in the navigation pane. Name the new table my.upload.sample.data and select Current date as Date parsing type. Learn more about uploading data in Uploading log files.
After receiving the confirmation message, you can access the table from the Finder, selecting my → upload → sample → data. When you upload data from a file, all the information is included in a single column called message. To split the values into different columns, you can use the Split (split) operation. Click Toggle Query Editor in the search window toolbar and paste the following LINQ query to save time:
select split(message, ";", 17) as numbers,
int(numbers) as numbers_int
my.upload.sample.data table, we want to find the remainder of the division of the values in the numbers_int column by 2.
The arguments needed to create the new column are:
- Dividend - numbers_int column
- Divisor - Click the pencil icon and enter 2
Click Create column and you will see the following result:
How does it work in LINQ?
Use the operator
as... and add the operation syntax to create the new column. These are the valid formats of the Division remainder operation:
integer1 %% integer2
You can copy the following LINQ scripts and try the above example on the
from my.upload.sample.data select split(message, ";", 17) as numbers, int(numbers) as numbers_int, numbers_int %% 2 as `numbers_int/2`
from my.upload.sample.data select split(message, ";", 17) as numbers, int(numbers) as numbers_int, mod(numbers_int, 2) as `numbers_int/2`