This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowA new Data Days event is coming soon! This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. Don't miss out.
Hi there ;
i need your kind support for below issue pls :
i have table as below , the yellow marked last colum that i want to create in my table.I need dax formula for column , not measure.
So pls let me explain what is this table and in which rules i need yellow column.
in this table there are materials that indexed as group for each them , there are request quantities and request dates , delivery quantities and delivery dates ,
" open quantity" column shows : request quantity -delivery quantity
"statu" column shows that if all the materials delivered or not , if all material delivered closed , if not open.
i would like to find if there is violation while delivering quantities.So rules like that :
to make your calculation easier i am sharig with you excels ource as below :
https://drive.google.com/file/d/1252yy235azu94tCWCUDAbjI3f1FPEqvy/view?usp=sharing
i hope it is clear thanks in advance for your kind help
Solved! Go to Solution.
Hey @erhan_79 ,
I assume this DAX statement allows to create a calculated column that returns what you are looking for:
violation =
var __Material = 'Table'[Material]
var __Index = 'Table'[Index]
var __Status = 'Table'[Status]
var __DeliveryDate = 'Table'[Delivery Date]
var doSucceedingDeliveriesExist =
IF( __Status = "Open"
, IF(
CALCULATE(
MAX( 'Table'[Delivery Quantity] )
, FILTER(
ALL( 'Table')
, 'Table'[Material] = __Material && 'Table'[Index] > __Index
)
) > 0
, "Violation"
, BLANK()
)
)
var doOpenPreceedingDeliveriesExist =
IF( __Status = "Closed"
, IF(
CALCULATE(
MIN( 'Table'[Delivery Date] )
, FILTER(
ALL( 'Table')
, 'Table'[Material] = __Material && 'Table'[Index] > __Index
)
) <= __DeliveryDate
, "Violation"
, BLANK()
)
)
return
IF( doSucceedingDeliveriesExist = "Violation" || doOpenPreceedingDeliveriesExist = "Violation"
, "Violation"
, BLANK()
)
Here is a screenshot of the result, be aware that I call the column violation:
Hopefully, this provides what you are looking for.
Regards,
Tom
Hey @erhan_79 ,
I assume this DAX statement allows to create a calculated column that returns what you are looking for:
violation =
var __Material = 'Table'[Material]
var __Index = 'Table'[Index]
var __Status = 'Table'[Status]
var __DeliveryDate = 'Table'[Delivery Date]
var doSucceedingDeliveriesExist =
IF( __Status = "Open"
, IF(
CALCULATE(
MAX( 'Table'[Delivery Quantity] )
, FILTER(
ALL( 'Table')
, 'Table'[Material] = __Material && 'Table'[Index] > __Index
)
) > 0
, "Violation"
, BLANK()
)
)
var doOpenPreceedingDeliveriesExist =
IF( __Status = "Closed"
, IF(
CALCULATE(
MIN( 'Table'[Delivery Date] )
, FILTER(
ALL( 'Table')
, 'Table'[Material] = __Material && 'Table'[Index] > __Index
)
) <= __DeliveryDate
, "Violation"
, BLANK()
)
)
return
IF( doSucceedingDeliveriesExist = "Violation" || doOpenPreceedingDeliveriesExist = "Violation"
, "Violation"
, BLANK()
)
Here is a screenshot of the result, be aware that I call the column violation:
Hopefully, this provides what you are looking for.
Regards,
Tom
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 29 | |
| 25 | |
| 24 | |
| 21 | |
| 14 |
| User | Count |
|---|---|
| 61 | |
| 48 | |
| 26 | |
| 21 | |
| 20 |