Daily DAX : Day 135 FLOOR

 The FLOOR function in Power BI's DAX (Data Analysis Expressions) language is used to round a number down to the nearest multiple of a specified significance. Essentially, it helps you "snap" a value down to a defined interval or grid, which can be really useful for simplifying data or aligning it to specific increments.

Syntax

The FLOOR function has the following syntax:


FLOOR(<number>, <significance>)


    <number>: The value you want to round down.

    <significance>: The multiple to which you want to round the number down. This must be a positive number.


The function returns the largest multiple of significance that is less than or equal to number. If either argument is non-numeric or if significance is negative, it will return an error.

How It Works

Let’s break it down with some examples:


    FLOOR(7.8, 1)  

        Rounds 7.8 down to the nearest multiple of 1.  

        Result: 7 (since 7 is the largest multiple of 1 less than or equal to 7.8).

    FLOOR(10.6, 2)  

        Rounds 10.6 down to the nearest multiple of 2.  

        Multiples of 2: 0, 2, 4, 6, 8, 10, 12, etc.  

        Result: 10 (10 is the largest multiple of 2 less than or equal to 10.6).

    FLOOR(-3.7, 1)  

        Rounds -3.7 down to the nearest multiple of 1.  

        Multiples of 1: 0, -1, -2, -3, -4, etc.  

        Result: -4 (since "down" for negative numbers means more negative, and -4 is the largest multiple of 1 less than or equal to -3.7).


Use Case

The FLOOR function is super handy in scenarios where you need to group or categorize numerical data into discrete buckets or intervals. Here’s a practical example:

Scenario: Sales Price Analysis

Imagine you’re analyzing product sales data in Power BI, and the prices are stored with decimals (e.g., $12.75, $15.99, $18.20). Your manager wants a report where prices are grouped into $5 increments (e.g., $0–$5, $5–$10, $10–$15, etc.) to see how sales distribute across these ranges.


    Column: Price (e.g., 12.75, 15.99, 18.20)

    DAX Calculated Column:


    PriceBucket = FLOOR('SalesTable'[Price], 5)


    Result: 

        12.75 → 10 (rounds down to the nearest multiple of 5)

        15.99 → 15

        18.20 → 15


Now you can use this PriceBucket column in a chart or table to visualize sales by these $5 price ranges. It simplifies the data and makes trends easier to spot.

Why Use FLOOR?


    Data Aggregation: Aligns values to a consistent scale (e.g., rounding timestamps to the nearest hour or day).

    Simplification: Removes unnecessary precision for reporting (e.g., converting 3.78 meters to 3 meters).

    Categorical Analysis: Creates buckets for grouping, as in the price example above.


It’s a straightforward but powerful tool when you need control over how numbers are floored to fit your analysis! Let me know if you’d like more examples or help applying it to a specific dataset.

Comments

Popular posts from this blog

Daily DAX : Day 65 INFO.TABLEPERMISSIONS

Daily DAX : Day 55 PV