Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi,
We have something like this with various pricing. The fixed price is including a certain amount of users and then the additional users are charged on top of that. Some examples:
Small Users Package (Including 50 Users) | Additional Price per user (Above 50)
$99 $1.98
Medium Users Package (Including 500 Users) | Additional Price per user (Above 500)
$799 $1.60
For data we have:
Company Name | User Amount | Pricing
Test Company 100 198
Now a company could be in a 'non-ideal' pricing deal and I'd like to calculate when it becomes cheaper to move to a Medium package for example. What calculation or dax logic would have to be used?
Thanks!
@Anonymous , Static Way a new column
Switch( True(),
[User Amount] <0 50 ,99
[User Amount] < 500 , 99 + (1.98)*([User Amount]-50)
,799 + (1.60)*([User Amount]-500)
)
@Anonymous - Here is one way to do it. See Table (33) of attached PBIX below sig.
Column =
VAR __Table = GENERATESERIES([User Amount],500,1)
VAR __Table1 = ADDCOLUMNS(__Table,"Price",[Pricing] + ([Value] - [User Amount])*1.98)
VAR __UserCount = MINX(FILTER(__Table1,[Price]>=799),[Value])
RETURN
__UserCount
It's basically an implementation of a psuedo-While loop.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
Check out the November 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 20 | |
| 10 | |
| 9 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 32 | |
| 31 | |
| 18 | |
| 12 | |
| 11 |