Page 1 of 1

Individual stats for rules while executing in rule set

Posted: Fri Aug 02, 2013 2:52 pm
by Maximus_Jack
how do i see the stats of individual rules, when i run with rule set, the only report seems to be giving the stats for rule set is "Rule set execution History Statistics", but this doesn't give it on individual rules, just a total percentage/value of data meeting the rules and not meeting the rules.

any idea on how to generate a report like that, when executing via rule set.

thans
MJ

Posted: Mon Aug 05, 2013 7:32 am
by rjdickson
Hi,

I do not know of a way to getInformation Analyzer to produce this output.

There is an option for the current version (9.1): The Data Rule Stage.
You can run that Rule Set in the new Rules Stage in 9.1 DataSage/QualityStage. An optional output is 'ViolationDetails' that appears to output the violating rule name in the form of "Rule Set Name"_"Rule Name".

You could then use this output to produce violations by rule.

Posted: Mon Aug 05, 2013 4:33 pm
by ray.wurlod
Indeed, the Data Rules stage is available in version 8.7.

Posted: Mon Aug 05, 2013 5:33 pm
by stuartjvnorton
Here is a pretty good reference for what is done internally during rule and ruleset execution:

http://www.ibm.com/developerworks/data/ ... index.html

That said, you can't appear to get it through the IA API (would be nice). So short of using XMETA to get the base table name and then hit <base_name>_VIOLATIONS in IADB, I can't think of how you'd get that information out.

Posted: Mon Aug 05, 2013 8:56 pm
by Maximus_Jack
hi thanks for all your response, my issue / requirement is to produce the output in a "Report" not just as a file using datarule stage, executing individual rule set becomes too tiresome and it takes a long time, i thought of using rule sets, but i couldn't get outputs for individual rules.

so whether running individual rules is the only way to get the outputs in the
report?

whether the rules can be scheduled in a way that upon success of the
previous rule the next rule should start running?

Posted: Wed Aug 07, 2013 12:11 am
by stuartjvnorton
Let's back up for a second: are you looking for the individual records that fail each rule, or are you looking for the pass/fail counts for a lot of rules at once?

For the former, batch execute the individual rules, and then call IAAdmin -getOutputTable for each rule (and manually create a report based the output).

If the latter, you batch execute the rules, then manually run the standard Data Rule Execution History Summary report once for all of them.

Batch executing rules is not that hard. Refer to IAAdmin -runTasks in ch 16 of the IA user guide.

Posted: Wed Aug 07, 2013 10:16 am
by Maximus_Jack
thanks stuart.. will try that

Posted: Tue Aug 13, 2013 7:57 am
by rjdickson
There is, with the appropriate patches for 8.5 and above, the -subRule option:

run IAAdmin with no options and look for subRule (i.e.

Code: Select all

 IAAdmin | grep -i subrule
to see:

Code: Select all

-getOutputTable -projectName <ProjectName> -ruleName <RuleName> [-executionID <executionID> -subRule subRule -startIndex StartIndex - nbOfRows <number of rows>]
| -- Gets the content of the output table of a rule.

Posted: Tue Aug 13, 2013 7:58 am
by rjdickson
There is, with the appropriate patches for 8.5 and above, the -subRule option:

run IAAdmin with no options and look for subRule (i.e.

Code: Select all

 IAAdmin | grep -i subrule
to see:

Code: Select all

-getOutputTable -projectName <ProjectName> -ruleName <RuleName> [-executionID <executionID> -subRule subRule -startIndex StartIndex - nbOfRows <number of rows>]
| -- Gets the content of the output table of a rule.