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 nowThe Fabric community is upgrading! Read all of the details including the timeline and what you can expect. Learn more
I have the following table
| Employee | Week 1 | Week 2 | Week 3 | Week 4 | Standard |
| Jack | 40 | 40 | 40 | 40 | 40 |
| Tommy | 40 | 40 | 32 | 32 | 32 |
| Amy | 25 | 25 | 25 | 25 | 25 |
| Steve | 42 | 42 | 40 | 40 | 40 |
I need to create a column which checks every "Week" column against the "Standard" column, whereby if any of the values in the Week columns are lower than than the Standard value, the row in marked as non-compliant.
In the example above, the resulting column would look like this:
| Employee | Week 1 | Week 2 | Week 3 | Week 4 | Standard | Compliant |
| Jack | 40 | 40 | 40 | 40 | 40 | Yes |
| Tommy | 40 | 40 | 32 | 32 | 32 | No |
| Amy | 25 | 25 | 25 | 25 | 25 | Yes |
| Steve | 42 | 42 | 40 | 40 | 40 | Yes |
Please note - Steve is the only example where he has weeks greater than the standard value - this is fine, as long as no weeks are UNDER the standard value, the result should be compliant.
Thanks, Desyn.
Solved! Go to Solution.
It's using SUMX which works one value at a time, and sums the expression given, not the raw value.
The expression says "if non-compliant, output a 1 otherwise 0". When we sum that, if it is 0 then all of the values must have been compliant.
Since you allow hours to be over, the check should be [Value] < [Standard] but the principle works.
In Power Query, the following should work:
List.Accumulate(
{[Week 1],[Week 2],[Week 3],[Week 4]},
true,
(state, current) => state and current >= [Standard]
)
Does anyone else have any ideas as I'm still stuck. Thanks.
Hi @amitchandak,
I'm not sure that will work as it will produce compliance even if the columns were as follows:
| Employee | Week 1 | Week 2 | Week 3 | Week 4 | Standard |
| Jack | 40 | 42 | 38 | 40 | 40 |
The sum of the columns will average 40, even though one column is below 40.
It's using SUMX which works one value at a time, and sums the expression given, not the raw value.
The expression says "if non-compliant, output a 1 otherwise 0". When we sum that, if it is 0 then all of the values must have been compliant.
Since you allow hours to be over, the check should be [Value] < [Standard] but the principle works.
That's great, thanks @amitchandak.
My mistake, I hadn't appreciated the SUMX function. This works perfectly, it's a very neat and tidy solution, I thought I'd need to do more than one operation.
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
| User | Count |
|---|---|
| 24 | |
| 22 | |
| 20 | |
| 18 | |
| 14 |
| User | Count |
|---|---|
| 45 | |
| 38 | |
| 24 | |
| 21 | |
| 20 |