Right.. Did further analysis and found a solution for your case..
First of all, Alert will work only on numeric data or timeseries data. Alerting not possible with tabular data.
Regarding duplicate data: In the example I shared earlier, there are 19 rows returned where there are 4 numeric fields in each row. Alerting trying to convert this tabular data into numeric data as it found 4 numeric fields. For 4 numeric field * 19 rows, alerting returns 76 rows. So this appears to be duplicate but it is not. All the string fields goes like labels.
So the solution is to convert all the fields into string fields and have only one numeric field. JSONata example can be found here
Updated play example can be seen here.
URL & JSONata
URL: https://services.odata.org/v4/(S(h1u2l5j3jswbcmbbapn02xrf))/Northwind/Northwind.svc/Orders
JSONata:
$map($.value[ShipCountry='France'],function($item, $item_index){
$merge(
[
$map($keys($item),function($key){{
$key: $type($lookup($item,$key)) != "string" ? $string($lookup($item,$key)) : $lookup($item,$key)
}}),
{"__index": $item_index + 1}
]
)
})




