if i manually do the mapping class for each of the PEGA campaign result tables; BIX is able to extract the data.
Not sure if BIX can read those table without need to create the mapping class ... and also BIX is able to identify what is the campaign result table which generated by PEGA after campaign has completed
i still think accessing batch table probably not a good idea as they are generated runtime, the solution wont be generic.
However the same information is available in "Customer" table as well, you could use report definition to join between customer table and communication history table and possibly use schedule option to email out the report.
Since both of these tables are extremely big, RD might not be performant here. you could run a query directly on DB , use an etl or something and get the output.
you could identify your "customer" table by identifying the Customer class set in the "Manage Data Relationship" tab in Configuration landing page of Marketing portal. Open the class definition rule and perform Test connectivity the resulting dialog will indicate the underlying database table.
I was suggesting to join Communication history with "Customer" table, assuming you need both offer names/responses from strategy and corresponding customer data.
IH already has the reference to your campaign runs. its stored as a Response context (and therefore available Communication history as pyCategory) which points to your campaign runs,
In IH data model, refer
1. PZCONTEXTID in PR_DATA_IH_FACT, and PYCATEGORY in PR_DATA_IH_DIM_CONTEXT for Campaign run class.
2. PYSUBJECTID in PR_DATA_IH_FACT for your customer id.
As Simon suggested, Since there are no BLOBs to handle to get the data you need, may be BIX is not the right tool, you could just construct a sql query to get the data.
alternatively you could also try using output db templates in campaign engagement configuration, to store the same data in a known table.