Daily DAX : Day 257 ISODD

 The ISODD function in Power BI's DAX (Data Analysis Expressions) language is used to determine whether a given number is odd. It returns a Boolean value: TRUE if the number is odd, and FALSE if the number is even.

Syntax


ISODD(number)


    number: The value or expression to evaluate. It must resolve to a numeric value (integer or decimal). If the input is not a number, the function will return an error.


Return Value


    TRUE: If the number is odd.

    FALSE: If the number is even.


Key Points


    The function only evaluates the integer part of a number. For example, ISODD(3.7) evaluates 3 and returns TRUE.

    If the input is a non-numeric value or blank, the function returns an error.

    It is often used in conditional logic, filtering, or calculations requiring differentiation between odd and even numbers.


Use Case

Scenario: You have a dataset with a column of order IDs, and you want to categorize or process records differently based on whether the ID is odd or even. For example, a retail company might want to assign odd-numbered orders to one warehouse and even-numbered orders to another for load balancing.

Example

Suppose you have a table Orders with a column OrderID. You can create a calculated column to flag whether the OrderID is odd:

dax


IsOrderIDOdd = ISODD(Orders[OrderID])


This creates a new column that returns:


    TRUE for odd OrderID values (e.g., 1, 3, 5).

    FALSE for even OrderID values (e.g., 2, 4, 6).


Practical Application

You can use this column in a report to:


    Filter: Show only odd-numbered orders in a visual.

    Conditional Formatting: Apply different colors to odd and even rows for better readability.

    Logic in Measures: Use it in measures to aggregate data differently for odd and even IDs. For example:


dax


OddOrderSales = 

CALCULATE(

    SUM(Orders[SalesAmount]),

    ISODD(Orders[OrderID]) = TRUE

)


This measure calculates total sales for orders with odd IDs.

Example with Sample Data

OrderID            SalesAmount            IsOrderIDOdd

1                            100                        TRUE

2                            150                        FALSE

3                            200                        TRUE

4                            175                        FALSE


You could then use IsOrderIDOdd to filter or group data, such as calculating total sales for odd-numbered orders ($300 in this case).

Notes


    If you need to handle non-integer inputs, consider using ROUND or INT to preprocess the number.

    For error handling, wrap ISODD in IFERROR to manage non-numeric or blank inputs gracefully.


This function is simple but useful in scenarios requiring parity-based logic in data analysis.

Comments

Popular posts from this blog

Daily DAX : Day 65 INFO.TABLEPERMISSIONS

Daily DAX : Day 55 PV