Variables in JSON Schema Compliant Assertion Steps doesnt work with data sources
The subject pretty much sums it up but for a little more details:
When you create a test case with a data source, a test step and a data source loop and within the test step you use the Assertion JSON Schema compliance with a path using a variable like ${DataCollection#CollectionEntry} so for example: www.google.com/${DataCollection#CollectionEntry}.json (doesn't work this way but just as an example) so it uses, depending on the collection Entry, different JSON schema files it only initializes the JSON schema file for the first data source element it runs and then somehow buffers the JSON schema file for the next assertions.
In the example of having a data source with 2 values (test and test2) it opens the JSON schema
www.google.com/test.json and on the 2nd loop it compares the response again with www.google.com/test.json instead of getting the new JSON schema test2
When you click on the JSON schema compliance test step after the test case and just press ok without changing anything it takes the new JSON schema from the path with the right data source ... so it only loads the JSON schema once on creating the assertion, rather than on every assertion