Please find below is the Unconnected Lookup Usage:
The main advantage of using an unconnected lookup is the fact that you can use it in an expression/any other transformation like a function in other programming languages. The Lookup Cache is calculated only once as part of the session initialization and hence more efficient, since all subsequent look-ups will re-use the Cache
The only constraint is that the cache has to be static, i.e the data in your look-up table shouldnt be changing once the lookup Cache has been created. Actually, it could change, but the Cache wouldnt be updated. So the results might be incorrect.
This narrows down the usage of Unconnected Lookup to the following scenarios.
a) When you are looking up against a Static dimension (or any table) that is rarely ever updated b) When you are looking up against a Base Dimension that is loaded before any of the Facts are loaded c) The logic used in the Lookup-override is required at a lot of other places. d) When same lookup is to be used multiple times in a mapping The major advantage of unconnected lookup is its reusability. We can call an unconnected lookup multiple times in the mapping unlike connected lookup. e) When conditional lookup is required. To elaborate this more ... say a table should be looked up when column has some specific value You can consider un-connected lookup as a function in any procedural language. It takes multiple parameters as input and returns one values, and can be used repeatedly.
Same way un-connected lookup can be used in any scenario where you need use the lookup repeatedly either in multiple or same transformation. With the un-connected lookup, You get the performance benefit of not caching the same data multiple times