I have read that you also can apply N-Tier for Businesss Intelligence
based on these criteria:
What is your experience when you are using N-Tier?
N-Tier may be a disingenuous term
I think the term 'N-tier' is disingenouos whe used in the context of a business intelligence system. In transactional systems 'N-Tier' describes a distributed system with an application server, ESB or some other networked middle tier. Data warehouse systems don't work in a way analogous to this, so the term is likely to breed confusion.
Separating data and functional logic
You could build a system in terms of data that's as raw as possible and then put a transformation layer on it, which is then consumed by a reporting layer. The transformation layer could take the form of:
This would give you 'Data', 'Functional Logic' and 'Presentation' layers as per your example. Some data warehouse systems are implemented a bit like this, although it (IMHO at least) would be something of an anti-pattern. Some issues with pushing business logic downstream of your ETL include:
Nonetheless, this is more common than might be expected. I think the main reason one encounters data warehouse projects implemented in this manner is that ETL tools are quite clumsy to work with if your requirements for tranformation logic are complex. ETL tools often have the effect of dumbing down the architecture and fobbing off logic into the reporting layer, which significantly degrades the effectiveness of the data warehouse initiative. The volume of work and presence of a central database gives the illusion of a data warehouse while providing little of the benefit.
Another N-tier view of a data warehouse
One could interpret 'Data', 'Functional Logic' and 'Presentation' as an ETL and reporting process in a more well organised data warehouse system. In this case, 'Data' could be interpreted as the staging layer, 'Functional Logic' implemented in the ETL, presenting a dimensional data store and/or suite of data marts, and 'Reporting' implemented through a reporting and ad-hoc query suite.
For this reason, I think the concept of 'N-tier' is unhelpful and even a bit disingenuous. It sounds a lot like something a middleware company or consultancy might describe in a white paper - a flawed and even somewhat misleading theoretical notion that sounds good on paper.