TechNet Szemináriumok 2003 tavaszán Biztonságos üzenetkezelés Windows Server 2003 Akadémia – Infrastruktúra Windows Server 2003 Akadémia – Biztonság Microsoft üzleti intelligencia eszközök és megoldások IV. Üzemeltetői Konferencia
Microsoft üzleti intelligencia eszközök és megoldások Kószó Károly rendszermérnök Microsoft Magyarország
Tartalom Az üzleti intelligencia (BI) meghatározása és folyamata Eszközök, alapfogalmak Az SQL Server Accelerator for BI (SSABI) Szünet Office XP Excel PivotTable, PivotChart OWC, FrontPage Data Analyzer, MapPoint Egy kis programozás …
Mi az üzleti intelligencia? Adatok hasznos információvá való alakítása, amelyek segítenek a gyorsabb és hatékonyabb döntéshozatalban Döntéseket nemcsak a menedzserek hoznak! Folyamat, amely segíti a céget, szervezetet az elemzésben, a jelentéskészítésben, az egyedi felhasználói kérdések megválaszolásában
Mikor? (érett a helyzet BI-ra) Készülnek rendszeres kimutatások, jelentések – sok emberi erőfeszítéssel Rendszeresen kell(ene) ad-hoc kérdésekre megalapozott választ adni Van nyers adat Adatminőség egy minimális szintet elér Van vezetői támogatás Vannak erőforrások
Az üzleti intelligencia folyamata és eszközei Forrás adatok: - RDBMS - Táblázatkezelő - dBase - ERP - … DTS RelációsadatraktárOLAPkockák SQL Server 2000 Analysis Services Standard jelentések, ad-hoc elemzések Office XP Adatgyűjtés, egységesítés
Data Transformation Services (DTS) ETLM (Extract Transform Load Manage) eszköz Feladat: adatpumpa, folyamat vezérlés, … Megvalósítás: COM objektumok Alkalmazások: Export/Import varázsló Grafikus DTS csomagszerkesztő Scriptek (VBScript, JScript) Futtató környezet: DTSRun.exe, DTSRunUI.exe, egyéb programok Ütemezett futtatás: SQL Agent
OLAP On-Line Analytical Processing Ad-hoc lekérdezések Nagyon gyors válaszidők Intuitív adatmodell Az adatokat n dimenziós kockaként jeleníti meg Jellemző műveletek: Aggregált adatok (mértékek) lekérdezése Lefúrás, forgatás, vágás dimenziók szerint Az SQL Server 2000 Analysis Services (egyik) szolgáltatása Termék Ügyfél Measures
SQL Server Accelerator for BI Az SSABI működése Az Analytics Builder Workbook A generált adatbázisok A generált DTS csomagok
SSABI – a feladat Problémák Az üzleti intelligencia alkalmazások fejlesztése általában hosszabb ideig tart Kockázatosnak tartott fejlesztés Nincs olyan „általános” alkalmazás, amely minden felhasználói igényt kielégítene A fejlesztést mindig elölről kell kezdeni Cél A tervezés, a fejlesztés, a dokumentálás és a telepítés automatizálása – lehetőség szerint
Az SSABI elemei Egy gyors fejlesztő (RAD) eszköz Excel munkafüzet (felhasználói felület) Alkalmazás generátor Néhány előre elkészített, testre szabható adatmodell SMA: Sales and Marketing Analytics RA: Retail Analytics További modellek várhatók Üres munkafüzet Ötszáz oldal dokumentáció Segédprogramok
DTSDTS Analytics Builder SSABI - működés ETL Hópehely séma Változó dimenziók támogatása Generált kulcsok Nyers táblák Előre elkészített idő dimenzió Kulcs teljesítmény mérők (KPI-k) Beépített partícionálás idő szerint (opció) OLEDB for OLAP UI Generált jelentések – egyes eszközökhöz Analytics Builder Workbook Forrásadatok ElőkészítőadatbázisAdatraktárAdatkockák Klienseszközök Jelentések
Letöltés, telepítés nextsteps/default.asp CD: \Anyagok\SSABI\Telepítő Technikai feltételek Windows SP2, vagy Windows XP Pro SQL Server 2000 Enterprise Edition, vagy Developer Edition + SP2 / SP3 Windows Scripting Host v. 5.6 (IE 6.0) Office XP + SP1 Az SQL Server 2000 és az Analysis Services fusson a telepítés megkezdése előtt
Telepítés után BisoCatalog adatbázis, mappák
Az Analytics Builder Workbook indítása
Overview - áttekintés
DBs – adatbázisok
AutogenTime – idő dimenzió generálás
A Time.Standard dimenzió
Idő dimenzió lokalizálás A BisoCatalog adatbázis-ban: exec [Sym_Language_Add] 0x0e, 'LanguageHungarian', 'Hungarian', N'Magyar‘ A [Language_Decodes] tábla megfelelő sorainak módosítása –Óvatosan a képletekkel! A [Sym_Time_Std_Populate] és a [Sym_Time_Fiscal_Populate] tárolt eljárásokban: –set language hungarian CD: \Anyagok\SSABI\Lokalizálás
A lokalizált idő dimenzió
Custom Members
Dim_Time_Std_Year.Year_Equ MDX kifejezések
Dimensions – további dimenziók
Changing type - változás kezelés A változó („changing”) dimenziók az OLAP kiszolgálón a dimenzió és a kocka teljes újrafeldolgozása nélkül módosíthatók. Elő-aggregálás csak a legfelső és legalsó szinten történik. Changing type Standard dim. Apa-fiú dim. Sík dim. Track history A változásokat követjük (új dimenzió tagot veszünk fel) a relációs és az OLAP adatbázisban. Restate history often Átírjuk a tagot. Változó dim. N/A Restate history seldom Átírjuk a tagot N/A Restate history N/A Átírjuk a tagot. Változó dim. Átírjuk a tagot.
Levels – dimenzió szintek
A kapcsolt Marketing hierarchia
PropertiesVDims – dimenzió tag tulajdonságok és virtuális dimenziók
A Termék típus tag tulajdonság
A Termék.típus virtuális dimenzió
pCubes – fizikai adatkockák
pMeasures – fizikai mértékek
End Balance aggregálás?
Custom Rollup Formula
End Balance formula IIf(IsLeaf([Idő].[Standard].CurrentMember), CalculationPassValue( [Measures].CurrentMember, 0), IIf( [Measures].CurrentMember.Name = "Készlet darabszám" or [Measures].CurrentMember.Name = "Tervezettt készlet darabszám", [Idő].[Standard].CurrentMember.LastChild, CalculationPassValue( [Measures].CurrentMember, 0) ) )
vCubes – virtuális kockák
CalcMembers – számított tagok
NamedSets – nevesített halmazok
CalcCells – számított cellák
Actions - akciók
A US Map akció
Mappings - leképezések
Processing - feldolgozás
Log - naplózás
SQL Server Accelerator for BI Az SSABI működése A generált adatbázisok A generált DTS csomagok
A generált OLAP adatbázis
A Termék eladás kocka tartalma
A Termék eladás kocka szerkezete
A Termék dimenzió
A Subject Matter adatraktár Táblák
A Subject Matter adatraktár Ellenőrző összeg view-k create view [Info_Dim_Vendor_Std] as select t.*, checksum(t.[Vendor_Code],…) as [Row_CheckSum] from [Dim_Vendor_Std] t Tárolt eljárás – az „aktuális” idő beállítására create proc nvarchar(50) AS set nocount on int = [BisoCatalog]..[Sym_Time_Upd_Current]
Az előkészítő (Staging) adatbázis Táblák Tény táblák Dimenzió táblák (szintenként) Tény és dimenzió hibatáblák Globális változó táblák Load_Batches – betöltő csomagok napló táblája Audit_Events – részletes eseménynapló Tárolt eljárások A betöltő DTS csomagokat támogató eljárások
Globális változó táblák Config_Package_GVs Package_GVs
SQL Server Accelerator for BI Az SSABI működése A generált adatbázisok A generált DTS csomagok
A DTS mappák A DTS csomagok a fájlrendszerben tárolódnak, az alkalmazás mappában Import / format Az előkészítő adatbázis töltése Update Az adatraktár aktualizálása
Minden DTS csomag kezdete A DTS csomagokat az SQL Server Enterprise Managerrel tudjuk megnyitni A kezdeti inicializálás minden csomag esetén azonos lépésekből áll
Registry olvasás Function Main() Dim wshShell, sConfigINIPath, Dim sRegPath Set wshShell = CreateObject("WScript.Shell") sRegPath = wshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\MSBISO\Datafiles") Set wshShell = Nothing sRegPath = sRegPath & "\" sConfigINIPath = sRegPath & "RA03\config.ini" DTSGlobalVariables("gsRegPath_RESERVED").Value = sRegPath DTSGlobalVariables("gsRegRead_RESERVED").Value = sConfigINIPath Main = DTSTaskExecResult_Success End Function
A Server_Setup task módosítása Function Main() Dim sConfigINIPath sConfigINIPath = DTSGlobalVariables("gsRegRead_RESERVED").Value Dim oPKG, oAssignments, oAssignment Set oPKG = DTSGlobalVariables.Parent Set oAssignments = oPKG.Tasks("Server_Setup_Task").CustomTask.Assignments For Each oAssignment In oAssignments oAssignment.SourceIniFileFileName = sConfigINIPath Next Main = DTSTaskExecResult_Success End Function
A Server_Setup task
A globális változók kiolvasása
A globális változók beállítása Dim RS Set RS = DTSGlobalVariables("goGVs_RESERVED").Value Set RS.ActiveConnection = Nothing Dim GV_Name, GV_Value, GV_Type If RS.RecordCount > 0 Then RS.MoveFirst Do While Not RS.EOF GV_Name = RS.Fields("GV_Name").value GV_Value = RS.Fields("GV_Value").value GV_Type = UCase(Left(GV_Name, 2)) … RS.MoveNext Loop End If Set RS = Nothing
A csomag indulásának naplózása
Elágazás Function Main() Dim oPKG Set oPKG = DTSGlobalVariables.Parent oPKG.Steps("Log_Bypass_Step").DisableStep = False oPKG.Steps("Common_Prop_Setup_Step"). DisableStep = False ' disable one of the two branches If CInt(DTSGlobalVariables("gbBypass"). Value) = 0 Then oPKG.Steps("Log_Bypass_Step").DisableStep = True Else oPKG.Steps("Common_Prop_Setup_Step"). DisableStep = True End If Main = DTSTaskExecResult_Success End Function
A Master_Import.dts Az előkészítő (staging) adatbázis töltése sík fájlokból Az egyes dimenziókat töltő al-csomagokat Execute Package task-ok indítják Truncate opció – gbTruncateSQL globális változó
Master Import alcsomagok Egy-egy csomag minden dimenzió szint és minden tény tábla számára A tényleges betöltést egy Bulk Insert task végzi A globális változók öröklődnek, ill. csomagonkét átállíthatók
A Subject Matter adatbázis töltése Master Truncate csomag Az előkészítő (staging) adatbázis dimenzió és tény tábláinak törlése Master Delete csomag A subject matter adatraktár adatainak törlése (fejlesztés idején) Master Update csomag Az adatok átmozgatása az előkészítő (staging) adatbázisból a subject matter adatbázisba Az OLAP adatbázis dimenzióinak és kockáinak újra feldolgozása Al-csomagok: –Dimenzió –Dimenzió szint –Tény tábla
A Master update csomag működése Először a dimenziókat dolgozza fel Beállítja/megkeresi a mesterséges kulcsokat A változó dimenzió sorok kezelésére 3 algoritmus - giAlgorithm –1 – AddOnly. Csak új dimenzió adatok vannak az előkészítő táblában –2 – Flagged. Az előkészítő adatbázisban található dimenzió adatsorok címkézettek. A címke lehet: I, U, D (insert, update, delete) –3 – Dynamic. Ez az alapértelmezett. Az új adatokat és az adatraktár meglevő adatait összehasonlítva derül ki, hogy insert, vagy update történt. A törléseket ekkor is jelezni kell az input soroknál. Testreszabható Globális változók Saját kód A hibás input sorok az előkészítő adatbázis hibatábláiba kerülnek
Segédprogramok (1) Browse Batch Utility Load_Batches és Audit_Events táblák böngészése
Segédprogramok (2) Global Variable Configuration Utility
További információ sqlserver/using.asp sqlserver/using.asp sqlserver/using.asp TechNetKlub SQL Server 2000 lista
Az Office XP használata üzleti intelligencia alkalmazásokban Kószó Károly rendszermérnök Microsoft Magyarország
Miről lesz szó? Excel (PivoTable, PivotChart) Office Web komponensek (OWC) FrontPage, Powerpoint Data Analyzer BI Portal MapPoint Egy kis programozás – VBA Excel –CubeCellValue –WriteBack –DrillThrough OWC Toolpack BI smart tag OLAP dokumentáló sablon
Excel 2002 A leggyakrabban használt analízis eszköz Nemcsak a Microsoft Analysis Services kapcsán Az Excel PivotTable és PivotChart az OLAP kockákat (is) meg tudja jeleníteni Intelligens („kövér”) OLAP ügyfél Felület OLE DB for OLAP (ptsfull.exe, ptslite.exe) http – csak az Enterprise Edition-ben
Excel PivotTable –GetPivotData() PivotChart Tag tulajdonságok Offline OLAP Relációs adatforrás Publikálás a Webre
Office Web Components OWC10.MSI 02/owc10.aspx CD: \Anyagok\Office Web Components Office XP licenc nélkül nem interaktívak Az Excel megfelelő komponenseihez hasonló működés a böngészőben Intelligens („kövér”) OLAP ügyfél
OWC PivotTable FrontPage PowerPoint
Data Analyzer Vizualizációs eszköz Oszlopdiagram Kördiagram Táblázat Kulcs teljesítmény jellemzők vizsgálata Data Analyzer 3.5 International Update ault.asp CD: \Anyagok\Data Analyzer 3.5 Update
Data Analyzer
BI Portal Hamarosan várható az MSDN-en CD: \Anyagok\BIPWEBSetup SQLXML 3.0 SP1 default.asp CD: \Anyagok\SQLXML 3.0 SP1 downloads/howtoget.asp CD: \Anyagok\_Net Framework 1.1
Telepítés Kiszolgáló: IIS Microsoft.Net Framework SQLXML 3.0 SP1 SQL Server 2000 és Analysis Services (SP3) Kliens: Microsoft Office XP (OWC) Data Analyzer (opcionális) Microsoft Internet Explorer 6.0
BI Portal
MapPoint 2002 MapPoint 2002 OLAP Wizard Add-in asp?url=/downloads/list/mappoint.asp CD: \Anyagok\Mappoint 2002
MapPoint
Egy kis programozás Excel –CubeCellValue –WriteBack –DrillThrough OWC Toolpack BI smart tag OLAP dokumentáló sablon
Anyagok CubeCellValue CD: \Anyagok\CubeCellValue WriteBack, DrillThrough us/dnexcl2k2/html/odc_xlextendolap.asp CD: \Anyagok\ExtendExcelOLAP Office Web Component Toolpack CD: \Anyagok\OWC Toolpack BI Smart Tag us/dnsmarttag/html/odc_bisttech.asp CD: \Anyagok\BI Smart Tag OLAP dokumentáló sablon CD: \Anyagok\OLAPScribe