2 ” Coming together is a beginning; Keeping together is progress; Working together is success” Henry Ford 1. Introducere Dezvoltarea elevată a… [614651]
2 ” Coming together is a beginning;
Keeping together is progress;
Working together is success”
Henry Ford
1. Introducere
Dezvoltarea elevată a calculatoarelor, a rețelelor, a bazelor de date de mari dimensiuni
și expansiunea din ce în ce mai mare a modelelor create și simulate cu ajutorul calculatoarelor
reprezintă o dezvoltare tehnologică ce duce la stimularea interesului f olosirii calculatorului ca
și suport pentru decizii. Sistemele suport pentru decizii strâng, organizează, interpretează și
integrează în mod automatic informațiile necesare pentru consilierea cu privire la cele mai
adecvate acțiuni pentru a da un răspuns diverselor exigențe strategice pe termen lung sau tactice
pe termen scurt.
O dată cu intrarea în era IoT (Internet of Things ), sistemele suport pe ntru decizii puse la
dispoziție:
– tind să folosească din ce în ce mai mult analiza în mod colaborativ a soluțiilor
oferind o participare activă tuturor decidenților, introducerea și vizualizarea
simultană a datelor, compatibilitate cu alte produse software prin producerea de
rezultate în format XML/JSON sau punând la dispoziție API (Application
Programming Interface);
– au o interfață web prietenoasă datorită noilor tehnologii pe parte de client (jQuery,
React, etc.), cu capacitate de vizualizări personalizabile ce permit folosirea de
funcționalități ca și crearea de grafice drag&drop și manipularea lor, form atarea
textului, a culorilor, dispoziția graficelor în raport cu restul elementelor din spațiul
de lucru
– au capacitatea de cloud computing – închirierea online a infrastructurii necesare
pentru rularea unui software, inclusiv plata licențelor pentru programe. Este un mod
3 avantajos și dinamic de configurare a infrastructurii, alocare de resurse pentru
aplicații, partajare informații.
În această lucrare vreau să pun ctez importanța sistemelor suport pentru decizii ce pun la
dispoziție un mediu colaborativ pentru coordinarea și partajarea datelor în rândul gr upurilor de
lucru.
În ceea ce urmează, voi încerca să analizez sistemele suport pentru decizii, dând mai
întâi o definiție a acestora și a diverșilor actori implicați în cadrul acestor sisteme, a tipologiilor
de sisteme suport pentru decizii, iar apoi voi continua cu o trecere în revistă a modulelor
existente pentru integrarea analizei decizionale de tip colaborati v.
Ca ș i aplicație practică voi exemplifica folosirea produsului Microsoft Power
BI/DataZen Dashboard în vederea analizării datelor ”culese” din bazele de date operaționale și
salvate în bazele de date de tip warehouse pentru o firmă italiană ce procesează date cu caracter
fiscal pentru persoane fizice prin folosirea c uburilor OLAP și rezultatele obținute pe parcursul
perioadei 2016 -2017 precum și influența acestui rezultat asupra deciziilor manageriale de tip
colectiv .
4 2. Definiții ale Sistemelor suport pentru decizii
De mai bine de 40 de ani cercetătorii se ocupă cu crearea de modele analitice si sisteme
pentru suportul deciziei. Totul a început la sfârșitul anilor 60 odată cu apariția modelelor pentru
sistemele suport pentru decizii continuând cu dezvoltarea teoriei î n anii 70 și implementarea
acestora în cadrul sistemelor financiare și a sistemelor suport pen tru decizii de grup în anii 80
(Power, 2007) .
2.1. Decizia
Unul dintre conceptele bază a sistemelor suport pentru decizii este evident decizia. Dacă
luăm în considerare definiția propusă de DEX, decizia se definește astfel:
”Hotărâre luată, soluție adoptată (dintre cele mai multe posibile); rezoluție;
Teoria deciziilor = ramură a matematicii cu aplicații în economie și
conducere, bazându -se pe metode statistice. Arbore (tabelă) de decizie =
instrument matematic pentru analiza situațiilor și luarea deciziilor
corespunzătoare condițiilor concrete existente. Act obligatoriu, normativ,
prin care un organ conducător stabilește direcția unei acțiuni și modul ei de
realizare. Atribut principal al actului de conducere, decizia poate f i:
economică, social -politică, juridică, administ rativă, tehnică, militară, etc.”
(Mâciu, M., Nicolescu, N.C., Șuteu, V., 1986)
În (Bonczek, R.H., Holsapple, C.W., Whinston, A.B., 1984) se dă o altă definiție
importantă a deciziei:
”Rezultatul unui tip particular de prelucrare a informațiilor, care constă în
alegerea unui plan de acțiune”
Dacă analizăm această definiție, în simplitatea ei, constatăm cuvintele cheie: prelucrare de
informații, plan de acțiune. Acțiunea de decidere, rezultatul dorit, este de fapt alegerea planului
de acțiune.
Dacă trebuie luată o decizie, înseamnă că există o problemă inițială. Această problemă
apare da torită schimbării unei situații critice sau necritice într -un mediu. De exemplu alocarea
de resurse sau materii prime într-un proces de fabricație, alocarea sau dealocarea de resurse
umane dintr -o întreprindere.
Persoana sau grupul de persoane care iau o decizie se numesc decidenți , iar procesul
care duce la luarea decizi ei de către decidenți în literatura de specialitate apare sub numele de
proces decizional . Decidentul sau grupul de decidenți au o autoritate confirmată pentru luarea
unei decizii , gândindu -ne la un grup de persoane sau o persoană recunoscută și împuterni cită
5 de către organizație . În funcție de numărul de decidenți putem spune că avem de -a face cu o
decizie individuală sau de grup. Analizând chiar această simplă definiție a deciziei, se poate
înțelege că rolul decidenților este de a alege din mai multe sol uții alternative posibile pentru o
problemă, soluția cea mai corectă ținând cont de toate variabilele de intrare ale problemei
respective în acel moment.
2.2. Definiții sistemelor suport pentru decizii
Pentru a putea înțelege mai bine complexitatea unui sistem suport pentru decizii, am
colecționat diversele definiț ii date la apariția lor. Deoarece conceptul unui astfel de sistem este
foarte vast, definiția acestuia variază în funcție de punctul de vedere al fiecărui autor.
În anii '70, M.S. Scott definește SSD -urile astfel: Sistemele suport de decizie, numite și
sisteme de asistare a deciziei , sunt sisteme informatice interactive care, prin intermediul
modelelor de decizii și a bazelor de date specializate, oferă informații pentru asistarea
managerilor în adopt area de decizii nestructurate sau semistructurate. Obiectivul unui SSD este
acela de a pregăti decizia.
Următoarele definiții sunt preluate din cursul ”Modelarea Deciziilor Economico –
Financiare” a prof. dr. Ion Dobre și prof. dr. Adrian Victor Bădescu apă rut în 2002 la Academia
de Studii Economice, Facultatea de Cibernetică, Statistică și Informație Economică:
” În 1970 Little definește DSS -ul ca "un set de proceduri bazate pe modele
elaborate pentru a procesa date și a lua decizii, cu scopul de a asista
managerul în luarea deciziilor. Un SSD trebuie să fie simplu, robust, ușor de
întreținut, adaptiv, ușor de com unicat cu el etc.". Atributele descrise de Little
sun valabile și astăzi.
În 1980 More și Chang afirmă că abordarea structurată prezentă în primele
definiții ale DSS -ului nu își are rostul într -o viziune generală. Ei susțin că o
problemă ar fi clasificată ca structurată sau nestructurată numai privind din
unghiul celui ce ia decizii în particular (deciziile structurate sunt structurate
pentru că noi am ales să le tratăm așa). Astfel, ei au definit DSS -urile ca fiind
sisteme ce pot fi extinse, capabile să r ealizeze ad -hoc analiza datelor, precum
și modele de decizie orientate către o planificare viitoare.
În 1980 Bonczek definește DSS-ul ca fiind un sistem bazat pe
computer alcătuit din 3 componente care interacționează : un limbaj al
sistemului n ecesar comunicării dintre utilizator și DSS; un sistem de
cunoștințe ; și un sistem de rezolvare a problemelor care constituie legătura
dintre celelalte două sisteme anterioare.
6 În 1980 Keen atașează termenul de DSS " situațiilor unde se poate
dezvolta un sistem final numai prin intermediul unui proces de învățare și
inovare".
Astfel, el definește DSS-ul ca un produs al procesului de dezvoltare
unde utilizatorul, realizatorul și sistemul suport de decizie însuși se
influențează recipro c, aceasta ducând la evoluția sistemului și la anumite
modalități de folosire a sa.
Aceste definiții, aproape fără excepție, ignoră obiectivul central în DSS și
anume "susținerea și îmbunătățirea procesului de luare a deciziilor". În cele
mai recente defin iții, atenția pare să fie îndreptată mai mult asupra intrărilor
decât asupra ieșirilor. O cauză a acestei tendințe este dificultatea măsurării
rezultatelor DSS (cum ar fi aprecierea calității deciziilor). ” (Dobre, I.,
Bădescu, A.V., 2002)
7 3. Procesul decizional
Principalul scop a unui Sistem suport pentru decizii este acela de a permite extragerea,
în timpul cât mai scurt și în mod flexibil, dintr -o cantitate enormă de date doar informațiile ce
servesc la îmbunătățirea procesului decizional. În primul rând este nevoie de separarea datelor
generate de operațiunile de gestiune (aflate în bazele de date operaționale) de datele utile
proceselor decizionale (aflate în bazele de date de tip warehouse – depozit e de date) . Depozitul
de date trebuie să conțină o versiune optimizată pentru analiză a datelor existente în baza de
date operațională. Astfel datele trebuie să fie memorizate pe nivele de agregare diferite și
adecvate. Decidentul trebuie să poată analiza conținutul depozitului de date în timp real, din
anumite puncte de vedere și la anumite nivele de agregare. Această analiză a datelor face parte
din procesul decizional.
Un proces decizional are mai multe faze:
1. Definirea și înțelegerea problemei
2. Găsirea diverselor soluții
3. Evaluarea și alegerea unei alternative.
4. Execuția deciziei aleasă
5. Controlul rezultatelor și corectarea acțiunii.
Înainte de a găsi soluția unei probleme este indispensabilă definirea problemei. Problem
setting este arta de a defini o pro blemă și este faza înainte de problem solving ce de obicei este
considerat ca element principal într -un proces decizional deoarece pune în evidență momentul
rezolvării problemei. În realitate soluția unei probleme este un proces constituit din anumite
părți iar problem setting este elementul de bază a procesului.
În general, în cadrul organizațiilor se regăsesc două tipuri de decizii: de tip structurat ce
sunt cele uzuale și sunt bine definite și cele de tip nestructurat ce se referă la situații
imprevizibi le sau noi sau la situații complexe. Deciziile structurate sunt de obicei deja sculptate
în patrimoniul informativ și operativ ale organizațiilor pe când cele nestructurate sunt mai dificil
de plasat în sisteme informatice din cauza naturii lor ocazionale.
8 4. Componentele unui Sistem suport pentru decizii
Un sistem suport pentru decizii este alcătuit din:
1. Subsistem de management de date : acesta include depozitul de date ce conține datele
importante pentru decizii și software -ul pentru gestiunea depozitului de date.
2. Subsistem de management a modelului : este un pachet software ce conține modelele și
software -ul pentru gestionarea modelelor. Acesta reprezintă inima analitică a
sistemului. Modelele permit descrierea realității compl exe a problemei. Pe lângă
construirea modelelor, trebuie puse la dispoziția utilizatorului și instrumentele pentru
testarea modelelor sau pentru efectuarea de simulări.
3. Subsistemul de management a dialogului : este subsistemul care gestionează
comunicarea d intre utilizator și sistem. Acesta trebuie să garanteze simplitatea de
folosire a sistemului prin intermediul de meniuri și comenzi intuitive.
De multe ori, pentru denumirea sistemelor suport pentru decizii se mai folosește și numele de
Business Intelligence (BI). O soluție de BI prevede folosirea următoarelor componente
1. Data Warehouse (depozit de date) – este o bază de date optimizată ce conține datele
necesare pentru procesul decizional. Conține atât datele din baza de date operațională
(de care este separată) cât și date din exterior.
2. OLAP (Online Analytical Processing) – sunt siste me software ce permit decidentului să
analizeze datele în timp real, din diferite puncte de vedere (analiză multidimensională)
și la diferite nivele de agregare
3. EIS (Executive Information System) – este un sistem născut din necesitatea de furnizare
deciden ților mai puțin experți un instrument în stare să conducă o analiză pre
confecționată pe datele operaționale având o interfață grafică mai simplă și intuitivă
decât un sistem OLAP dar fiind totodată mai puțin flexibil deoarece nivelele de agregare
a datelo r sunt predefinite și non configurabile .
4. Data Mining – sau mineritul de date, este activitatea de detec tare și extragere de
informații cum ar fi relații și asociații între date, necunoscute utilizatorului de la început.
Principalele tehnici utilizate pent ru data mining includ rețelele neurale, algoritmii de
clustering și algoritmii genetici.
9 5. Tipologia sistemelor suport pentru decizii
Se pot distinge mai multe criterii de clasificare a SSD -urilor:
1. In funcție de datele și managementul modelelor:
a. Orientat către datele pe care le prelucrează pentru informarea decidenților
b. Orientat către modelele cu care operează
2. In funcție de destinație:
a. Dedicate unui anume domeniu; spre exemplu militar, tehnic, etc.
b. Generatoare de sisteme SDD dedicate
c. Instrumente pentru evo luția SDD dedicate și generatoare
3. In funcție de modalitatea de interacțiune om -sistem :
a. Cu comenzi precise
b. Cu limbaje flexibile
4. In funcție de modul de instruire:
a. Inteligente – rezolvă prin analogie situații decizionale noi
b. Neinteligente – rezolvă doar situațiile pentru care au fost proiectate.
10 6. Clasificare Sistemelor suport pentru decizii
Încă de la începutul apariției sistemelor suport pentru decizii, cercetătorii au încercat să
le clasifice. Astfel deja din anii 70 se vorbea de sisteme suport pentru decizii mono -utilizator,
de grup sau la nivel organizațional.
În 1980, Steven Alter propune o clasificare în funcție de impactul pe care îl au rezultatele
date de către sistem asupra deciziei. Astfel se pot distinge 2 subgrupe mari de sisteme suport
pentr u decizii :
1. SSD orientate pe date – cuprind următoarele tipuri de sisteme:
a. File Drawer Systems – folosite pentru interogarea datelor și crearea de
rapoarte
b. Data Analysis Systems – analiza și raportarea datelor istorice și curente.
c. Analysis Information Syst ems – asigură accesul la baze de date de tip
warehouse folosite cu scopul ajutorării procesului decizional. Cuprinde și
sistemele de tip OLAP
2. SSD orientate pe modele – cuprind următoarele tipuri de sisteme:
a. Accounting and Financial Models. – cuprinde mode le de tipul ”what -if”
b. Representational Models – cuprinde modele de simulare
c. Optimization Models – cuprinde modele de găsirea soluției optime
d. Suggestion Models – cuprinde modele care au ca rezultat sugestia deciziei
de luat.
În cadrul lucrării ”Sisteme suport pentru decizii” (2004) , Florin Gh. Filip face următoarea
clasificare a SSD -urilor (Filip, 2004) :
”a) În funcție de tipul decidentului:
i. SSD individual (personal) – SSDI, folosit de o persoană pentru a -și
realiza propri ile sarcini legate de elaborarea și adoptarea deciziilor;
ii. SSD de grup – SSDG, menit să asiste mai mulți indivizi cu poziții de
autoritate similare, care au de luat în anumite momente decizii colective (co –
decizii);
11 iii. SSD de organizație – SSDO, are c a menire facilitarea luării acelor
decizii care antrenează participanți aflați pe niveluri ierarhice diferite.
b) După tipul de suport:
i. SSD de asistare pasivă. Sistemul este folosit de către utilizator numai
ca un “instrument de creștere a productivității ” prin realizarea mai rapidă
si comodă a unor operații pe care le -ar fi executat manual sau cu ajutorul
altor produse informatice;
ii. SSD de asistare tradițională . Sistemul are menirea de a acționa ca
un asistent decizional care evaluează e fectul alternativelor propuse de
decident;
iii. SSD de suport normativ. Sistemul se comportă ca un “consilier
informatizat”, care furnizează soluții prin aplicarea modelelor matematice
de optimizare computerizată sau a tehnicilor de inteligentă artificială asupra
datelor problemei;
iv. SSD de suport în cooperare. Cooperarea se poate realiza între om
și sistem sau între mai mulți participanți la elaborarea deciziei.
v. SSD de suport extins. Sistemul joacă rolul unui “consultant
proactiv” prin încercarea de s timulare a unor noi abordări și delegarea de
funcțiuni suplimentare către sistem, păstrând însă prioritatea judecății
umane.
c) După orientarea sistemului:
i. SSD orientate către date – SSDODa. Componenta tehnologică
dominantă este aceea a gestionării unui mare volum de date structurate.
ii. SSD orientate către modele – SSDOM. Se folosesc modele
matematice de simulare și optimizare.
iii. SSD orientate către cunoștințe – SSDOCu. Mai poartă numele și de
SSD expert sau inteligente și folosesc la bază tehnologi ile de inteligență
artificială.
iv. SSD orientate către comunicații – SSDOCo. Au drept componentă
tehnologică dominantă subsistemul de comunicații bazate pe calculator de
tip intranet și extranet.
v. SSD orientate către documente – SSDODo. Urmărește colect area,
gestiunea și regăsirea resurselor informaționale de tipul documentelor
nestructurate (inclusiv pagini web, imagini, video, sunet etc.).” (Filip, 2004)
În literatura de specialitate, (Power, 2007) , Sistemele suport pentru decizii documente
se mai numesc și sisteme suport pentru decizii bazate pe web.
12 Pe lângă această clasificare detailată, valabilă și astăzi, se mai poate vorbi de o nouă
categorie de sisteme suport pentru decizii, și anume sisteme suport pentru decizii bazate pe
cloud computing . Aceste sisteme se comportă asemănător cu cele bazate pe web, dar folosesc
”norișorii” închiriați pentru gestiunea în mod dinamic a infrastructurii, a licențelor, a resurselor,
a stocării datelor. Acest tip de sistem devine din ce în ce mai apreciat deoarece are ca principal
avantaj gestiunea dinamică a tuturor resurselor necesare, fie acestea de infrastructură sau de
resurse.
6.1. Sistemele suport pentru decizii bazate pe comunicații
Categoria de sisteme sup ort pentru decizii de care mă voi ocupa în continuare în această
lucrare este cea a sistemelor suport pentru decizii bazate pe comunicații pentru luarea deciziilor
în grup. Aceste sisteme sunt un hibrid între sistemele suport pentru decizii și tehnologiile
realizate pentru facilitarea comu nicării între grupurile de decidenți .
Una di caracteristicile esențiale ale unui astfel de sistem este dată de capacitatea
sistemului de a lăsa libertate decidentului de a se folosi de sistem chiar dacă nu este în timpul
cooperării cu ceilalți decidenți. Astfel, sistemul este responsabil de unificare a tuturor părerilor
decidenților care folosesc sistemul în momente diferite și prezentarea acestora celorlalți
decidenți care fac parte din grup. Dacă toți participanții la procesul decizional sunt prezenți în
același arc temporal, sistemul trebuie să pună la dispoziție și module de comunicație cum ar fi
videoconferința, partajarea de ecrane, partajarea de documente, etc.
6.2. Cuburi OLAP, Power BI și Data zen
Cuburile OLAP sunt structuri de date folosite pentru analiza rapidă a datelor. Cu ajutorul
acestor stru cturi se depășește limitarea bazelor de date relaționale în extragerea datelor pentru
analiză, putând agrega o cantitate mare de date chiar în timp ce utilizatorul sistemului execută
alte operații de analiză pe același set de date. Topologia unui sistem ca re conține cuburi OLAP
multidimensionale este dată în figura de mai jos (TechNet Microsoft, 2016) .
Datele din cubul OLAP pot fi conținute atât în formă agregată cât și neagregată.
Rapiditatea extragerii datelor cu ajutorul cuburilor OLAP se face mai ales pentru că o parte din
date este regăsită în format agregat. Utilizatorul are percepția de răspuns instantaneu al
sistemului deoarece o parte din date este precalculată.
13
Figură 1 Topologia unui sistem cu cub OLAP (TechNet Microsoft, 2016)
Dimensiunile cubului permit filtrarea, gruparea și etichetarea datelor. Din (TechNet
Microsoft, 2016) se poate vedea un exemplu de cub ce conține ca și dimensiuni următoarele
proprietăți: Data, Regiunea și Produs:
Figură 2 Exemplu de cub (TechNet Microsoft, 2016)
Power BI este soluția propusă de către Microsoft pentru stratul de prezentare pe parte
client a analizelor de date făcute prin intermediul SSAS (Sql Server Analysis Service) .
Principalele unelte puse la dispoziție de PowerBI sunt următoarele:
– Power query – pentru extragerea de date și transformarea lor
– Power Pivot – pentru modelarea și analizarea datelor
– Power View și Map – pentru vizualizarea datelor.
– Power BI Designer – ajută la folosirea celor 3 instrumente descrise mai sus pentru
a crea în mod rapid și ușor interfețe pentru rapoarte, statistici, etc.
În (Schaeffer, 2016) autorul enumeră avantajele și dezavantajele acestui instrument propus de
Microsoft, dintre care amintesc:
Avantaje:
Ușor de configurat, cu intervenție minimă din parte IT.
14 O dată avută configurarea cone xiunii la o bază de date, pune în mâna analiștilor
posibilitatea de a adăuga noi măsuri sau dimensiuni de analiză fără a cere intervenția
departamentului de business intelligence.
Limbajul de scripting DAX este simplu de construit fiind foarte asemănător cu
formulele Excel
Există o versiune gratis care ajută la răspândirea sa în lumea BI
Produsul este actualizat foarte frecvent cu noi funcționalități
Partea de întrebări și răspunsuri este foarte detaliată
Dezavantaje:
Rapoartele și statisticile pot fi partajate doar cu utilizatori ce au adresa de mail cu același
domeniu (Office 365 sau altul)
Nu poate accepta fișiere mai mari de 250 MB
Elementele create cu PowerBI nu pot accepta ca și parametrii de intrare numele
utilizator, parola sau alți parametrii d espre entități. Din acest motiv nu se pot crea
borduri doar pentru un anumit cont.
Folosind conexiunile în timp real, permite produsului să folosească doar o singură
conexiune.
DataZen este o colecție de aplicații web și Windows care permite următoarele (DataZen, 2014) :
Se comportă ca un depozit pentru stocarea și distribuirea dashboardurilor și a
indicatorilor de performanță KPI
Execută achiziția și păstrarea în cache a datelor dashboardurilor în timp real permițând
și inter ogări parametrizate. Datele în cache pot avea până la 100000 de rânduri și permit
dashboardurilor să fie accesibile și în modul offline
Securizează datele și dashboardurile
Include un modul de colaborare punând la dispoziție un chat între membrii care au
permisiunea de a vedea rapoartele și statisticile.
15 Furnizează un panel de control administrativ pentru mentenanța publicărilor .
Suportă seturi de date multiple ce pot fi personalizate
16
7. Configurațiile standard ale unui Sistem suport pentru decizii
În func ție de integrarea componentelor în cadrul unui SSD, putem avea următoarele
tipuri de configurații:
7.1. Rețea de Sisteme suport pentru decizii
Este configurația cea mai adaptabilă pentru integrarea de componente. În aceasta,
diversele componente nu sunt localizate într -un singur calculator sau sistem informatic ci într –
o rețea de sisteme. Problema de bază în acest caz este necesitatea creării unei interfețe între
diversele componente (Figura 1.) . De fapt, în general, aceste componente nu se nasc special
pentru SSD ci sunt integrate pe rând. Folosind această configurație, se facilitează crearea SSD,
se obține o mai mare flexibilitate și posibilitatea actualizării componentelor fără a lucra pe
întregul SSD. Pe de altă parte însă este necesară crearea de com ponente de dialog multiple și
se poate ajunge la o degradare a performanțelor din cauza conflictului și a adăugării în coada
de execuție a fluxului de date din sistem.
Figură 3 Structura SSD rețea
17 7.2. Sistem suport pentru decizii bridge (punte)
Pentru reducerea numărului de interfețe, se realizează o singură componentă interfață
pentru componentele de dialog, de modelare locală și de baze de date. Puntea ajută la folosirea
unui unic tip de dialog cu sistemul (Figura 2.) .
Figură 4. Structura SSD bridge
7.3. Sisteme suport pentru decizii sandwich
Ca și în cadrul SSD bridge, avem o singură interfață și o singură componentă baze de
date. Între acestea sunt mai multe modelatoare. Astfel de sisteme au dezav antajul de a integra
extrem de anevoios datele externe. Pe lângă aceasta, sistemele de dialog foarte generale reduc
eficiența SSD -ului.
18
Figură 5 Structura SSD sandwich
7.4. Sisteme suport pentru decizii tower ( turn)
E un sistem foarte complex ce înglobează configurațiile precedente. O componentă
foarte mare este aceea a bazei de date dar pe lângă bazele de date conține un modul de extragere
a informațiilor ce conțin componente decizionale. Opus acestei componente avem componenta
de dialog ce conține componente decizionale pentru interfața mașină -utilizator. Între aceste
două componente avem componentele modelatoare. Acestea nu trebuie să opereze în mod
simplist cu datele de o parte și cu cererile de altă parte, ci medi ază cererea utilizatorului cu
rezultatul sistemului de extragere ce îmbogățește informația înainte de a o modela.
19
8. Module existente pentru aplicarea proceselor de colaborare în cadrul
sisteme lor suport pentru decizii bazate pe comunicații
Piața mondială de software pune la dispoziție un număr destul de mare de aplicații suport
pentru aplicarea procesului de colaborare în interiorul unui sistem suport pentru decizii. Dintre
acestea putem aminti:
– BITeamwork – modul dezvoltat pentru Oracle BI
– Datazen – modul dezovoltat pentru SSAS și PowerBI (Microsoft)
– Altova MetaTeam
– Comparion
– Fingertip Ltd
– 1000Minds
– D-Sight
– IBM Cognos (Optional add on)
– Intelligent Decision System (IDS)
– Yellowfin Business Intelligence
– indyna™ intelligence dynamics
– SAPStreamWork – modul dezvoltat de SAP și inclus în sistemele SAP
În urma unui studiu realizat de (Institute for Operations Research and the Management
Sciences, 2016) în octombrie 2016 , în tabelul următor avem care sunt modulele care pot fi
integrate într -un sistem suport pentru decizii bazat pe comunicații și facilitățile pe care le oferă :
20
21 9. Aplicație practică : modul de rapoarte și statistici inclus într -un sistem
suport de decizii
În vederea exemplificării importanței sistemelor suport pentru decizii în cadrul unei
firme, am ales grupul italian CGN ce se ocupă cu ”ajutarea ” consultanților financiari de a -și
îndeplini sarcinile față de clienții lor. În acest scop, pune la dispoziția consultanților fiscali pe
de-o parte asistență fiscală (incluzând și cursuri de formare fiscală) telefonică sau telematică și
pe de altă parte o serie de produse software care să îi ajute în completarea părții contabile pentru
diversele firme sau PFA clien t și în completarea diferitelor formulare fiscale pe parte de
impozite, taxe pentru colaboratori, etc. CGN este o firmă lider în acest domeniu în Italia fiind
prezentă pe piața italiană de mai bine de 20 de ani, are 300 de colaboratori dintre care 50 sunt
colaboratori externi (reprezentanții regionali ai firmei) și în jur de 10000 de clienți consultanți
fiscali .
An după an au reușit să acapareze toate regiunile Italiei, în acest moment având
reprezentanți regionali în toată Italia . Având o astfel de extind ere, cu timpul s -a simțit nevoia
implementării unui sistem suport pentru decizii. La începutul anilor 2000 (când grupul era
format din 30 de persoane), era de ajuns un sistem suport pentru decizii de tip individual orientat
pe date , managerul companiei fiind singurul decident în ceea ce privește soarta grupului CGN
in funcție de datele primite de la echipa de business intelligence (BI) al grupului .
O dată cu creșterea grupului, crearea de noi echipe pe parte de dezvoltare software,
marketing, asistență pentru clienți, elaborarea de cursuri de formare pentru clienți, răspândirea
din ce în ce mai mare a firmei pe teritoriul Italiei, s -a simțit nevoia de o îmbunătățire a sistemului
suport pentru decizii care nu mai corespundea noilor c erințe. Astfel s -a adoptat implementarea
un SSD de grup orientat către comunicații. S -a ales acest model deoarece pe lângă decidentul
principal, managerul grupului, au apărut și alte categorii de decidenți, cum ar fi reprezentanții
teritoriali ce nu sunt p rezenți în sediul central al grupului. Sistemul este realizat ”în casă”, de
către echipa BI cu care am avut onoarea să colaborez pentru o perioadă de vreme. Este un sistem
modular de tip rețea, căruia i se adaugă noi componente în funcție de necesități.
Tehnologiile folosite pentru implementarea tuturor soluțiilor puse la dispoziție de către
grup sunt tehnologii Microsoft sau compatibile Microsoft, pornind de la diversele servere
folosite, până la baze de date relaț ionale și limbaje de programare (.Net fra mework începând cu
versiunea 3.5 – 4.6.)
22 Fiecare serviciu pus la dispoziția clienților are la bază cel puțin o bază de date relațională
sau non relațională, în funcție de necesitățile serviciului. Aceste baze de date operaționale
actualizează în fiecare n oapte un data warehouse ce constituie baza sistemului suport pentru
decizii. Astfel acest sistem este alcătuit din:
– Un data warehouse actualizat prin interogări punctate pe bazele de date operaționale .
Acesta conține atât datele actuale detaliate cât și d atele istorice de detaliu și date
agregate pentru realizarea de rapoarte și simulări în timpul cât mai scurt.
– Un subsistem de tip OLAP realizat prin intermediul serviciului Microsoft SQL
Server Analysis Service (SSAS) și stratul de prezentare realizat cu ajutorul
serviciului de analiză Power BI / DataZen Dashboards
– Un subsistem utilizat pentru realizarea de videoconferințe și partajare de ecran,
documente, vizualizare rapoarte.
– Un subsistem pentru căutarea de i nformații în baza de date de cunoștințe
Sistemul are mai multe grade de acceptare a decidenților, putând fi configurat în funcție
de rolul pe care îl are decidentul. De exemplu, decidentul ce este reprezentant teritorial nu are
acces la partea de simulări , statistici și rapoarte pentru toate regiunile Italiei, ci doar pentru
regiunea sa.
Deciziile pe care singurul decident pe parte de regiuni le ia sunt colectate într -o bază de
date de cunoștințe ce este monitorizată de decidenții cu rol superior iar peri odic se convoacă o
ședință de grup împreună cu decidenții dintr -o anumită regiune în baza deciziilor luate.
Baza de cunoștințe este actualizată continuu nu doar pentru a ține istoricul ci și pentru a
fi un punct de plecare pentru ceilalți decidenți mai pu țin experți.
Pentru căutarea în baza de date de cunoștințe s -a folosit indexarea prin ElasticSearch
ce este un motor de căutare bazat pe Lucene (de la Apache) pentru căutare full text foarte rapidă
în baze de date de mari dimensiuni .
Pe viitor această bază de cunoștințe se dorește a fi utilizată și pentru implementarea de
module cu inteligență artificială cum ar fi recunoașterea vocală a textului și căutare automată
sau crearea de module ce oferă sugestii automate pentru o problemă propusă /apărută .
O parte dintre m odulele sistemului suport pentru decizii sunt următoarele (mă refer la
rapoarte și statistici prezente în sistemul suport pentru decizii):
23 – Audit al calității documentelor intern și extern
– Evenimente de formare – statistici pe numărul de partic ipanți la evenimente și
rapoarte pe gradul de satisfacere a participanților în baza chestionarelor completate
pe parcursul evenimentelor și numărul clienților fidelizați în urma evenimentelor
organizate . Deciziile efectuate în baza acestor rapoarte și stat istici influențează cota
din premiul de producție pe care o primește departamentul ce se ocupă cu
organizarea acestor evenimente.
– Asistență clienți – statistici pe baza numărul de telefoane primite, a numărului de
întrebări telematice la care s -a răspuns, a gradului de satisfacere a clientului pe baza
sistemului de votare pentru asistentul cu care a vorbit. Aceste departament este
considerat cu o dublă sarcină: asistarea clienților prin telefon și asistarea clienților
în mod telematic. Deciziile efectuate în baza acestor rapoarte și statistici
influențează cota din premiul de producție pe care o primește departamentul ce se
ocupă cu asistarea clientului. Dar nu numai. Întrebările efectuate de către clienți,
salvate într -o bază de date, ajută la crearea și de simulări și statistici pentru vederea
gradului de cunoștință a domeniului de către clienți. Astfel deciziile pe această parte
sunt și pentru ajutorar ea departamentului ce organizează evenimente formative.
– Performanță departament programare – sunt folosite rapoarte pe baza numărului
de ”bug -uri” găsite după publicarea unei versiuni stabile a unei aplicații, și rapoarte
în funcție de numărul de noi funcționalități introduse în versiunile aplicațiilor și a
timpilor necesari pentru modificarea funcționalităților deja existente sau crearea de
noi funcționalități . Aceste rapoarte influențează decizia luată de către consiliul
firmei împreună cu departamentul de resurse umane și conducerea departamentului
de programare pentru angajarea de noi resurs e sau mutarea resurselor existente de
pe un proiect pe altul, dar și pentru crearea de module de formare profesională pentru
resursele departamentului.
– Pentru departamentul de resurse umane au fost create următoarele module:
o Analiza pe regiuni
o Monitor reprezentanți regionali
o Monitor transmisii declarații fiscale
o Statistici cereri pentru declarații fiscale
24 o Analiză pe arie de declarații fiscale
o Report buget reprezentanți regionali
o Report întâlniri de afaceri
o Report tratative realizate
– Pentru consiliul de management sunt făcute (pe lângă cele prezentate anterior) și
următoarele module:
o Vânzări externe și interne a serviciilor oferite
o Tendința pe ultimii ”n” ani a declarațiilor fiscale transmise prin serviciile
oferite
o Tendința numărului de clienți pe ultim ii ”n” ani
o Analiza multidimensională folosind cuburi OLAP a tuturor departamentelor
grupului .
Aportul pe care l -am adus în cadrul acestui sistem de decizii a fost crearea părții de
vizualizare rapoarte pentru tendința pe ultimii 2 ani a transmisiei a 2 ti pologii de declar ații
fiscale (modelul 730 și modelul ISEE) prin serviciile oferite de grup. Rapoartele sunt realizate
pe baza datelor istorice și actuale prezente în data warehouse.
Pagina de start a aplicației web arată astfel:
Figură 6 Pagina de start a aplicației
25 După cum se observă în figura 4, avem câteva elemente cheie vizuale pentru a identifica
cât mai rapid tendința de transmitere a declarațiilor fiscale. Este vorba despre cele 3 cadrane de
culoare galbe nă, verde și roșu. Informațiile conținute au fost obținute cu ajutorul indicatorilor
KPI ( Key Performance Indicator ) creați cu ajutorul instrumentului Power Pivot pus la
dispoziție de PowerBI. Detaliul acestora este:
– Cadranul galben l -am folosit pentru indicatorul KPI: număr modele 730 în stare
Completate dar nu transmise pentru anul curent 2017
– Cadranul verde este folosit pentru următorul indicator KPI: numărul de modele 730
ce au fost deja Transmise și au un răspuns pozitiv al transmiterii pe anul 2017
– Cadranul roșu este folosit pentru indicatorul KPI: număr modele 730 Transmise și
au un răspuns pozitiv al transmiterii pentru anul 2016
PowerBI pune la dispoziție o interfață prietenoasă pentru crearea de rapoarte pe baza
diferitelor query iar rezultatul salvat este un document cu format XML și cu extensia .rsd. În
figura de mai jos este dat rezultatul salvat a celor 3 cadrane ale indicatorilor KPI:
Figură 7 Codul XML al raportului pentru indicatorii KPI
Dacă analizăm documentul XML din Figura 5, putem observa că pentru crearea acestui
raport PowerBI are nevoie de conexiunea la o sursă de date (definit prin tag -ul
26 DataSourceReference ) și de efectiva query pen tru extragerea datelor (definit prin tag -ul
CommnadText ) . După impostarea celor două tag -uri pentru extragerea datelor, se definesc
câmpurile de vizualizat, ținând cont de numele coloanelor folosite în corpul interogării, și tipul
de date a fiecărui câmp. Fiecare tag field are un atribut Name.
În partea de jos a paginii de start se află accesul și la alte 2 pagini de detalii pentru cele
2 modele luate în considerare (modelul 730 și modelul ISEE) . În continuare le voi analiza pe
rând:
1. Report tendințe pentru modelul 730:
Figură 8 Tendința pentru modelul 730
Această interfață dashboard este realizată și publicată cu a jutorul modulului DataZen
integrat în Mobile Reporting Services 2016 pentru versiunea Enterprise a SQL Server 2016 .
Despachetând soluția dashboardului, aceasta are următoarea structură:
Figură 9 Structura unui dashboard creat cu DataZen
27 Datele de intrare pentru dashboard pot fi rezultate query sau rez ultate sub formă de
fișiere JSON .
Fișierul definition.xml conține definirea tuturor obiectelor dashboardului, de la
parametrii dashboardului , a elementelor folosite (spre exemplu TimeNavigator, tipuri de
grafice, etc.) până la poziția elementelor și configurația layout -ului. Ca și exemplificare, în
tabelul de mai jos am pus selectiv câteva elemente definite ale dashboardului
Tabel 1 Extras din fișierul definition.xml
<DatazenDashboard Version ="1.0.3737.0" >
<DashboardTitle> 1900 Andamento 730 </DashboardTitle>
<DashboardGroup></DashboardGroup>
<DashboardTexture></DashboardTexture>
<DashboardStyle> Custom </DashboardStyle>
<DashboardAccent> False </DashboardAccent>
<Currency> EUR </Currency>
<FiscalMonthOffset> 0</FiscalMonthOffset>
<Fisc alDayOffset> 0</FiscalDayOffset>
<FirstDayOfWeek> Monday </FirstDayOfWeek>
<EffectiveDate></EffectiveDate>
<EnableDataCaching> True </EnableDataCaching>
<EncryptServerData> False </EncryptServerData>
<DashboardParameters>
<DashboardParameter ObjectName ="TimeNavigator2" Name ="SelectedStartTime" Kind ="DateTime" ObjectDescription ="Time Navigator 2" />
<DashboardParameter ObjectName ="TimeNavigator2" Name ="SelectedEndTime" Kind ="DateTime" ObjectDescription ="Time Navigator 2" />
…
</DashboardParameters>
<Elements>
<GalleryElement Name ="TimeNavigator2" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.SimpleTimeNavigator,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
Accent ="False" NumberFormat ="General" ShowComparisonDelta ="False" ValueOrientation ="HigherValuesAreBetter"
AdjustYRangeToValues ="True" MinimumRangeStop ="0" MaximumRangeStop ="1,5" NeutralStartRangeStop ="0,75 " NeutralEndRangeStop ="1">
<SchemaItem Id="MainSeries" Input ="1900_Giorno730Confronto.Num730AC" AggregationRule ="Sum" Filters ="" />
<Title> Time Navigator 2 </Title>
<TimeLevels> Years, Months, Weeks </TimeLevels>
<TimeRangePresets> ThisYear, ThisMonth, LastWeek, ThisWeek, Yesterday, Today </TimeRangePresets>
<DefaultTimeRangePreset> ThisWeek </DefaultTimeRangePreset>
<TimeRangeVisualization> Bar</TimeRangeVisualization>
</GalleryElement>
…
<GalleryElement Name ="Number3" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.Number,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc 91"
Accent ="False" NumberFormat ="General" >
<SchemaItem Id="Value" Input ="1900_Tot730_AC_AP_Comp_DiffAP.Tot730Completate" AggregationRule ="Sum" Filters ="" />
<Title> Dichiarazioni completate non trasmesse </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="HalfDonut" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.HalfDonutGauge,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc 91"
Accent ="False" ValueOrientation ="HigherValuesAreBetter" NumberFormat ="General" DeltaFormat ="ValueAndPercentageFromTarget"
MinimumRangeStop ="0" MaximumRangeStop ="1" NeutralStartRangeStop ="1" NeutralEndRangeStop ="1" RingType ="HalfRing" >
<SchemaItem Id="Value" Input ="1900_Tot730_AC_AP_Comp_DiffAP.TotDich730AC" AggregationRule ="Sum" Filters ="" />
<SchemaItem Id="ComparisonValue" Input ="1900_Tot730_AC_AP_Comp_DiffAP.TotDich730AP" AggregationRule ="Sum" Filters ="" />
<Title> Confronto su AP </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="DeltaIndicator" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.DeltaIndicator,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neu tral, PublicKeyToken=89845dcd8080cc91"
Accent ="False" ValueOrientation ="HigherValuesAreBetter" NumberFormat ="General" DeltaFormat ="Value" MinimumRangeStop ="0"
MaximumRangeStop ="2" NeutralStartRangeStop ="1" NeutralEndRangeStop ="1">
<SchemaItem Id="Value" Input ="1900_Tot730_AC_AP_Comp_DiffAP.Diff_730" AggregationRule ="Sum" Filters ="" />
<SchemaItem Id="ComparisonValue" Input ="1900_Tot730_AC_AP_Comp_DiffAP.Zero" AggregationRule ="Sum" Filters ="" />
<Title> Diff. su AP </Title>
<SubTitle> (ad oggi) </SubTitle>
</GalleryElement>
…
<GalleryElement Name ="BubbleMap" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.BubbleMap,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
Accent ="False" NumberFormat ="General" Map="Italy" UseDifferentColors ="True" >
28 <SchemaItem Id="Keys" Input ="1900_730_AC_Regione.NomeRegione" AggregationRule ="None" Filters ="TimeNavigator2" />
<SchemaItem Id="Values" Input ="1900_730_AC_Regione.Dichiarazioni730" AggregationRule ="Sum" Filters ="TimeNavigator2" />
<Title> 730 per regione </Title>
<SubTitle></SubTitle>
</GalleryElement>
…
</Elements>
<Layouts>
<DashboardLayout Name ="Master" RowCount ="6" ColumnCount ="12" CellSpacing ="6">
<ElementPosition Name ="TimeNavigator2" Row ="0" Column ="0" RowSpan ="1" ColumnSpan ="12" />
<ElementPosition Name ="ComparisonTimeChart" Row ="1" Column ="0" RowSpan ="2" ColumnSpan ="5" />
<ElementPosition Name ="ComparisonTimeChart01" Row ="3" Column ="0" RowSpan ="2" ColumnSpan ="5" />
<ElementPosition Name ="ComparisonTimeChart02" Row ="3" Column ="5" RowSpan ="2" ColumnSpan ="5" />
<ElementPosition Name ="TimeChart" Row ="1" Column ="5" RowSpan ="2" ColumnSpan ="5" />
<ElementPosition Name ="BubbleMap" Row ="1" Column ="10" RowSpan ="3" ColumnSpan ="2" />
<ElementPosition Name ="DeltaIndicator" Row ="4" Column ="10" RowSpan ="1" ColumnSpan ="2" />
<ElementPosition Name ="Number" Row ="5" Column ="0" RowSpan ="1" ColumnSpan ="3" />
<ElementPosition Name ="Number2" Row ="5" Column ="3" RowSpan ="1" ColumnSpan ="3" />
<ElementPosition Name ="Number3" Row ="5" Column ="6" RowSpan ="1" ColumnSpan ="3" />
<ElementPosition Name ="HalfDonut" Row ="5" Column ="9" RowSpan ="1" ColumnSpan ="3" />
</DashboardLayout>
<DashboardLayout Name ="TabletPortrait" RowCount ="7" ColumnCount ="6" CellSpacing ="6">
<ElementPosition Name ="TimeNavigator2" Row ="0" Column ="0" RowSpan ="1" ColumnSpan ="6" />
<ElementPosition Name ="ComparisonTimeChart" Row ="1" Column ="0" RowSpan ="2" ColumnSpan ="3" />
<ElementPosition Name ="Number" Row ="5" Column ="0" RowSpan ="1" ColumnSpan ="2" />
<ElementPosition Name ="Number2" Row ="6" Column ="0" RowSpan ="1" ColumnSpan ="3" />
<ElementPosition Name ="HalfDonut" Row ="6" Column ="3" RowSpan ="1" ColumnSpan ="3" />
<ElementPosition Name ="Number3" Row ="5" Column ="2" RowSpan ="1" ColumnSpan ="2" />
<ElementPosition Name ="DeltaIndicator" Row ="5" Column ="4" RowSpan ="1" ColumnSpan ="2" />
<ElementPosition Name ="TimeChart" Row ="1" Column ="3" RowSpan ="2" ColumnSpan ="3" />
<ElementPosition Name ="ComparisonTimeChart01" Row ="3" Column ="0" RowSpan ="2" ColumnSpan ="3" />
<ElementPosition Name ="ComparisonTimeChart02" Row ="3" Column ="3" RowSpan ="2" ColumnSpan ="3" />
</DashboardLayout>
<DashboardLayout Name ="Phone" RowCount ="6" ColumnCount ="4" CellSpacing ="6" />
</Layouts>
</DatazenDashboard>
În funcție de fișierul definition.xml se realizează interfața dashboardului și se definesc
și legăturile dintre diversele elemente vizuale. În figura 8 am extras partea de filtre temporale
valabile pentru tot dashboardul. În momentul în care se face click pe una din căsuțele temporale
(aflate în jumătatea stângă a figurii) sau se selectează un număr de luni/săptămâni (aflate în
jumătatea dreaptă a figurii) , se vor actualiza toate valorile rapoartelor în baza arcului temporal
ales.
Figură 10 exemplificare filtru rapoarte dashboard
În fișierul sources.xml se definesc accesul la seturile de date care stau la baza
rapoartelor.
Tabel 2 Fisierul sources.xml
<DataSources>
<Shared Guid ="e71ae7cc -d7c7 -4ca8 -b394 -b8516d6d1f63" Name ="1900_730_AC_Regione" WorksheetIndex ="0"
ServerUri ="http://reports.cgn.it/reports/ " DataItemLocation ="/Datasets/1900_730_AC_Regione" Hash ="" />
<Shared Guid ="a03fa31e -01c6 -4dd3 -9996 -49fb6cf8c683" Name ="1900_Giorno730Confronto" WorksheetIndex ="1"
ServerUri ="http://reports.cgn.it/reports/ " DataItemLocation ="/Datasets/1900_Giorno730Confronto" Hash ="" />
29 <Shared Guid ="a6d0873e -4680 -4064 -bd10 -973c5a8f20e8" Name ="1900_Giorno730Confronto_15gg" WorksheetIndex ="2"
ServerUri ="http://reports.cgn.it/reports/ " DataItemLocation ="/Datasets/1900_Giorno730Confronto_15gg" Hash ="" />
<Shared Guid ="c134a277 -0abf -450e -9f68-c5f48db8122b" Name ="1900_Tot730_AC_AP_Comp_DiffAP" WorksheetIndex ="3"
ServerUri ="http://reports.cgn.it/reports/ " DataItemLocation ="/Datasets/1900_Tot730_AC_AP_Comp_DiffAP" Hash ="" />
<Shared Guid ="c6cea25c -4fa4-4a1a -a0e9 -014fb2be34ba" Name ="1900_Tot730Confronto" WorksheetIndex ="4"
ServerUri ="http://reports.cgn.it/reports/ " DataItemLocation ="/Datasets/1900_Tot730Confronto" Hash ="" />
</DataSources>
Rapoartele puse la dispoziție pe acest dashboard sunt:
– Total modele 730 2017 comparativ cu 2016 pentru aceeași fereastră temporală
aleasă
– Comparație zilnică cu anul 2016 pe ultimele 7 zile. Structura raportului este
următoarea:
Tabel 3 Structura report Comparație zilnică pe ultimele 7 zile
<?xml version ="1.0" encoding ="utf-8"?>
<SharedDataSet xmlns:rd ="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"
xmlns ="http://schemas.microsoft.com/sqlserver/reporting/2010/01/shareddatasetdefinition" >
<DataSet Name ="">
<Query>
<DataSourceReference> DS_ODS </DataSourceReference>
<CommandText> SELECT Num730AC, Num730AP, Dichiarazioni730Complete, DataTrasmissione, Diff_730
FROM reporting.mr_1900_Giorno730Confronto
where DataTrasmissione >='2016 -05-01'</CommandText>
</Query>
<Fields>
<Field Name ="Num 730AC" >
<DataField> Num730AC </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="Num730AP" >
<DataField> Num730AP </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="Dichiarazioni730Complete" >
<DataField> Dichiarazioni730Complete </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="DataTrasmissione" >
<DataField> DataTrasmissione </DataField>
<rd:TypeName> System.DateTime </rd:TypeName>
</Field>
<Field Name ="Diff_730" >
<DataField> Diff_730 </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
</Fields>
</DataSet>
</SharedDataSet>
– Comparație zilnică cu anul 2016 pe ultimele 15 zile . Structura acestui raport este
următoarea:
Tabel 4 Structura report Comparație zilnică cu anul 2016 pe ultimele 15 zile
<?xml version ="1.0" encoding ="utf-8"?>
<SharedDataSet xmlns:rd ="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"
xmlns ="http://schemas.microsoft.com/sqlserver/reporting/2010/01/shareddatasetdefinition" >
<DataSet Name ="">
<Query>
<DataSourceReference> DS_ODS </DataSourceReference>
<CommandText> SELECT Num730AC, Num730AP, Dichiarazioni730Complete, DataTrasmissione, Diff_730
FROM reporting.mr_1900_Giorno730Confronto
WHERE (DataTrasmissione BETWEEN DATEADD(DAY, – 10, GETDATE()) AND DATEADD(DAY, 5, GETDATE())) </CommandText>
</Query>
30 <Fields>
<Field Name ="Num730AC" >
<DataField> Num730AC </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="Num730AP" >
<DataField> Num730AP </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="Dichiarazioni730Complete" >
<DataField> Dichiarazioni730Complete </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="DataTrasmissione" >
<DataField> DataTrasmissione </DataField>
<rd:TypeName> System.DateTime </rd:TypeName>
</Field>
<Field Name ="Diff_730" >
<DataField> Diff_730 </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
</Fields>
</DataSet>
</SharedDataSet>
Data setul pentru acest raport este dat de următoarea View
Tabel 5 View pentru extragerea datelor Raport Comparație pe 15 zile
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW [Datazen ].[vw_ENUKVWABZ_est_Dsh002_ComparisonTime_GiornalieroDichiarazioni730Confronto_Su15gg ]
AS
SELECT –T_Anno.Id_Calendario,
T_Anno .Data ,
–T_Anno.Anno,
–T_Anno.MeseAnno,
–T_Anno.GiornoMese,
–ISNULL(OldYear.Dich730_OldYear,0) AS OldYea r_730,
–ISNULL(NewYear.Dich730_NewYear,0) AS NewYear_730 –,
–IIF(ISNULL(NewYear.Dich730_NewYear,0)>0,ISNULL(NewYear.Dich730_NewYear,0) – ISNULL(OldYear.Dich730_OldYear,0),0) AS Diff_730 –,
–IIF(ISNULL(NewYear.Dich730_NewYear,0)>0 AND ISNULL(OldYear.Dich730_OldYear,0)>0,(ISNULL(NewYear.Dich730_NewYear,0) –
ISNULL(OldYear.Dich730_OldYear,0))*100000/ISNULL(OldYear.Dich730_OldYear,0),0) AS TrendAnno,
ISNULL (GiornalieroOldYear .TotGiornaliero_OldYear , 0) AS GiornoAP ,
ISNULL (GiornalieroNewYear .TotGiornaliero_NewYear , 0) AS GiornoAC –,
–IIF(ISNULL(GiornalieroOldYear.TotGiornaliero_OldYear,0)>0,(ISNULL(GiornalieroNewYear.TotGiornaliero_NewYear,0) –
ISNULL(GiornalieroOldYear.TotGiornaliero_OldYear,0))*4000/ISNULL(GiornalieroOldYear.TotGiornaliero_OldYear,0),0) AS TrendGior no
– SELEZIONO IL CALENDARIO DA 01/04 A 15/07 DEL'ANNO CORRENTE
– USO SOLO IL RIFERIMENTO DI GIORNO E MESE, NON LA DATA
FROM ( SELECT *
FROM DW.contestoComune .vw_c_Calendario
WHERE Id_Calendario BETWEEN CAST (CONVERT (VARCHAR (8), GETDATE ()
– 10, 112) AS INT)
AND CAST (CONVERT (VARCHAR (8), GETDATE ()
+ 5, 112) AS INT)
) AS T_Anno
–LEFT JOIN ( SELECT
– –DATEFROMPARTS(AnnoRilevazione,
– – MeseRilevazione,
– – GiornoRilevazione) AS DataRilevazione ,
– num730 AS Dich730_NewYear ,
– MeseRilevazione AS MeseRil_NewYear ,
– GiornoRilevazione AS GiornoRil_NewYear
– FROM DW.CgnConsumi.vw_c_Dichiarazioni730Variazioni t –WHERE ( AnnoRilevazione = YEAR(DATEADD(year, 0,
GETDATE())) )
– JOIN CON FIGURATION.cgnconsumi.periodiperservizio
– AS ps ON t.DataRilevazione BETWEEN ps.datainizioperiodo
– AND
– ps.datafineperiodo
– AND GETDATE() BETWEEN ps.datainizioperiodo
– AND
– ps.datafineperiodo
– AND COD_TipoAnno = 2
– AND COD_consumo = 1
– ) AS NewYear ON T_Anno.MeseAnno = NewYear.MeseRil_NewYear
– AND T_Anno.GiornoMese = NewYear.GiornoRil_NewYear
–LEFT JOIN – SELEZIONO I TOTALI DELLO
–( SELECT ISNULL(num730, 0) AS Dich730_OldYear ,
– MeseRilevazione AS MeseRil_OldYear ,
– GiornoRilevazione AS GiornoRil_OldYear
31 – FROM DW.CgnConsumi.vw_c_Dichiarazioni730Variazioni t –WHERE ( AnnoRilevazione = YEAR(DATEADD(year, -1, GETDATE())) )
– JOIN CONFIGURATION.cgnconsumi.periodiperservizio AS ps ON t.DataRilevazione BETWEEN ps.datainizioperiodo
– AND
– ps.datafineperiodo
– AND DATEADD(year,
– -1, GETDATE()) BETWEEN ps.datainizioperiodo
– AND
– ps.datafineperiodo
– AND COD_TipoAnno = 2
– AND COD_consumo = 1
–) AS OldYear ON T_Anno.MeseAnno = OldYea r.MeseRil_OldYear
– AND T_Anno.GiornoMese = OldYear.GiornoRil_OldYear
–
LEFT JOIN ( SELECT Data ,
Anno ,
Mese ,
Giorno ,
SUM (Dichiarazioni730 ) AS TotGiornaliero_NewYear
FROM DW.CgnConsumi .vw_c_Dichiarazioni730_TempoReale
AS m –WHERE Anno = YEAR(GETDATE())
JOIN CONFIGURATION .cgnconsumi .periodiperservizio
AS ps ON m.Data BETWEEN ps.datainizioperiodo
AND ps.datafineperiodo
AND GETDATE () BETWEEN ps.datainizioperiodo
AND
ps.datafineperiodo
AND COD_TipoAnno = 2
AND COD_consumo = 1
GROUP BY Data ,
Anno ,
Mese ,
Giorno
) AS GiornalieroNewYear ON T_Anno .MeseAnno = GiornalieroNewYear .Mese
AND T_Anno .GiornoMese = GiornalieroNewYear .Giorno
LEFT JOIN ( SELECT Data ,
Anno ,
Mese ,
Giorno ,
SUM (Dichiarazioni730 ) AS TotGiornaliero_OldYear
FROM DW.CgnConsumi .vw_c_Dichiarazioni730_TempoReale
AS m –WHERE Anno = YEAR(GETDATE()) – 1
JOIN CONFIGURATION .cgnconsumi .perio diperservizio
AS ps ON m.Data BETWEEN ps.datainizioperiodo
AND ps.datafineperiodo
AND DATEADD (year , -1, GETDATE ()) BETWEEN ps.datainizioperiodo
AND
ps.datafineperiodo
AND COD_TipoAnno = 2
AND COD_consumo = 1
GROUP BY Data ,
Anno ,
Mese ,
Giorno
) AS GiornalieroOldYear ON T_Anno .MeseAnno = GiornalieroOldYear .Mese
AND T_Anno .GiornoMese = GiornalieroOldYear .Giorno
–ORDER BY T_Anno.Data
GO
Se poate observa că View -ul din tabelul 5. se bazează pe un alt View
DW.CgnConsumi.vw_c_Dichiarazioni730_TempoReale care extrage datele în timp real din
tabelele data warehouse -ului:
Tabel 6 View pentru extragerea datelor în timp real din DW
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW [CgnConsumi ].[vw_c_Dichiarazioni730_TempoReale ] – [CgnConsumi].[Dichiarazioni730_GraficoGiornaliero]
– SELECT * FROM [CgnConsumi].[vw_c_Dichiarazioni730_TempoReale] ORDER BY Data
AS
–===========================================
–Dichiarazioni 730 precedenti ad oggi
–===========================================
SELECT [Data ] ,
[Anno ] ,
[AnnoNumerico ] ,
[Mese ] ,
32 [MeseNumerico ] ,
[Giorno ] ,
[GiornoNumerico ] ,
Dichiarazioni730
FROM [DW].[CgnConsumi ].[vw_c_Dichiarazioni730SituazioneGiornaliera ]
AS S
–JOIN DW.CgnConsumi.Dichiarazioni730_DataFineTrasmissioni AS D
– ON S.AnnoNumerico = D.[Annoservizio] AND
– S.Data <= D.DataFineTrasmissioni
UNION ALL
–===========================================
–Dichiarazioni 730 di oggi (una riga)
–===========================================
SELECT dbo.ufn_IntToDate2 ([WKNUM730_DATA ]) AS Data ,
CAST (YEAR (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS NVARCHAR (4)) AS Anno ,
CAST (YEAR (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS INT) AS AnnoNumerico ,
CAST (REPLICATE ('0',
2
– LEN (MONTH (dbo.ufn_IntToDate2 ([WKNUM730_DATA ]))))
+ CAST (MONTH (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS NVARCHAR (2)) AS NVARCHAR (2)) AS Mese ,
CAST (MONTH (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS INT) AS MeseNumerico ,
CAST (REPLICATE ('0',
2 – LEN (DAY (dbo.ufn_IntToDate2 ([WKNUM730_DATA ]))))
+ CAST (DAY (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS NVARCHAR (2)) AS NVARCHAR (2)) AS Giorno ,
CAST (DAY (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS INT) AS GiornoNumerico ,
SUM ([WKNUM730_CNT_4 ] – [WKNUM730_CNT_2 ]) AS Dichiarazioni730
FROM [MIRROR ].[etlCgnConsumi ].[Wknum730 ]
WHERE CAST (dbo.ufn_IntToDate2 ([WKNUM730_DATA ]) AS DATE ) = CAST (GETDATE () AS DATE )
AND WKNUM730_UA_COD > 100
GROUP BY dbo.ufn_IntToDate2 ([WKNUM730_DATA ]) ,
CAST (YEAR (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS NVARCHAR (4)) ,
CAST (YEAR (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS INT) ,
CAST (REPLICATE ('0',
2
– LEN (MONTH (dbo.ufn_IntToDate2 ([WKNUM730_DATA ]))))
+ CAST (MONTH (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS NVARCHAR (2)) AS NVARCHAR (2)) ,
CAST (MONTH (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS INT) ,
CAST (REPLICATE ('0',
2 – LEN (DAY (dbo.ufn_IntToDate2 ([WKNUM730_DATA ]))))
+ CAST (DAY (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS NVARCHAR (2)) AS NVARCHAR (2)) ,
CAST (DAY (dbo.ufn_IntToDate2 ([WKNUM730_DATA ])) AS INT)
GO
– Diferența rămasă față de anul 2016
– Număr modele 730 realizată pe regiuni pentru fereastra temporală aleasă . Structura
raportului este dată în tabelul de mai jos:
Tabel 7 Structura report pe Regiuni
<?xml version ="1.0" encoding ="utf-8"?>
<SharedDataSet xmlns:rd ="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner "
xmlns ="http://schemas.microsoft.com/sqlserver/reporting/2010/01/shareddatasetdefinition ">
<DataSet Name ="">
<Query>
<DataSourceReference> DS_ODS </DataSourceReference>
<CommandText> SELECT NomeRegione, Dichiarazioni730, DataTrasmissione
FROM reporting.mr_1900_730_AC_Regione </CommandText>
</Query>
<Fields>
<Field Name ="NomeRegione" >
<DataField> NomeRegione </DataField>
<rd:TypeName> System.String </rd:TypeName>
</Field>
<Field Name ="Dichiarazioni730" >
<DataField> Dichiarazioni730 </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="DataTrasmissione" >
<DataField> DataTrasmissione </DataField>
<rd:TypeName> System.DateTime </rd:TypeName>
</Field>
</Fields>
</DataSet>
</SharedDataSet>
33 Pentru realizarea data setului aplicat raportului, am folosit următoarea View:
Tabel 8 View pentru extragere date Report pe Regiuni 730
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW [Datazen ].[vw_ENUKVWABZ_est_Dsh002_BubbleMap_Trasmissioni730AnnoCorrente ]
AS
SELECT dz.NomeRegioneDatazen ,
datatrasmissione ,
[num730 ] AS Dichiarazioni730
FROM DW.[contestoComune ].[UfficiCGNGiorno ] AS UFF
JOIN ( SELECT COD_Ufficio ,
num730 ,DataTrasmissione
FROM dw.[CgnConsumi ].vw_c_dichiarazioni730 AS D
WHERE EXISTS ( SELECT *
FROM [configuration ].[CgnConsumi ].[PeriodiPerServizio ]
AS x
WHERE COD_Con sumo = 1
AND GETDATE () BETWEEN [DataInizioPeriodo ]
AND
[DataFinePeriodo ]
AND COD_TipoAnno = 2
AND d.datatrasmissione BETWEEN [DataInizioPeriodo ]
AND
[DataFinePeriodo ] )
) AS y ON y.COD_Ufficio = UFF.COD_Ufficio
AND y.COD_Ufficio > 100
JOIN configuration .[datazen ].[MappingTerritorio ] dz ON Dz.nomeregionecgn = uff.NomeRegione
– GROUP BY dz.NomeRegioneDatazen
GO
Fișierul metadata.xml definește metadatele și configurația întregului dashboard creând
legătura între toate fișierele xml și seturile de date, resursele statice (de exemplu harta Italiei) .
2. Report tendințe pentru modelul ISEE:
Figură 11 Dashboard pentru modelul ISEE
Ca și pentru modelul 730, despachetând pachetul pentru dashboard avem următoarea
structură:
34
Figură 12 Structura dashboar creat cu DataZen pentru modelul ISEE
Structura xml pentru definirea elementelor și a layout -ului pentru acest dashboard este
următorul:
<DatazenDashboard Version ="1.0.3737.0" >
<DashboardTitle> 1901 Andamento ISEE </DashboardTitle>
<DashboardGroup></DashboardGroup>
<DashboardTexture></DashboardTexture>
<DashboardStyle> Custom </DashboardStyle>
<DashboardAccent> False </DashboardAccent>
<Currency> EUR </Currency>
<FiscalMonthOffset> 0</FiscalMonthOffset>
<FiscalDayOffset> 0</Fisca lDayOffset>
<FirstDayOfWeek> Sunday </FirstDayOfWeek>
<EffectiveDate></EffectiveDate>
<EnableDataCaching> True </EnableDataCaching>
<EncryptServerData> False </EncryptServerData>
<DashboardParameters>
<DashboardParameter ObjectName ="TimeNavigator" Name ="SelectedStartTime" Kind ="DateTime" ObjectDescription ="Time Navigator 1" />
<DashboardParameter ObjectName ="TimeNavigator" Name ="SelectedEndTime" Kind ="DateTime" ObjectDescription ="Time Navigator 1" />
<DashboardParameter ObjectName ="TimeNavigator" Name ="ViewportStartTime" Kind ="DateTime" ObjectDescription ="Time Navigator 1" />
<DashboardParameter ObjectName ="TimeNavigator" Name ="ViewportEndTime" Kind ="DateTime" ObjectDescription ="Time Navigator 1" />
<DashboardParameter ObjectName ="TimeNavigator" Name ="TimeUnit" Kind ="String" ObjectDescription ="Time Navigator 1" />
<DashboardParameter ObjectName ="SelectionList" Name ="SelectedItem" Kind ="String" ObjectDescription ="Regioni" />
<DashboardParameter ObjectName ="SelectionList" Name ="SelectedItems" Kind ="String" ObjectDescription ="Regioni" />
</DashboardParameters>
<Elements>
<GalleryElement Name ="TimeNavigator" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.SimpleTimeNavigator,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc 91"
Accent ="False" NumberFormat ="General" ShowComparisonDelta ="False" ValueOrientation ="HigherValuesAreBetter"
AdjustYRangeToValues ="False" MinimumRangeStop ="0" MaximumRangeStop ="1,5" NeutralStartRangeStop ="0,75" NeutralEndRangeStop ="1">
<SchemaItem Id="MainSeries" Input ="SimulatedTable.Metric1" AggregationRule ="Sum" Filters ="" />
<Title> Time Navigator 1 </Title>
<TimeLevels> Years, Months, Weeks, Days </TimeLevels>
<TimeRangePresets> None </TimeRangePresets>
<DefaultTimeRangePreset> None </DefaultTimeRangePreset>
<TimeRangeVisualization> Bar</TimeRangeVisualization>
</GalleryElement>
<GalleryElement Name ="SelectionList" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.SelectionList,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc 91"
Accent ="False" AllowMultiSelect ="True" SelectAll ="True" SelectAllText ="All" ShowIcons ="False" Structure ="List"
FilterTargets ="1901_ConfrontoISEE_Regione.NomeRegione" >
<SchemaItem Id="Keys" Input ="1901_ConfrontoISEE_Regione.NomeRegione" AggregationRule ="None" Filters ="" />
<SchemaItem Id="Labels" Input ="1901_ConfrontoISEE_Regione.NomeRegione" AggregationRule ="None" Filters ="" />
<Title> Regioni </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="Number01" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.Number,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc 91"
Accent ="False" NumberFormat ="General" >
<SchemaItem Id="Value" Input ="1901_Totali.ISEE_AP" AggregationRule ="Sum" Filters ="" />
<Title> DSU AP </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="Number03" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.Number,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc 91"
Accent ="False" NumberFormat ="General" >
<SchemaItem Id="Value" Input ="1901_Totali.ISEE_MeseP" AggregationRule ="Sum" Filters ="" />
<Title> DSU MP </Title>
<SubTitle></SubTitle>
</GalleryElement>
35 <GalleryElement Name ="Number04" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.Number,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc 91"
Accent ="False" NumberFormat ="General" >
<SchemaItem Id="Value" Input ="1901_Totali.ISEE_Ieri" AggregationRule ="Sum" Filters ="" />
<Title> DSU Ieri </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="ComparisonTimeChart" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.ComparisonTimeChart,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc 91"
Accent ="False" NumberFormat ="General" DisplayMo de="ByColumns" AdjustYRangeToValues ="False" ChartUnit ="Auto"
IndependentAxisAnnotations ="No" Visualization ="BarVsThinBar" ReuseColorsOnComparisonSeries ="False"
ValueDirection ="HigherValuesAreBetter" ShowLegend ="True" >
<SchemaItem Id="MainSeries" Input ="1901_ConfrontoISEE_AC_AP.ISEE_AC" AggregationRule ="Sum" Filters ="TimeNavigator" />
<SchemaItem Id="ComparisonSeries" Input ="1901_ConfrontoISEE_AC_AP.ISEE_AP" AggregationRule ="Sum" Filters ="TimeNavigator" />
<Title> DSU Confronto su AP </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="NumberWithDelta2" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.NumberWithDelta,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3 737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
Accent ="False" ValueOrientation ="HigherValuesAreBetter" NumberFormat ="General" DeltaFormat ="ValueAndPercentageFromTarget"
MinimumRangeStop ="0" MaximumRangeStop ="2" NeutralStartRangeStop ="1" NeutralEndRangeStop ="1" Visualization ="Default" >
<SchemaItem Id="Value" Input ="1901_Totali.ISEE_AC" AggregationRule ="Sum" Filters ="" />
<SchemaItem Id="ComparisonValue" Input ="1901_Totali.ISEE_AP" AggregationRule ="Sum" Filters ="" />
<Title> DSU AC </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="NumberWithDelta01" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.NumberWithDelta,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
Accent ="False" ValueOrientation ="HigherValuesAreBetter" NumberFormat ="General" DeltaFormat ="ValueAndPercentageFromTarget"
MinimumRangeStop ="0" MaximumRangeStop ="2" NeutralStartRangeStop ="1" NeutralEndRangeStop ="1" Visualization ="Default" >
<SchemaItem Id="Value" Input ="1901_Totali.ISEE_MeseC" AggregationRule ="Sum" Filters ="" />
<SchemaItem Id="ComparisonValue" Input ="1901_Totali.ISEE_MeseP" AggregationRule ="Sum" Filters ="" />
<Title> DSU MC </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="ComparisonCategoryChart"
Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.ComparisonCategoryChart,
Microsoft.ReportingServices.MobileRepo rtPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
Accent ="False" NumberFormat ="General" Sorting ="AlphabeticAscending" AdjustYRangeToValues ="False" IndependentAxisAnnotations ="No"
Visualization ="BarVsStepArea" ReuseColorsOnComparisonSeries ="False" ShowLegend ="True" Orientation ="Horizontal" >
<SchemaItem Id="XCoordinate" Input ="1901_ConfrontoISEE_Regione.NomeRegione" AggregationRule ="None" Filters ="SelectionList" />
<SchemaItem Id="MainSeries" Input ="1901_ConfrontoISEE_Regione.ISEE_AC" AggregationRule ="Sum" Filters ="SelectionList" />
<SchemaItem Id="ComparisonSeries" Input ="1901_ConfrontoISEE_Regione.ISEE_AP" AggregationRule ="Sum" Filters ="SelectionList" />
<Title> DSU Confronto per Regione </Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="RadialGauge" Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.RadialGauge,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Cu lture=neutral, PublicKeyToken=89845dcd8080cc91"
Accent ="False" ValueOrientation ="HigherValuesAreBetter" NumberFormat ="General" DeltaFormat ="ValueAndPercentageFromTarget"
MinimumRangeStop ="0" MaximumRangeStop ="1,5" NeutralStartRangeStop ="0,75" NeutralEndRangeStop ="1">
<SchemaItem Id="Value" Input ="1901_Totali.ISEE_AC" AggregationRule ="Sum" Filters ="" />
<SchemaItem Id="ComparisonValue" Input ="1901_Totali.ISEE_AP" AggregationRule ="Sum" Filters ="" />
<Title></Title>
<SubTitle></SubTitle>
</GalleryElement>
<GalleryElement Name ="ComparisonTimeChart01"
Type ="Microsoft.ReportingServices.MobileReportPublisher.Gallery.ComparisonTimeChart,
Microsoft.ReportingServices.MobileReportPublisher.Gallery, Version=1.0.3737.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
Accent ="False" NumberFormat ="General" DisplayMode ="ByColumns" AdjustYRangeToValues ="False" ChartUnit ="Auto"
IndependentAxisAnnotations ="No" Visualization ="BarVsThinBar" ReuseColorsOnComparisonSeries ="False"
ValueDirection ="HigherValuesAreBetter" ShowLegend ="True" >
<SchemaItem Id="MainSeries" Input ="1901_ConfrontoISEE_Regione.ISEE_AC" AggregationRule ="Sum" Filters ="SelectionList" />
<SchemaItem Id="ComparisonSeries" Input ="1901_ConfrontoISEE_Regione.ISEE_AP" AggregationRule ="Sum" Filters ="SelectionList" />
<Title> DSU Confronto per Regione su Mese </Title>
<SubTitle></SubTitle>
</GalleryElement>
</Elements>
<Layouts>
<DashboardLayout Name ="Master" RowCount ="5" ColumnCount ="9" CellSpacing ="6">
<ElementPosition Name ="SelectionList" Row ="1" Column ="7" RowSpan ="4" ColumnSpan ="2" />
<ElementPosition Name ="Number01" Row ="0" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="NumberWithDelta01" Row ="0" Column ="3" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="Number03" Row ="0" Column ="2" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="Number04" Row ="0" Column ="4" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="TimeNavigator" Row ="0" Column ="6" RowSpan ="1" ColumnSpan ="3" />
<ElementPosition Name ="ComparisonTimeChart" Row ="1" Column ="0" RowSpan ="2" ColumnSpan ="4" />
<ElementPosition Name ="NumberWithDelta2" Row ="0" Column ="1" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="ComparisonCategoryChart" Row ="1" Column ="4" RowSpan ="4" ColumnSpan ="3" />
<ElementPosition Name ="RadialGauge" Row ="0" Column ="5" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="ComparisonTimeChart01" Row ="3" Column ="0" RowSpan ="2" ColumnSpan ="4" />
</DashboardLayout>
<DashboardLayout Name ="TabletPortrait" RowCount ="6" ColumnCount ="6" CellSpacing ="6">
<ElementPosition Name ="Number01" Row ="1" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="NumberWithDelta2" Row ="2" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="Number03" Row ="3" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="NumberWithDelta01" Row ="4" Column ="0" RowSpan ="1" ColumnSpan ="1" />
36 <ElementPosition Name ="Number04" Row ="5" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="RadialGauge" Row ="0" Column ="0" RowSpan ="1" ColumnSpan ="2" />
<ElementPosition Name ="TimeNavigator" Row ="0" Column ="2" RowSpan ="1" ColumnSpan ="4" />
<ElementPosition Name ="SelectionList" Row ="3" Column ="1" RowSpan ="3" ColumnSpan ="2" />
<ElementPosition Name ="ComparisonTimeChart" Row ="1" Column ="1" RowSpan ="1" ColumnSpan ="5" />
<ElementPosition Name ="ComparisonCategoryChart" Row ="3" Column ="3" RowSpan ="3" ColumnSpan ="3" />
<ElementPosition Name ="ComparisonTimeChart01" Row ="2" Column ="1" RowSpan ="1" ColumnSpan ="5" />
</DashboardLayout>
<DashboardLayout Name ="Phone" RowCount ="6" ColumnCount ="4" CellSpacing ="6">
<ElementPosition Name ="Number01" Row ="1" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="NumberWithDelta2" Row ="2" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="Number03" Row ="3" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="NumberWithDelta01" Row ="4" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="Number04" Row ="5" Column ="0" RowSpan ="1" ColumnSpan ="1" />
<ElementPosition Name ="RadialGauge" Row ="0" Column ="0" RowSpan ="1" ColumnSpan ="2" />
<ElementPosition Name ="SelectionList" Row ="3" Column ="1" RowSpan ="3" ColumnSpan ="1" />
<ElementPosition Name ="TimeNavigator" Row ="0" Column ="2" RowSpan ="1" ColumnSpan ="2" />
<ElementPosition Name ="ComparisonTimeChart" Row ="1" Column ="1" RowSpan ="1" ColumnSpan ="3" />
<ElementPosition Name ="ComparisonCategoryChart" Row ="3" Column ="2" RowSpan ="3" ColumnSpan ="2" />
<ElementPosition Name ="ComparisonTimeChart01" Row ="2" Column ="1" RowSpan ="1" ColumnSpan ="3" />
</DashboardLayout>
</Layouts>
</DatazenDashboard>
Și în acest caz, avem partea de filtru temporal ca și pentru modelul 730. Pe lângă acesta,
pentru acest dashboard s -a cerut și un filtru pe regiunile Italiei:
Figură 13 Filtre folosite pentru dashboard ISEE
Filtrarea pe regiuni e de tip checkBox. Dacă se alege All, datele pentru rapoarte nu vor
fi filtrate pe regiuni, luându -se în considerare toate regiuni existente în warehouse pentru datele
actuale.
Rapoarte puse da dispoziție pe acest dashboard sunt următoarele:
37 – Comparație număr modele ISEE pe anul 2017 cu număr modele ISEE pe anul 2016.
Structura acestui raport este următorul:
Tabel 9 Structură Raport comparație 2016 -2017 model ISEE
<?xml version ="1.0" encoding ="utf-8"?>
<SharedDataSet xmlns:rd ="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner "
xmlns ="http://schemas.microsoft.com/sqlserver/reporting/2010/01/shareddatasetdefinition ">
<DataSet Name ="">
<Query>
<DataSourceReference> DS_ODS </DataSourceReference>
<CommandText> SELECT SUM(ConsumoAC) AS ISEE_AC ,
SUM(ConsumoAP) AS ISEE_AP ,
Data
FROM reporting.mr_1901_ConfrontoGiornaliero
GROUP BY Data </CommandText>
</Query>
<Fields>
<Field Name ="ISEE_AC" >
<DataField> ISEE_AC </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="ISEE_AP" >
<DataField> ISEE_AP </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="Data" >
<DataField> Data </DataField>
<rd:TypeName> System.DateTime </rd:TypeName>
</Field>
</Fields>
</DataSet>
</SharedDataSet>
– Comparație număr modele ISEE pe regiuni pe anul 2017 cu număr modele ISEE pe
regiuni pe anul 2016 . Structura acestui raport este următoarea:
Tabel 10 Structură raport comparativ 2016 -2017 pe regiuni pentru modelul ISEE
<?xml version ="1.0" encoding ="utf-8"?>
<SharedDataSet xmlns:rd ="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"
xmlns ="http://schemas.microsoft.com/sqlserver/reporting/2010/01/shareddatasetdefinition" >
<DataSet Name ="">
<Query>
<DataSourceReference> DS_ODS </DataSourceReference>
<CommandText> SELECT SUM(ConsumoAC) AS ISEE_AC ,
SUM(ConsumoAP) AS ISEE_AP ,
NomeRegione ,
Data
FROM reporting.mr_1901_ConfrontoGiornaliero
GROUP BY NomeRegione ,
Data </CommandText>
</Query>
<Fields>
<Field Name ="ISEE_AC" >
<DataField> ISEE_AC </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="ISEE_AP" >
<DataField> ISEE_AP </DataField>
<rd:TypeName> System.Int32 </rd:TypeName>
</Field>
<Field Name ="NomeRegione" >
<DataField> NomeRegione </DataField>
<rd:TypeName> System.String </rd:TypeName>
</Field>
<Field Name ="Data" >
<DataField> Data </DataField>
<rd:TypeName> System.DateTime </rd:TypeName>
38 </Field>
</Fields>
</DataSet>
</SharedDataSet>
Aceste două modele de dashboard ajută decidenții în decizii de tipul:
– Trebuie aplicată o politică de scumpire/menținere/reducere a prețurilor celor 2
servicii ?
– Impactul avut de modele pe regiuni ajută reprezentanții regionali să decidă d irecția
de acționare
– Deciderea cotei de premiu de producție alocată echipelor de
programare/analiză/asistență ce se ocupă cu aceste modele
– Investiția de făcut pe viitor în aceste două modele.
– Etc.
39
10. Concluzii
Dezvoltarea din ce în ce mai puternică a tehnologiilor de comunicare prin rețetele
sociale, module de videoconferință, chat și module de partajare de documente, partajări de
ferestre, adnotări direct pe documente online partajate, duce la îmbogățirea sistemelor suport
pentru decizii c u o nouă clasă: sisteme suport pentru decizii bazate pe comunicații . Avantajul
acestora este că facilitează colaborarea între grupurile de decidenți care pot lucra împreună ,
chiar fiind la distanță, într-un mediu ce le pune la dispoziție un număr destul de mare de
instrumente pentru vizualizare de rapoarte, creare de documente partajate, modificare de
documente și partajare în timp real între membrii echipei a documentelor, videoconferință, chat,
partajare a ideilor, sistem de acces pe nivele de ierarhie a decidenților la informații, etc.
În procesul decizional în cazul sistemelor suport pentru decizii bazate pe comunicații,
grupul de decidenți ar putea fi format nu numai din cei care sunt împuterniciți de către firmă.
Ar putea fi implicați și decidenți exp erți într -un specific domeniu din exterior , ce pot accesa
doar informațiile referitoare domeniul lor de experiență în cadrul SSD și apoi să colaboreze cu
echipa de decidenț ilor interni pentru a ajunge la o soluție optimă.
Impactul colaborării în cadrul unui sistem suport pentru decizii este producerea unui
proces de crowd problem solving în care grupul de decidenți nu se simte oprimat din cauza
ierarhiei fiecărui decident ci se simte la același nivel, putând să -și spună pun ctul de vedere în
rezolvarea problemei fără teamă de repercusiuni. Acest lucru aduce doar beneficii procesului
decizional și implicit și sistemului.
Noile tehnologii de realizare a interfețelor utilizator (jQuery, Angular, React, HTML 5,
CSS 3), duc la uti lizarea ușoară și intuitivă a sistemelor suport pentru decizii. Folosirea acestor
noi tehnologii în crearea interfețelor duce și la o altă mare oportunitate: folosirea sistemelor
suport pentru decizii bazate pe comunicații nu numai de pe un calculator cone ctat la Internet
dar și de pe dispozitive mobile (smartphone, tablete) .
Ca și o continuare a studiului realizat în această lucrare, aș dori să încerc aplicarea
noilor tehnologii de cloud computing (pentru folosirea unui business intelligence de colaborare
– Social BI) , dar și de inteligență artificială (prin automatizarea luării deciziilor direct de către
40 sistem prin auto -învățare din experiență – knowledge base ; prin recunoaștere vocală și căutare
automată vocală, etc. ) unui sistem suport pentru decizii bazat pe comunicații.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: 2 ” Coming together is a beginning; Keeping together is progress; Working together is success” Henry Ford 1. Introducere Dezvoltarea elevată a… [614651] (ID: 614651)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
