We have AX 2009 and I have been able to process all of the default cubes, except for the Project Accounting Cube. I receive several errors which are below.
Errors in the high-level relational engine. The 'BASEENUM_JmgJobPayTypeEnum' table that is required for a join cannot be reached based on the relationships in the data source view.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'PROJTABLE', Name of 'Projects' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Projects' attribute of the 'Projects' dimension from the 'dynamics ax' database was being processed.
The SQL Queries for the baseenum and projtable run successfully, so I'm not exactly sure where to look at this point. Any help would be greatly appreciated.
Any information from me is provided AS IS with no guarantee or warrenty that it will work for you. I can't guarantee that it will work for you as I have a different ax version so can't test against your project.
The error The 'BASEENUM_JmgJobPayTypeEnum' table that is required for a join cannot be reached based on the relationships in the data source view. means ssas attempting to join a dimension, probably the project's dimensions PROJTABLE to that enum table, but the joins failed because there was no data source view relationship linking these two data source view tables.
How to get rid of the error ....
I guess it depends if you need the data from that enumeration in the dimension. If you do need to analyze projects by pay type, you would need to add the missing relationship. If you don't need whatever dimension attribute is using job pay type, you also have the option of identifying which attribute is using the enumeration and deleting that attribute.
To add the missing relationship:
Find the data source view table being used by the projects dimension, which is probably named PROJTABLE in the data source view
Go to its relationships node
Add a new relationship
Set the relationship settings field similar to one of the other enumeration relationships ...
Source table will be the table for the dimension, PROJTABLE.
Destination table will be the enumeration table, BASEENUM_JmgJobPayTypeEnum
In destination columns, pick the value for the enumeration, which probably named something like ENUMITEMVALUE.
In source columns, pick the field from PROJTABLE which contains a value of the JmgJobPayType enumeration.
Hopefully, you can identify that from the table definition in AOT. I will likely be named something like JOBPAYTYPE.
Hope this helps.