Când utilizatorii Smart View necesită mai multe informaţii faţă de cele disponibile în cub, rapoartele de detaliere pot asigura accesul personalizat la datele sursei externe.
De obicei, dată fiind granularitatea datelor păstrate în data warehouse şi alte sisteme de date sursă, volumul de date externe poate fi prea mare pentru a fi util pentru analiză. Pentru popularea unui cub Essbase cu cantitatea optimă de date pentru analiză, o practică obişnuită este agregarea datelor sursă (de exemplu, agregarea valorilor tranzacţionale zilnice în totaluri săptămânale sau lunare), şi încărcarea acestor date agregate în cubul Essbase.
În timpul analizelor ulterioare ale datelor din Essbase, dacă utilizatorii Smart View descoperă animalii ce merită investigarea, detalierea le oferă un mod de a vizualiza rapid datele sursă de bază pentru căutarea cauzei. De exemplu, dacă datele pentru August sunt neobişnuit de diferite faţă de July, utilizatorii pot detalia sistemul sursă pentru a găsi înregistrările ce pot fi responsabile.
Pentru a oferi utilizatorilor analitici Smart View informaţii suplimentare despre ce reprezintă una sau mai multe valori de date din cub, managerii de baze de date pot implementa rapoartele de detaliere pentru a asigura profunzimea statisticii pentru datele sursă înainte de agregarea şi încărcarea în Essbase.
Rapoartele de detaliere sunt un mod prin care puteţi genera o interfaţă de schimb de date între Essbase şi sistemele sursă externe.
Luaţi în calcul un tabel relaţional, SB_DT, cu toate înregistrările selectate. Interogarea SQL este:
SELECT * FROM SB_DT
Rezultatul interogării (din SQL Developer) este trunchiat pentru lungime în această ilustrare, deoarece există mii de înregistrări în tabelul:
Luaţi în calcul acelaşi tabel cu mai puţine înregistrări selectate. De exemplu, dacă selecţia SQL este restrânsă la coloanele numite, măsurile sunt agregate şi este aplicat un filtru (clauză WHERE),
select DIMENSION_PRODUCT, DIMENSION_MARKET, YEAR_PARENT, DIMENSION_SCENARIO, sum(SALES) as SALES, sum(COGS) as COGS from SB_DT where DIMENSION_SCENARIO ='Actual' AND DIMENSION_MARKET ='California' AND YEAR_PARENT ='Qtr4' group by DIMENSION_PRODUCT, DIMENSION_MARKET, YEAR_PARENT, DIMENSION_SCENARIO
apoi rezultatul interogării este agregat şi filtrat:
Puteţi beneficia de puterea interogărilor RDBMS din Essbase, utilizând sursele de date, încărcarea datelor şi rapoartele de detaliere. Rapoartele de detaliere asigură accesul filtrat la o sursă de date externă direct dintr-o interogare Essbase într-o foaie de calcul Smart View.
Acest subiect explică semnificaţia termenilor asociaţi detalierii Essbase.
Detaliere (verb)
Detaliere reprezintă accesarea datelor externe de la una sau mai multe intersecţii de celule Essbase într-o foaie de calcul Smart View. Acţiunea de detaliere furnizează informaţii suplimentare ce nu sunt conţinute în cubul Essbase. Necesitatea detalierii apare când Essbase conţine valori agregate, iar sistemul sursă extern conţine date cu granularitate sporită ce pot fi făcute disponibile.
Când o interogare este efectuată la detaliere, rezultatele sunt afişate într-o nouă foaie de calcul ce deschide -- acesta este raportul de detaliere. Raportul conţine informaţii extrase din datele sursei externe.
Dacă un URL este lansat la detaliere, acesta se deschide într-un browser web. Parametrii pot fi trecuţi către URL, pentru executarea unei căutări personalizate în site-ul web.
Raport de detaliere
Un raport de detaliere este rezultatul unei operaţii de detaliere efectuate dintr-o grilă Smart View, pentru date suplimentare dintr-un sistem sursă extern la Essbase.
Definiţie raport de detaliere
O definiţie a raportului de detaliere este modul, dacă aveţi rolul de manager de baze de date sau superior, de a defini accesul pe care utilizatorii dvs. trebuie să îl aibă la informaţii externe. Puteţi crea definiţii de raport de detaliere în interfaţa web Essbase sau API-ul REST. Acestea sunt asociate cu cubul dvs. Ca parte din definiţie, specificaţi:
O mapare de coloană. Aceasta specifică ce coloane externe doriţi să fie afişate în rapoarte, şi la ce adâncime ierarhică (generaţională) doriţi să furnizaţi acces (de exemplu, doriţi să dezvăluiţi informaţii zilnice, lunare sau trimestriale din sursa externă?)
O Regiune care permite detalierea. Aceasta specifică ce intersecţii de celule din cubul dvs. oferă acces la rapoartele de detaliere (sau un URL) ce conţin date externe suplimentare. În exemplele care urmează, regiunile care permit detalierea din perspectiva foii de calcul Smart View sunt codificate cu culori cum ar fi albastru, utilizând stilurile de celule. Specificaţi regiunile care permit detalierea utilizând oricare Funcţii pentru setul de membri disponibile în Essbase. În exemplele care urmează, regiunile care permit detalierea sunt @DESCENDANTS("Măsuri") din Sample Basic.
O mapare pentru parametrii de runtime, dacă o interogare parametrizată este implementată în interogarea sursei de date de bază (opţional).
Definiţiile raportului de detaliere se bazează de obicei pe conexiunile predefinite şi sursele de date din Essbase (exceptând cazul când definiţi accesul la un fişier încărcat în Essbase). O conexiune stochează detaliile de autentificare la sursa externă. Una sau mai multe surse de date pe care le definiţi pentru conexiune vă permit să specificaţi o interogare iniţială pentru preluare din sursa externă (de exemplu, selectaţi tot dintr-un anumit tabel). Interogarea pe care o specificaţi în sursa de date poate prelua un subset de date cât de mare sau de mic doriţi pentru a începe. Ulterior, puteţi restrânge accesul la date pe care îl furnizaţi, când creaţi sau editaţi definiţia raportului de detaliere.
Ca un manager de baze de date, utilizaţi următorul flux de lucru pentru proiectarea şi testarea detalierii pentru cubul dvs.
Pregătiţi accesul la date
Creaţi definiţii raport de detaliere pe cub
Testaţi rapoartele de detaliere
Pregătiţi Smart View
Detaliaţi din diferite intersecţii de celule din Smart View
Verificaţi rezultatele raportului de detaliere şi jurnal platformă
Acest flux de lucru, şi restul acestei introduceri, subliniază lucrurile pe care trebuie să le cunoaşteţi pentru a proiecta şi testa accesul de detaliere la datele sursei externe dintr-un RDBMS. Dacă sunteţi mai interesat de implementarea URL-ului de detaliere, consultaţi Detaliere la un URL.
Pentru a înţelege diferitele cerinţe de acces pentru proiectarea şi utilizarea detalierii, consultaţi Accesarea rapoartelor de detaliere.
În acest exemplu, presupuneţi că, cubul Sample Basic din Essbase are Qtr1-Qtr4 ca cele mai de jos niveluri ale dimensiunii Timp.
Nu există luni în ierarhia structurii, dar datele lunare sunt disponibile în sistemul sursă extern, într-o coloană de tabel denumită DIMENSION_YEAR:
Când un utilizator Smart View detaliază pe o intersecţie de celule a unei valori Vânzări pentru Qtr1:
Raportul de detaliere generat de Essbase este
Raportul de detaliere afişează informaţii suplimentare, din baza de date sursă, despre Vânzări pentru Qtr1. Observaţi că valorile Jan, Feb şi Mar însumate reprezintă valoarea pentru Qtr1: 678+645+675=1998.
Interogarea utilizată intern de Essbase pentru generarea raportului de detaliere de mai sus este:
SELECT "DIMENSION_PRODUCT", "DIMENSION_MARKET", "DIMENSION_YEAR", "DIMENSION_SCENARIO", "SALES", "COGS", "YEAR_PARENT" FROM <Query defined in Datasource> WHERE "YEAR_PARENT" = 'Qtr1' AND "DIMENSION_PRODUCT" = '100-10' AND "DIMENSION_MARKET" = 'New York' AND "DIMENSION_SCENARIO" = 'Actual'
Pentru jurnalul platformei, administratorii pot accesa interogările precise de la baza fiecărui raport de detaliere.
O definiţie a raportului de detaliere este modul, dacă aveţi rolul de manager de baze de date sau superior, de a defini accesul pe care utilizatorii dvs. trebuie să îl aibă la informaţii externe.
Notă:
Nu redenumiţi definiţiile rapoartelor de detaliere. Definiţiile rapoartelor de detaliere care sunt redenumite pot să nu fie editabile şi pot să nu funcţioneze conform aşteptărilor.Pentru activarea raportului de detaliere generat în Cum funcţionează detalierea, managerul de baze de date creează o definiţie a raportului de detaliere asociată cu Sample Basic. Raportul de detaliere face referire la o sursă de date predefinită ce utilizează o interogare pentru extragerea datelor externe din SB_DT (tabelul de sistem sursă ipotetic menţionat în Introducere în detalierea Essbase).
În definiţia raportului de detaliere, managerul de baze de date a specificat următoarea mapare de coloană:
Coloană externă | Includere în raport | Dimensiune Essbase | Filtru Gen/Lev |
---|---|---|---|
DIMENSION_PRODUCT | Y | Produs | SKU produs [generaţie] |
DIMENSION_MARKET | Y | Piaţă | Stare [generaţie] |
DIMENSION_YEAR | Y | An | Fără |
DIMENSION_SCENARIO | Y | Scenariu | Level0 [nivel] |
SALES | Y | Fără | -- |
COGS | Y | Fără | -- |
YEAR_PARENT | Y | An | Trimestru [generaţie] |
Maparea coloanei defineşte ce coloane sursă externe trebuie să fie incluse în raport, către ce dimensiuni Essbase sunt mapate acele coloane şi (opţional) o condiţie de generare/filtrare nivel ce indică adâncimea accesului de furnizat.
În şablonul de mapare prezentat mai sus, managerul de baze de date:
A mapat coloana externă DIMENSION_PRODUCT la generaţia denumită SKU din dimensiunea Essbase Produs. Acest tip de mapare de coloană este numit mapare de generaţie.
A mapat coloana externă DIMENSION_MARKET la generaţia denumită Stare din dimensiunea Essbase Piaţă (acesta este un alt exemplu de mapare de generaţie).
A mapat coloana externă DIMENSION_YEAR la dimensiunea An, fără o filtrare suplimentară. Acest tip de mapare de coloană este numit mapare de dimensiune.
A mapat coloana externă DIMENSION_SCENARIO la cel mai de jos nivel (nivel 0) din dimensiunea Essbase Scenariu. Acest tip de mapare de coloană este numit mapare de nivel 0.
Nu a mapat coloanele SALES şi COGS la nimic, dar a selectat includerea acestor coloane în raport. De obicei nu este necesară maparea coloanelor la dimensiunea Essbase a conturilor.
A mapat coloana externă YEAR_PARENT la generaţia denumită Trimestru din dimensiunea An.
Opţiuni de mapare coloane
Deoarece interogarea generată de Essbase pentru a extrage datele din sursa dvs. de date depinde puternic de maparea de coloane definită, este util să înţelegeţi diferitele moduri de mapare a coloanelor şi în care cazuri este utilă fiecare metodă. Tipurile de mapări de coloane sunt:
Mapare de dimensiune
Mapare de generaţie
Mapare nivel 0
Mapare de dimensiune
Cu maparea de dimensiune, mapaţi o coloană sursă de date direct la un nume de dimensiune în cubul Essbase. Acest tip de mapare este cel mai util atunci când coloana sursă de date conţine toate straturile datelor reprezentate în dimensiunea corespondentă din cub.
De exemplu, dacă o coloană sursă de date MONTH conţine un amestec din toate aceleaşi generaţii/niveluri ca dimensiunea, aşa cum s-a arătat,
atunci are sens maparea coloanei MONTH la dimensiunea Essbase An, fără o filtrare suplimentară:
Coloană externă | Includere în raport | Dimensiune Essbase | Filtru Gen/Lev |
---|---|---|---|
MONTH | Y | An | Fără |
Când utilizaţi o mapare de dimensiune pentru MONTH, aşa cum se arată mai sus, condiţia de filtrare (clauza WHERE a interogării SQL) este ne predefinită pentru coloana MONTH:
SELECT "MONTH" FROM <Query defined in Datasource> WHERE "MONTH" = '<Grid context>'
iar rezultatul detalierii pentru MONTH va returna intersecţia curentă a celulelor Smart View.
Aflaţi mai multe despre funcţionarea mapării de dimensiune în Exemplu de caz de utilizare pentru detaliere.
Mapare de generaţie
Cu maparea de generaţie, mapaţi o coloană sursă de date la o generaţie denumită dintr-o dimensiune Essbase. Acest tip de mapare este cel mai util atunci când coloana sursă de date conţine numai straturile datelor reprezentate într-o anumită generaţie a unei dimensiuni din cub. De exemplu, când coloana sursă de date MONTH conţine doar luni, iar dimensiunea An are luni la generaţia 3,
atunci, cea mai bună alegere este maparea coloanei sursă la generaţia 3 (luni) din dimensiunea An:
Coloană externă | Includere în raport | Dimensiune Essbase | Filtru Gen/Lev |
---|---|---|---|
MONTH | Y | An | Luni [generaţie] |
Când utilizaţi o mapare de generaţie pentru MONTH, aşa cum se arată mai sus, condiţia de filtrare a interogării va fi predefinită pentru coloana MONTH:
SELECT "MONTH" FROM <Query defined in Datasource> WHERE "MONTH" = '<Generation filter>'
iar rezultatul detalierii pentru MONTH va returna valorile până la generaţia Luni a dimensiunii An. Niciun fel de date (dacă există) nu vor fi returnate pentru niciun nivel mai jos de Luni.
Maparea la nivel de generaţie nu este ideală pentru ierarhii asimetrice (neregulate). O mapare de generaţie nu are efect pe interogarea de detaliere într-o dimensiune cu o ierarhie neregulată exceptând cazul când detalierea este efectuată pe un membru dintr-o linie ancestrală directă pentru generaţia în care este definită maparea coloanei. Pentru evitarea rezultatelor neaşteptate, Oracle recomandă utilizarea mapării nivel 0 în locul mapării de generaţie pentru detalierea pe ierarhii asimetrice.
Aflaţi mai multe despre funcţionarea mapării de generaţie în Exemplu de caz de utilizare pentru detaliere.
Maparea de nivel 0
Cu maparea nivel 0, Essbase adaugă la condiţia de filtrare toţi membrii nivel frunză din ierarhie sub intersecţia celulelor (oricare membru este selectat în contextul grilei Smart View la runtime).
Maparea de nivel 0 este utilă la lucrul cu ierarhii asimetrice (neregulate). Într-o ierarhie neregulată, membrii de pe acelaşi nivel (L) nu au toţi aceeaşi adâncime de generaţie (G) în structură.
Un exemplu comun de ierarhie neregulată este o structură organizaţională a angajaţilor.
Dimensiunea Produs a structurii cubului Essbase pentru Sample Basic ar fi o ierarhie neregulată dacă ar fi adăugate câteva produse fiu sub 100-10 (Cola):
Când managerul de baze de date mapează coloana sursă PRODUCT la nivelul 0 al dimensiunii Produs, aşa cum este prezentat:
Coloană externă | Includere în raport | Dimensiune Essbase | Filtru Gen/Lev |
---|---|---|---|
PRODUCT | Y | Produs | Level0 [nivel] |
atunci, condiţia de filtrare a interogării va fi predefinită pentru coloana PRODUCT:
SELECT "PRODUCT" FROM <Query defined in Datasource> WHERE "PRODUCT" = <Level0> below <Grid context>
iar rezultatul detalierii pentru PRODUCT va returna toţi membrii nivel 0 de sub membrul Produs selectat în intersecţia curentă a celulelor Smart View.
Aflaţi mai multe despre funcţionarea mapării nivel 0 în Exemplu de caz de utilizare pentru detaliere.
Pentru acest exemplu de caz de utilizare, vom examina următorii factori de care trebuie să ţineţi cont la proiectarea accesului raportului de detaliere pentru utilizatorii Smart View:
Un cub Essbase pentru analiză
Un sistem sursă extern pentru detaliere
O definiţie de raport de detaliere cu maparea coloanei definită de managerul de baze de date
Rezultate raport de detaliere din Smart View
Cub Essbase
În acest exemplu, baza este un cub similar cu cubul demonstrativ Essbase, Sample Basic, dar având doar date de nivel trimestrial pentru dimensiunea Timp prezentă în cub (lunile au fost eliminate). Presupuneţi că dimensiunea An are Qtr1-Qtr4 ca membrii cu cel mai de jos nivel (nivel 0):
Deşi din această ierarhie a structurii lipsesc lunile, datele lunare sunt disponibile extern, prin detalierea la sistemul sursă (presupunem că este Oracle Database), iar apoi prin accesarea informaţiilor dintr-o coloană denumită DIMENSION_YEAR:
Pentru dimensiunile rămase, presupuneţi că sunt aceleaşi ca în cubul demonstrativ Essbase Sample Basic care este disponibil în secţiunea galeriei din catalogul de fişiere. Este recomandată o examinare rapidă a acestora:
Dimensiunea Măsuri urmăreşte indicatorii de performanţă cheie pentru conturi, utilizând calculele dinamice cu formulele de calcul Essbase.
Dimensiunea Produs urmăreşte inventarul activ, coborând cu două generaţii în adâncime, la generaţia 2 numită Categorie (populată de 100 [alias Colas], 200, 300, 400, şi Diet) şi generaţia 3/nivel 0 denumită SKU produs (populată de 100-10 [alias Cola], 100-20 etc).
Dimensiunea Piaţă oferă o separare geografică, cu două generaţii suplimentare sub numele dimensiunii. Generaţia 2 este Regiunea (Est, Vest etc) şi generaţia 3 este Statul.
Dimensiunea Scenariu adaugă analiza de raportare financiară pentru cub, cu doi membri stocaţi şi doi membri calculaţi dinamic:
Sistem sursă extern
Pentru sistemul sursă din acest exemplu, presupuneţi că este baza de date Oracle. Sursa de date predefinită în Essbase include o interogare SQL ce extrage informaţii dintr-un tabel din baza de date Oracle.
Sarcina noastră ca manageri de baze de date este de a proiecta o definiţie de raport de detaliere, pe baza acestei surse de date, ce asigură utilizatorilor Smart View accesul corect la datele sistemului sursă extrase prin sursa de date.
Interogarea din sursa de date poate fi la fel de simplă ca
SELECT * FROM TABLENAME
sau poate fi rafinată pentru extragerea oricărei agregări sau combinaţie de date externe pe care doriţi să le utilizaţi ca bază.
Selecţia din tabelul nostru ipotetic din baza de date Oracle include coloanele externe ca cele ilustrate în introducere. Vom mapa unele din aceste coloane externe la dimensiunile Essbase atunci când proiectăm definiţia raportului de detaliere.
Definiţie de mapare coloane
Maparea coloanelor din acest exemplu utilizează maparea de dimensiune pentru Produse, maparea de generaţie pentru An şi Scenariu şi maparea nivel 0 pentru Piaţă.
Coloană externă | Includere în raport | Dimensiune Essbase | Filtru Gen/Lev |
---|---|---|---|
DIMENSION_PRODUCT | Y | Produs | Fără |
DIMENSION_MARKET | Y | Piaţă | Level0 [nivel] |
YEAR_PARENT | Y | An | Trimestru [generaţie] |
DIMENSION_SCENARIO | Y | Scenariu | Scen [generaţie] |
SALES | Y | Fără | -- |
COGS | Y | Fără | -- |
MARKETING | Y | Fără | -- |
PAYROLL | Y | Fără | -- |
MISC | Y | Fără | -- |
Exemple de raport de detaliere după tipul de mapare de coloană
Următoarele exemple de rapoarte de detaliere ilustrează rezultatele de interogare pentru fiecare tip de mapare de coloană pe care managerul de baze de date le specifică, ca parte a definiţiei raportului de detaliere.
Mapare de dimensiune, exemplul 1
Utilizarea mapării de dimensiune pentru Produs, fără niciun filtru ierarhic,
Coloană externă | Includere în raport | Dimensiune Essbase | Filtru Gen/Lev |
---|---|---|---|
DIMENSION_PRODUCT | Y | Produs | Fără |
detalierea efectuată dintr-o intersecţie de celule nu va fi legată de nicio anumită generaţie sau nivel.
Ca urmare, detalierea din (An, Vânzări, Vest, Actual, Cola):
returnează un raport de detaliere filtrat după contextul grilei curente pentru Produs, care se întâmplă să fie 100-10 (100-10 este SKU de produs asociat cu numele de alias Cola). Toate valorile extrase din coloana DIMENSION_PRODUCT din sistemul sursă vor fi înregistrări în care DIMENSION_PRODUCT = 100-10.
Pentru validarea rapoartelor de detaliere pe măsură ce le testaţi, verificaţi ca suma pentru măsurile din raport să corespundă intersecţiei celulelor pentru care a fost efectuată detalierea. În exemplul de mai sus, raportul de detaliere este validat, deoarece celula detaliată corespunde valorii (14862) pentru suma coloanei mapate în raportul de detaliere.
Interogarea utilizată de Essbase pentru generarea raportului de detaliere de mai sus este:
SELECT "DIMENSION_PRODUCT", "DIMENSION_MARKET", "YEAR_PARENT", "DIMENSION_SCENARIO", "SALES", "COGS", "MARKETING", "PAYROLL", "MISC"
FROM <Query defined in Datasource>
WHERE (
"YEAR_PARENT" = 'Qtr3' OR
"YEAR_PARENT" = 'Qtr4' OR
"YEAR_PARENT" = 'Qtr1' OR
"YEAR_PARENT" = 'Qtr2')
AND
"DIMENSION_PRODUCT" = '100-10'
AND (
"DIMENSION_MARKET" = 'Oregon' OR
"DIMENSION_MARKET" = 'California' OR
"DIMENSION_MARKET" = 'Washington' OR
"DIMENSION_MARKET" = 'Utah' OR
"DIMENSION_MARKET" = 'Nevada')
AND
"DIMENSION_SCENARIO" = 'Actual'
Mapare de dimensiune, exemplul 2
Continuând de la exemplul anterior, să explorăm ce se întâmplă la detalierea pe un Produs la un nivel superior.
Detaliere din (An, Vânzări, Vest, Actual, Colas):
returnează un raport de detaliere filtrat după contextul grilei curente pentru Produs, care acum se întâmplă să fie 100 (100 este categoria de produs asociată cu numele de alias Colas). Toate valorile extrase din coloana DIMENSION_PRODUCT din sistemul sursă vor fi înregistrări în care DIMENSION_PRODUCT = 100.
Raportul de detaliere este validat, deoarece celula detaliată corespunde valorii (23806) pentru suma coloanei mapate în raportul de detaliere.
Interogarea utilizată de Essbase pentru generarea raportului de detaliere de mai sus este:
SELECT "DIMENSION_PRODUCT", "DIMENSION_MARKET", "YEAR_PARENT", "DIMENSION_SCENARIO", "SALES", "COGS", "MARKETING", "PAYROLL", "MISC"
FROM <Query defined in Datasource>
WHERE (
"YEAR_PARENT" = 'Qtr3' OR
"YEAR_PARENT" = 'Qtr4' OR
"YEAR_PARENT" = 'Qtr1' OR
"YEAR_PARENT" = 'Qtr2')
AND
"DIMENSION_PRODUCT" = '100'
AND (
"DIMENSION_MARKET" = 'Oregon' OR
"DIMENSION_MARKET" = 'California' OR
"DIMENSION_MARKET" = 'Washington' OR
"DIMENSION_MARKET" = 'Utah' OR
"DIMENSION_MARKET" = 'Nevada')
AND
"DIMENSION_SCENARIO" = 'Actual'
Mapare de generaţie, exemplul 1
Utilizarea mapării de generaţie pentru An, cu un filtru pentru generaţia denumită Trimestru,
Coloană externă | Includere în raport | Dimensiune Essbase | Filtru Gen/Lev |
---|---|---|---|
YEAR_PARENT | Y | An | Trimestru [generaţie] |
detalierea efectuată dintr-o intersecţie de celule va fi legată de generaţia specificată din An.
Detaliere din (Qtr2, Vânzări, Piaţă, Actual, Cola):
returnează un raport de detaliere filtrat după contextul generaţiei mapate pentru An, care este Trimestre. Deoarece Qtr2 este în contextul de grilă selectat, toate valorile extrase din coloana YEAR_PARENT din sistemul sursă vor fi înregistrări în care YEAR_PARENT = Qtr2.
Raportul de detaliere este validat, deoarece celula detaliată corespunde valorii (16048) pentru suma coloanei mapate în raportul de detaliere.
Interogarea utilizată de Essbase pentru generarea raportului de detaliere de mai sus este:
SELECT "DIMENSION_PRODUCT", "DIMENSION_MARKET", "YEAR_PARENT", "DIMENSION_SCENARIO", "SALES", "COGS", "MARKETING", "PAYROLL", "MISC"
FROM <Query defined in Datasource>
WHERE
"YEAR_PARENT" = 'Qtr2'
AND
"DIMENSION_PRODUCT" = '100-10'
AND (
"DIMENSION_MARKET" = 'Oregon' OR
"DIMENSION_MARKET" = 'New York' OR
"DIMENSION_MARKET" = 'Oklahoma' OR
"DIMENSION_MARKET" = 'California' OR
"DIMENSION_MARKET" = 'Florida' OR
"DIMENSION_MARKET" = 'Washington' OR
"DIMENSION_MARKET" = 'Utah' OR
"DIMENSION_MARKET" = 'Iowa' OR
"DIMENSION_MARKET" = 'New Mexico' OR
"DIMENSION_MARKET" = 'Massachusetts' OR
"DIMENSION_MARKET" = 'Texas' OR
"DIMENSION_MARKET" = 'Illinois' OR
"DIMENSION_MARKET" = 'Colorado' OR
"DIMENSION_MARKET" = 'Connecticut' OR
"DIMENSION_MARKET" = 'New Hampshire' OR
"DIMENSION_MARKET" = 'Missouri' OR
"DIMENSION_MARKET" = 'Louisiana' OR
"DIMENSION_MARKET" = 'Ohio' OR
"DIMENSION_MARKET" = 'Wisconsin' OR
"DIMENSION_MARKET" = 'Nevada')
AND
"DIMENSION_SCENARIO" = 'Actual'
Mapare de generaţie, exemplul 2
Continuând de la exemplul anterior, să explorăm ce se întâmplă la detalierea pe o dimensiune An la un nivel superior.
Detaliere din (An, Vânzări, Piaţă, Actual, Cola):
returnează un raport de detaliere filtrat după generaţia mapată Trimestre pentru An. Valorile extrase din coloana YEAR_PARENT din sistemul sursă vor fi Qtr1, Qtr2, Qtr3, şi Qtr4.
Raportul de detaliere este validat, deoarece celula detaliată corespunde valorii (62824) pentru suma coloanei mapate în raportul de detaliere.
Interogarea utilizată de Essbase pentru generarea raportului de detaliere de mai sus este:
SELECT "DIMENSION_PRODUCT", "DIMENSION_MARKET", "YEAR_PARENT", "DIMENSION_SCENARIO", "SALES", "COGS", "MARKETING", "PAYROLL", "MISC"
FROM <Query defined in Datasource>
WHERE (
"YEAR_PARENT" = 'Qtr3' OR
"YEAR_PARENT" = 'Qtr4' OR
"YEAR_PARENT" = 'Qtr1' OR
"YEAR_PARENT" = 'Qtr2')
AND
"DIMENSION_PRODUCT" = '100-10'
AND (
"DIMENSION_MARKET" = 'Oregon' OR
"DIMENSION_MARKET" = 'New York' OR
"DIMENSION_MARKET" = 'Oklahoma' OR
"DIMENSION_MARKET" = 'California' OR
"DIMENSION_MARKET" = 'Florida' OR
"DIMENSION_MARKET" = 'Washington' OR
"DIMENSION_MARKET" = 'Utah' OR
"DIMENSION_MARKET" = 'Iowa' OR
"DIMENSION_MARKET" = 'New Mexico' OR
"DIMENSION_MARKET" = 'Massachusetts' OR
"DIMENSION_MARKET" = 'Texas' OR
"DIMENSION_MARKET" = 'Illinois' OR
"DIMENSION_MARKET" = 'Colorado' OR
"DIMENSION_MARKET" = 'Connecticut' OR
"DIMENSION_MARKET" = 'New Hampshire' OR
"DIMENSION_MARKET" = 'Missouri' OR
"DIMENSION_MARKET" = 'Louisiana' OR
"DIMENSION_MARKET" = 'Ohio' OR
"DIMENSION_MARKET" = 'Wisconsin' OR
"DIMENSION_MARKET" = 'Nevada')
AND
"DIMENSION_SCENARIO" = 'Actual'
Exemplu de mapare de nivel 0
Utilizarea mapării nivel 0 pentru Piaţă cu un filtru pentru toţi membrii nivel 0 (frunză),
Coloană externă | Includere în raport | Dimensiune Essbase | Filtru Gen/Lev |
---|---|---|---|
DIMENSION_MARKET | Y | Piaţă | Level0 [nivel] |
detalierea efectuată dintr-o intersecţie de celule va returna toţi cei mai de jos membri pentru Piaţă.
Detaliere din (An, Vânzări, Piaţă, Actual, Cola):
returnează un raport de detaliere ce include cei mai de jos membri pentru dimensiunea Piaţă, care se întâmplă să fie Statele. Toate valorile extrase din coloana DIMENSION_MARKET din sistemul sursă vor fi înregistrări conţinând State.
Raportul de detaliere este validat, deoarece celula detaliată corespunde valorii (62824) pentru suma coloanei mapate în raportul de detaliere.
Interogarea utilizată de Essbase pentru generarea raportului de detaliere de mai sus este:
SELECT "DIMENSION_PRODUCT", "DIMENSION_MARKET", "YEAR_PARENT", "DIMENSION_SCENARIO", "SALES", "COGS", "MARKETING", "PAYROLL", "MISC"
FROM <Query defined in Datasource>
WHERE (
"YEAR_PARENT" = 'Qtr3' OR
"YEAR_PARENT" = 'Qtr4' OR
"YEAR_PARENT" = 'Qtr1' OR
"YEAR_PARENT" = 'Qtr2')
AND
"DIMENSION_PRODUCT" = '100-10'
AND (
"DIMENSION_MARKET" = 'Oregon' OR
"DIMENSION_MARKET" = 'New York' OR
"DIMENSION_MARKET" = 'Oklahoma' OR
"DIMENSION_MARKET" = 'California' OR
"DIMENSION_MARKET" = 'Florida' OR
"DIMENSION_MARKET" = 'Washington' OR
"DIMENSION_MARKET" = 'Utah' OR
"DIMENSION_MARKET" = 'Iowa' OR
"DIMENSION_MARKET" = 'New Mexico' OR
"DIMENSION_MARKET" = 'Massachusetts' OR
"DIMENSION_MARKET" = 'Texas' OR
"DIMENSION_MARKET" = 'Illinois' OR
"DIMENSION_MARKET" = 'Colorado' OR
"DIMENSION_MARKET" = 'Connecticut' OR
"DIMENSION_MARKET" = 'New Hampshire' OR
"DIMENSION_MARKET" = 'Missouri' OR
"DIMENSION_MARKET" = 'Louisiana' OR
"DIMENSION_MARKET" = 'Ohio' OR
"DIMENSION_MARKET" = 'Wisconsin' OR
"DIMENSION_MARKET" = 'Nevada')
AND
"DIMENSION_SCENARIO" = 'Actual'