with data as ( select empno , deptno , sal sal_org , sal from emp ) select empno , deptno , sal_org , sal from data model partition by (deptno) dimension by (empno) measures (sal, sal_org) rules iterate(10) (sal[any] = sal[cv(empno)] - sal[cv(empno)]/10) EMPNO DEPTNO SAL_ORG SAL ----- ---------- ---------- ---------- 7499 30 1600 557,885504 7521 30 1250 435,84805 7654 30 1250 435,84805 7698 30 2850 993,733554 7844 30 1500 523,01766 7900 30 950 331,244518 7369 20 800 278,942752 7566 20 2975 1037,31836 7788 20 3000 1046,03532 7876 20 1100 383,546284 7902 20 3000 1046,03532 7782 10 2450 854,262178 7839 10 5000 1743,3922 7934 10 1300 453,281972
Hier ziehe ich den emp-Mitarbeitern in 10 Iterationen jeweils 10% ihres Gehalts ab. Interessant am Beispiel sind in erster Linie die CV-Funktion (= CurrentValue) und das ITERATE-Kommando zur Definition der Schleifenanzahl. In diesem Fall ist das inhaltlich nicht besonders spannend, aber mehr fällt mir zu Model noch nicht ein. Interessanter wäre wahrscheinlich der Fall sukzessiver Steigerungen z.B. zu Ermittlung von Zinseszins-Effekten.
Keine Kommentare:
Kommentar veröffentlichen