How to Round Up in Power BI
Need to round numbers up in Power BI? The standard ROUND function often doesn’t suffice since it rounds to the nearest number, which could be up or down. Whether you're calculating pricing, figuring out inventory needs, or billing for project hours, you often need to ensure a number only rounds up to the next whole number or decimal. This guide will walk you through the clear and simple ways to round up in Power BI using DAX functions like ROUNDUP and CEILING, complete with practical examples.
When Standard Rounding Just Won't Do
Imagine you run an e-commerce store that sells t-shirts. The t-shirts are packed in boxes that can hold a maximum of 25 shirts. If a customer orders 53 t-shirts, how many boxes do you need?
Simple math tells us 53 divided by 25 is 2.12. If you use a standard ROUND function, Power BI would round this down to 2. But you can't ship 0.12 of a box - you’d need a third box to fit all the shirts. This is a perfect scenario where rounding up is non-negotiable.
Here are a few common business cases where you always need to round up:
- Inventory & Logistics: Calculating the number of shipping boxes, pallets, or trucks needed.
- Project Management: Billing for blocks of time. If you bill in hourly increments, 30 minutes of work needs to be rounded up to 1 full hour.
- Pricing & Manufacturing: If a product requires 10.4 square feet of a material that is sold in whole square feet, you must purchase 11 square feet.
- Financial Calculations: Certain financial models or regulatory reports require rounding figures up to the nearest cent or dollar.
For these situations, Power BI has specific DAX functions perfectly designed for the job.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Method 1: Using the ROUNDUP Function
The most straightforward function for this task is, unsurprisingly, ROUNDUP. This function behaves similarly to its counterpart in Excel and always rounds a number away from zero to the specified number of decimal places.
Understanding the ROUNDUP Syntax
The syntax is simple and requires only two arguments:
ROUNDUP(<,number>, <num_digits>)
- <,number>: This is the number you want to round up. It can be a static value or, more likely, a reference to a column in your data model.
- <,num_digits>: This specifies how many decimal places you want to round to.
Step-by-Step Example: Calculating Shipping Boxes
Let's return to our t-shirt example. You have a table named 'Orders' with a column called 'Quantity' that lists the number of t-shirts in each order. A box can hold 25 shirts. We’ll create a calculated column that determines how many boxes are needed.
- Navigate to the Data view in Power BI and select your 'Orders' table.
- In the "Table tools" ribbon, click on New Column.
- In the formula bar that appears, enter the following DAX formula:
Needed Boxes = ROUNDUP(Orders[Quantity] / 25, 0)
Let's break that down:
Orders[Quantity] / 25: First, we calculate the number of boxes required, which results in a decimal value.ROUNDUP(..., 0): We then wrap that calculation inside theROUNDUPfunction and specify0fornum_digitsto ensure the result is rounded up to the next whole number.
Once you press Enter, a new "Needed Boxes" column will appear. For an order of 53 t-shirts, the calculation 53 / 25 is 2.12, and ROUNDUP(2.12, 0) correctly returns 3.
ROUNDUP Examples in Practice
Here is what the ROUNDUP function produces for different inputs:
ROUNDUP(3.14159, 2)returns 3.15ROUNDUP(76.8, 0)returns 77ROUNDUP(21, -1)returns 30ROUNDUP(212, -2)returns 300
A Quick Note on Negative Numbers
Keep in mind that ROUNDUP rounds numbers away from zero. This means it behaves slightly differently for negative values. For instance, ROUNDUP(-8.1, 0) will return -9, as -9 is farther from zero than -8.
Method 2: Using the CEILING Function for Multiples
Sometimes you don't just want to round up to the nearest integer, but to the nearest multiple of a specific number. This is common in pricing strategies. For example, maybe you want all your product prices to end in .99 or be rounded up to the nearest $5 increment.
This is where the CEILING function shines.
Understanding the CEILING Syntax
The syntax is:
CEILING(<,number>, <,significance>)
- <,number>: The numerical value or column you want to round.
- <,significance>: The multiple to which you want to round up. For example, a significance of
1rounds up to the nearest integer, while a significance of0.05rounds up to the nearest nickel.
Step-by-Step Example: Rounding Prices up to .99
Let's say you have a pricing model that calculates costs, and you want to ensure the final retail price always ends in .99. Your table is named 'Products', and it has a 'CalculatedCost' column.
- In the Data view, select the 'Products' table and click New Column.
- To round the price up to the next whole dollar and then subtract a penny, you can use a clever combination:
Retail Price = CEILING(Products[CalculatedCost], 1) - 0.01
Here’s the logic:
CEILING(Products[CalculatedCost], 1): This part takes the calculated cost (e.g., $43.54) and rounds it up to the nearest multiple of 1, resulting in $44.00.- 0.01: We then subtract one cent to arrive at the final retail price of $43.99.
If you wanted to round up to the nearest quarter ($0.25), you would use:
Retail Price = CEILING(Products[CalculatedCost], 0.25)
For a 'CalculatedCost' of $12.33, this formula would return $12.50.
ROUNDUP vs. CEILING: When to Use Each
These two functions seem similar, but their use cases are distinct.
- Use
ROUNDUPwhen your rounding is based on decimal places. It's perfect for rounding to the nearest whole number (num_digits= 0) or to a specific number of tenths, hundredths, etc. - Use
CEILINGwhen your rounding is based on a multiple of another number. It's the go-to function for rounding up to the nearest 5, 10, 0.25, or any other increment you need.
Using CEILING(Number, 1) is functionally identical to using ROUNDUP(Number, 0) for positive numbers. The choice in this scenario often comes down to readability and personal preference.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Bonus: Rounding to the Nearest Multiple with MROUND
While this article focuses on rounding up, it's helpful to know about CEILING's sibling, MROUND. The MROUND function rounds a number to the nearest multiple of significance.
For example, if you wanted to round employee hours to the nearest 15-minute interval (0.25 hours), you would use:
Billed Hours = MROUND(TimeTracking[ActualHours], 0.25)
- If
ActualHoursis 1.1,Billed Hourswould be 1.00. - If
ActualHoursis 1.2,Billed Hourswould be 1.25.
Just remember: CEILING always goes up, while MROUND goes to the closest value, which could be up or down.
Final Thoughts
Mastering DAX functions like ROUNDUP and CEILING in Power BI gives you precise control over your calculations. It's a small detail that makes a massive difference in ensuring your reports are accurate and practical for real-world scenarios like pricing, billing, or inventory management.
While learning DAX is a powerful skill, we know digging through formula documentation is one of many reasons traditional BI tools can slow you down. That’s why we built Graphed. Instead of searching for the right function, you simply connect your data and ask questions in plain English, like "Show me revenue by product rounded up to the nearest dollar." We handle complexity like that in the background, transforming hours of manual report building into a quick conversation, so you can focus on insights instead of syntax.
Related Articles
How to Create Facebook Ads API for Claude Code
Create a Meta Marketing API access token that never expires, using a system user, so Claude Code can pull Facebook ad reports and manage campaigns.
ClickHouse vs Postgres: When to Switch to Columnar
Comparing ClickHouse vs PostgreSQL means matching storage architecture to workload. Row storage wins for transactions. Columnar wins for scan-heavy analytics.
Google Ads for Orthodontists: Get More Booked Consults
Most orthodontic Google Ads campaigns waste money on low-intent searches. The problem is structure, not the platform.