guess it is a matter of perspective. I see people doing tiny things with MS olap stuff. I see tons more doing big things with our stuff. Guess it is all in where you are looking.
I can think of NO data warehousing feature that is not potentially useful in OLAP -- think about OLAP -- "Online Analytical" -- fast, quick responses -- DW -- tools to do big things fast.
some quick rollup and cubes:
scott@ORA920> select decode( grouping(deptno), 1, 'summed over dept'),
2 decode( grouping(ename), 1, 'summed over ename'),
3 deptno, ename, sum(sal)
4 from emp
5 group by rollup(deptno,ename)
6 /
DECODE(GROUPING( DECODE(GROUPING(E DEPTNO ENAME SUM(SAL)
---------------- ----------------- ---------- ---------- ----------
10 KING 5000
10 CLARK 2450
10 MILLER 1300
summed over ename 10 8750
20 FORD 3000
20 ADAMS 1100
20 JONES 2975
20 SCOTT 3000
20 SMITH 800
summed over ename 20 10875
30 WARD 1250
30 ALLEN 1600
30 BLAKE 2850
30 JAMES 950
30 MARTIN 1250
30 TURNER 1500
summed over ename 30 9400
summed over dept summed over ename 29025
18 rows selected.
scott@ORA920> select decode( grouping(deptno), 1, 'summed over dept'),
2 decode( grouping(ename), 1, 'summed over ename'),
3 deptno, ename, sum(sal)
4 from emp
5 group by cube(deptno,ename)
6 /
DECODE(GROUPING( DECODE(GROUPING(E DEPTNO ENAME SUM(SAL)
---------------- ----------------- ---------- ---------- ----------
summed over dept summed over ename 29025
summed over dept FORD 3000
summed over dept KING 5000
summed over dept WARD 1250
summed over dept ADAMS 1100
summed over dept ALLEN 1600
summed over dept BLAKE 2850
summed over dept CLARK 2450
summed over dept JAMES 950
summed over dept JONES 2975
summed over dept SCOTT 3000
summed over dept SMITH 800
summed over dept MARTIN 1250
summed over dept MILLER 1300
summed over dept TURNER 1500
summed over ename 10 8750
10 KING 5000
10 CLARK 2450
10 MILLER 1300
summed over ename 20 10875
20 FORD 3000
20 ADAMS 1100
20 JONES 2975
20 SCOTT 3000
20 SMITH 800
summed over ename 30 9400
30 WARD 1250
30 ALLEN 1600
30 BLAKE 2850
30 JAMES 950
30 MARTIN 1250
30 TURNER 1500
32 rows selected.
scott@ORA920> select decode( grouping(deptno), 1, 'summed over dept'),
2 decode( grouping(ename), 1, 'summed over ename'),
3 deptno, ename, sum(sal)
4 from emp
5 group by grouping sets((deptno),(ename))
6 /
DECODE(GROUPING( DECODE(GROUPING(E DEPTNO ENAME SUM(SAL)
---------------- ----------------- ---------- ---------- ----------
summed over ename 10 8750
summed over ename 20 10875
summed over ename 30 9400
summed over dept ADAMS 1100
summed over dept ALLEN 1600
summed over dept BLAKE 2850
summed over dept CLARK 2450
summed over dept FORD 3000
summed over dept JAMES 950
summed over dept JONES 2975
summed over dept KING 5000
summed over dept MARTIN 1250
summed over dept MILLER 1300
summed over dept SCOTT 3000
summed over dept SMITH 800
summed over dept TURNER 1500
summed over dept WARD 1250
17 rows selected.
Analytics -- search for that word here. I use them LOTS. They are the coolest thing to happen to sql since the keyword select. see also
</code>
http://docs.oracle.com/docs/cd/B10501_01/server.920/a96520/toc.htm
and in particular:
http://docs.oracle.com/docs/cd/B10501_01/server.920/a96520/analysis.htm#1020 <code>