I'm just beginning to use the CommandReporter tool in SIMS and am finding it very useful, but need a bit of help in figuring out if it can do what I want. At the moment I have created a report in SIMS that outputs students names, registration group and admin number. As part of that report, I have also added in an "Assessment results" field, which I filter for a particular result that I need (where the filter is set to equal the aspect name of the result). I can run this report via the command reporter, and everything is in the report that I need.
Now at the moment, if I want several sets of results for each child, I just add more filters (using OR), and again filter on the different aspect names I need. However, I have written some VBA code to run this report via command reporter, and I want the code to be able to determine how many filters are applied (depending on how many results I need). In some cases this could be as many as 15 filters. Is it possible to specify this purely via /paramsfile. My problem is that sometimes I may only want 1 filter, and I don't want to have to run 15 of them as that will take a long time, but I need my code to determine this. Is this possible?
Unfortunately, you can only pass the filters via PARAMDEF that have been explicitly specified in SIMS, i.e. if there are 10 filters in SIMS, you have to pass 10 *
However, one way I can think of to get around this is to write your VBA code to simply duplicate the final filter to fill the requirement. So, set up your report in SIMS.net to accept as many filters as you're ever likely to need (let's say 10 for example) then if for instance you only need to pass 5 filters, duplicate the 5th filter 6 times. This is by no means correct XML, but you should get what I mean:
So you can see, although we are still using the 10 filters SIMS expects, by duplicating the fifth in our example we've effectively cut down our effective filters to 5.
I haven't actually tried this (I either pre-define the aspects I need on the SIMS.net side or run the report as many times as I need for individual aspects) but in theory it should work and would be my first attempt at a solution
* unless when you design the report you have the "one of" option with a check list - in that case, you can pass any valid value via PARAMDEF as though you had manually checked that box in SIMS. I don't believe that the Aspect name is one of these fields unfortunately, and there doesn't seem to be any formulaic approach to which fields are capable of this (resultsets can be filtered this way for example), you just have to see if the option is available when creating the report
Last edited by LosOjos; 22nd July 2013 at 01:03 PM.
Thanks for your reply LosOjos, kinda what I was expecting someone to say. But your workaround is interesting and sounds like a good idea. Will the duplicates be ignored when the report is run? My only concern is over run time, if it has to run that many filters when at times I might just want a couple of results it's not ideal. But if that's my only option I guess I'll have to accept it! :-)