Analysis Services címkéhez tartozó bejegyzések

Kampányelemzés Business Intelligence Development Studioval – screencast

Komplex adatbányászati feladatok megoldásához a Microsoft a Business Intelligence Development Studiot (BIDS) ajánlja. A BIDS a Visual Studio 2008 testreszabott változata, melyet az SQL Server 2008-cal együtt telepíthetünk akár a kiszolgálóra, akár munkaállomásra, és amely fel van készítve Analysis, Integration és Reporting Services projektek fejlesztésére.

Áttekintés

Egy Analysis Services Projectben az első lépés egy Data Source objektum létrehozása. A data source segítségével határozzuk meg azt az adatforrást, amellyel dolgozni fogunk, ehhez a varázslóban az adatok helyét és a kapcsolódáshoz használt felhasználói fiókot kell megadnunk. Az adatforrás bármilyen OLE DB-n vagy .NET-es adat szolgáltatón (provider) keresztül elérhető adatbázis lehet, tehát – a közhiedelemmel ellentétben – nem csak OLAP kockákon tudunk adatbányászati műveleteket végezni, hanem relációs adatokon, Access adatbázisokon vagy akár Excel munkalapokon is.

Az adatforrások komplex adatszerkezetek, melyeknek általában csak egy részhalmazára van szükségünk az adatbányászati feladatunk megoldásához. Azonosítanunk kell tehát azt a táblát, amely az elemzendő eseteket tartalmazza (case table), azon belül azokat a sorokat és oszlopokat, amelyek valóban relevánsak, továbbá azokat a kapcsolódó táblákat, melyek még szükségesek a probléma megoldásához. A teljes adatforrás egy részének ilyen formán történő kivágásához Data Source View (DSV) objektumot kell létrehoznunk. A DSV lehetőséget ad számított oszlopok definiálására is, így akár bővíthetjük is az adatszerkezetünket.

A bemeneti adatok meghatározása után a következő lépés a két legfontosabb objektum, a Mining Structure és azon belül a Mining Model létrehozása. A Mining Structure objektumban írjuk le, hogy a bemeneti adatokat hogyan kívánjuk használni: itt adjuk meg például az egyes oszlopok adattípusát (szám, szöveg, dátum stb.), a tárolt adatok típusát (folytonos, diszkrét stb.), eloszlását (normál, logaritmikus stb.) és célját (bemenet, jóslandó stb.). Mindezek a paraméterek jelentősen befolyásolják a választott algoritmus működését, melyet a struktúrához rendelt modellben határozunk meg és paraméterezünk fel.

Ha megvan a modell, be kell tanítanunk azt, amit a modell feldolgozásának (Process) is neveznek. Az SQL Server 2008 újdonsága, hogy nem kell külön tanító és tesztelő adatokat biztosítanunk, elég megadnunk, hogy a bemeneti adatok hány százalékát használja a rendszer tesztelésre – ez az ún. holdout és tipikusan 30%.

A betanított modell már használható, futtathatunk lekérdezéseket rajta. Előtte azonban célszerű megvizsgálni, hogy a modellünk mennyire sikerült jól. A modell pontosságának meghatározását a BIDS vizuális eszközökkel támogatja, Lift Chart, Profit Chart, Scatter Plots típusú diagramok és Classification Matrix áll rendelkezésünkre. További segítség az SQL Server 2008-ban bevezetett Cross Validation funkció, amely a tanító és tesztelő adathalmazok partícionálásával és forgatásával segíti a modell megbízhatóságának meghatározását.

Miután megbizonyosodtunk a modellünk helyességéről, bevethetjük éles használatra. Ennek legegyszerűbb változata, ha közvetlenül a BIDS eszközeivel végzünk lekérdezéseket a modellen. Hasonló grafikus eszközöket találunk a Management Studioban is, de akár Reporting Servicesből, Excelből és Visioból is kapcsolódhatunk a modellhez.

Első lépések

Célszerű letölteni a hivatalos AdventureWorks példa adatbázist és a hozzá tartozó Analysis Services projektet. Az SQL2008.AdventureWorks_DW_BI_v2008.x86.msi telepítése után a C:Program FilesMicrosoft SQL Server100ToolsSamplesAdventureWorks 2008 Analysis Services ProjectenterpriseAdventure Works DW 2008.dwproj fájlra duplán kattintva megnyithatjuk azt BIDS-ben. Megnyitás után a Build Deploy menüpontot választva telepíthetjük a projektet a helyi SSAS kiszolgálónkra és megnézhetjük a modellek eredményeit.

Jó tudni

Az AdventureWorks példa projekt a helyi SQL példány AdventureWorksDW2008 adatbázisát használja adatforrásként. A projektben bekonfigurált data source objektum Impersonation beállításai között az alapérték a Use the service account. Ez azt jelenti, hogy ha alapértelmezett beállításokkal telepítettük az Analysis Servicest és a Local Service felhasználó nevében fut a szolgáltatás, akkor a Local Service felhasználót be kell engednünk az SQL Server Database Engine AdventureWorksDW2008 adatbázisába, különben a projekt feldolgozásakor hibaüzenetet fogunk kapni.

Demó

A demóban az AdventureWorks példa adatbázisban található ügyfél adatok alapján határozzuk meg azokat a tulajdonságokat, amelyek legjobban befolyásolják az ügyfeleink vásárlási szokásait. Ehhez létrehozunk egy új projektet a Business Intelligence Development Studioban, majd a Microsoft Decision Trees algoritmus felhasználásával építünk modellt az adatokra. A kész modell pontosságát Lift Chart, Profit Chart és Classification Matrix segítségével ellenőrizzük. Az elemzés eredményét a BIDS beépített Tree Viewere segítségével jelenítjük meg, majd grafikus eszközök felhasználásával kérdezzük le az elkészült modellt.

A videó a képre kattintva megtekinthető böngészőben vagy a kép alatti linkre kattintva letölthető:

Kampányelemzés Business Intelligence Development Studioval - screencast

Letöltés: Kampanyelemzes_BIDS_segitsegevel_(Balassy_Gyorgy).wmv (21:51, 87 631 KB)

További információk

 

Reklámok

Előrejelzés készítése Business Intelligence Development Studioval – screencast

Komplex adatbányászati feladatok megoldásához a Microsoft a Business Intelligence Development Studiot (BIDS) ajánlja. A BIDS a Visual Studio 2008 testreszabott változata, melyet az SQL Server 2008-cal együtt telepíthetünk akár a kiszolgálóra, akár munkaállomásra, és amely fel van készítve Analysis, Integration és Reporting Services projektek fejlesztésére.

Áttekintés

Egy Analysis Services Projectben az első lépés egy Data Source objektum létrehozása. A data source segítségével határozzuk meg azt az adatforrást, amellyel dolgozni fogunk, ehhez a varázslóban az adatok helyét és a kapcsolódáshoz használt felhasználói fiókot kell megadnunk. Az adatforrás bármilyen OLE DB-n vagy .NET-es adat szolgáltatón (provider) keresztül elérhető adatbázis lehet, tehát – a közhiedelemmel ellentétben – nem csak OLAP kockákon tudunk adatbányászati műveleteket végezni, hanem relációs adatokon, Access adatbázisokon vagy akár Excel munkalapokon is.

Az adatforrások komplex adatszerkezetek, melyeknek általában csak egy részhalmazára van szükségünk az adatbányászati feladatunk megoldásához. Azonosítanunk kell tehát azt a táblát, amely az elemzendő eseteket tartalmazza (case table), azon belül azokat a sorokat és oszlopokat, amelyek valóban relevánsak, továbbá azokat a kapcsolódó táblákat, melyek még szükségesek a probléma megoldásához. A teljes adatforrás egy részének ilyen formán történő kivágásához Data Source View (DSV) objektumot kell létrehoznunk. A DSV lehetőséget ad számított oszlopok definiálására is, így akár bővíthetjük is az adatszerkezetünket.

A bemeneti adatok meghatározása után a következő lépés a két legfontosabb objektum, a Mining Structure és azon belül a Mining Model létrehozása. A Mining Structure objektumban írjuk le, hogy a bemeneti adatokat hogyan kívánjuk használni: itt adjuk meg például az egyes oszlopok adattípusát (szám, szöveg, dátum stb.), a tárolt adatok típusát (folytonos, diszkrét stb.), eloszlását (normál, logaritmikus stb.) és célját (bemenet, jóslandó stb.). Mindezek a paraméterek jelentősen befolyásolják a választott algoritmus működését, melyet a struktúrához rendelt modellben határozunk meg és paraméterezünk fel.

Ha megvan a modell, be kell tanítanunk azt, amit a modell feldolgozásának (Process) is neveznek. Az SQL Server 2008 újdonsága, hogy nem kell külön tanító és tesztelő adatokat biztosítanunk, elég megadnunk, hogy a bemeneti adatok hány százalékát használja a rendszer tesztelésre – ez az ún. holdout és tipikusan 30%.

A betanított modell már használható, futtathatunk lekérdezéseket rajta. Előtte azonban célszerű megvizsgálni, hogy a modellünk mennyire sikerült jól. A modell pontosságának meghatározását a BIDS vizuális eszközökkel támogatja, Lift Chart, Profit Chart, Scatter Plots típusú diagramok és Classification Matrix áll rendelkezésünkre. További segítség az SQL Server 2008-ban bevezetett Cross Validation funkció, amely a tanító és tesztelő adathalmazok partícionálásával és forgatásával segíti a modell megbízhatóságának meghatározását.

Miután megbizonyosodtunk a modellünk helyességéről, bevethetjük éles használatra. Ennek legegyszerűbb változata, ha közvetlenül a BIDS eszközeivel végzünk lekérdezéseket a modellen. Hasonló grafikus eszközöket találunk a Management Studioban is, de akár Reporting Servicesből, Excelből és Visioból is kapcsolódhatunk a modellhez.

Első lépések

Célszerű letölteni a hivatalos AdventureWorks példa adatbázist és a hozzá tartozó Analysis Services projektet. Az SQL2008.AdventureWorks_DW_BI_v2008.x86.msi telepítése után a C:Program FilesMicrosoft SQL Server100ToolsSamplesAdventureWorks 2008 Analysis Services ProjectenterpriseAdventure Works DW 2008.dwproj fájlra duplán kattintva megnyithatjuk azt BIDS-ben. Megnyitás után a Build à Deploy menüpontot választva telepíthetjük a projektet a helyi SSAS kiszolgálónkra és megnézhetjük a modellek eredményeit.

Jó tudni

Az AdventureWorks példa projekt a helyi SQL példány AdventureWorksDW2008 adatbázisát használja adatforrásként. A projektben bekonfigurált data source objektum Impersonation beállításai között az alapérték a Use the service account. Ez azt jelenti, hogy ha alapértelmezett beállításokkal telepítettük az Analysis Servicest és a Local Service felhasználó nevében fut a szolgáltatás, akkor a Local Service felhasználót be kell engednünk az SQL Server Database Engine AdventureWorksDW2008 adatbázisába, különben a projekt feldolgozásakor hibaüzenetet fogunk kapni.

Demó

A demóban az AdventureWorks példa adatbázisban található értékesítési adatok alapján határozzuk meg egy adott termék értékesítésének várható alakulását az elkövetkezendő időszakra. Ehhez létrehozunk egy új projektet a Business Intelligence Development Studioban, majd a Microsoft Time Series algoritmus felhasználásával építünk modellt az idősoros adatokra. A kész modellen a BIDS valamint az SQL Server Management Studio segítségével grafikusan, majd pedig parancssorból, Data Mining Extensions (DMX) nyelvű lekérdezéseket futtatunk. A videó a képre kattintva megtekinthető böngészőben vagy a kép alatti linkre kattintva letölthető:

Előrejelzés készítése Business Intelligence Development Studioval - screencast

Letöltés:

További információk

 

SQL Server Analysis Services adatbázisok mentése és visszaállítása – screencast

Az SQL Server Analysis Services adatbázisainak mentésével és visszatöltésével kapcsolatos műveletek az SQL Server Management Studioból grafikusan, vagy akár szkriptből is elvégezhetőek. Bár ez utóbbi esetben Analysis Services Scripting Language (ASSL) formátumú XML-t kell írnunk, nem kell megijednünk a feladattól, messze nincs annyi opció, mint hagyományos SQL adatbázisok mentése esetén.

Íme a mentést végző szkript, melynek kimenete egyetlen .abf (Analysis Services Backup File) fájl:

    <Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
        <Object>
            <DatabaseID>Bikes</DatabaseID>
        </Object>
        <File>D:BackupBikes.abf</File>
        <AllowOverwrite>false</AllowOverwrite>d
        <ApplyCompression>true</ApplyCompression>
        <Password>T1tko5jel52o!</Password>
        <Security>CopyAll</Security>
    </Backup>

A visszaállítás nagyon hasonló, csak a Backup helyett a Restore elemet kell használnunk:

    <Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
        <File>D:BackupBikes.abf</File>
        <DatabaseName>Bikes</DatabaseName>
        <AllowOverwrite>true</AllowOverwrite>
        <Password>T1tko5jel52o!</Password>
        <Security>CopyAll</Security>
        <DbStorageLocation xmlns="http://schemas.microsoft.com/analysisservices/2008/engine/100/100">
            D:Data
        </DbStorageLocation>
    </Restore>

Első lépések

SQL Server Management Studioban bármelyik adatbázison jobb egérgombbal kattintva választhatunk a Back Up és a Restore opciók közül. A megjelenő ablakban a paraméterek beállítása után közvetlenül kattinthatunk az OK gombra, vagy a Script Script Action… gombra kattintva legenerálhatjuk azt a szkriptet, amelyet később a példa programok között található ascmd.exe segítségével futtathatunk.

Jó tudni

Bár mentés esetén az ApplyCompression és a Password elemek megadása opcionális, ha elhagyjuk, az adatbázisban lévő Data Source objektumoknál megadott Connection String kódolatlanul kerül a fájlba, azaz bárki elolvashatja az adatforrásokhoz történő kapcsolódáshoz használt jelszót.

Figyeljünk oda a jogosultságok visszaállítására (ld. Security elem), mert előfordulhat, hogy ha a mentés idején még nem rendelkeztünk rendszergazdai joggal az adott adatbázisban, most a visszaállítás után nem fogunk tudni hozzáférni az adatainkhoz.

Demó

A demóban áttekintjük az SQL Server Management Studio mentési és visszaállítási szolgáltatásait, valamint kitérünk a szkriptelési lehetőségekre és az ascmd.exe használatára. A videó a képre kattintva megtekinthető böngészőben vagy a kép alatti linkre kattintva letölthető:

SQL Server Analysis Services adatbázisok mentése és visszaállítása - screencast

Letöltés: SSAS_adatbazisok_mentese_es_visszaallitasa_(Balassy_Gyorgy).wmv (16:28, 66 871 KB)

További információk

 

SQL Server Analysis Services szkriptelése – screencast

Áttekintés

Az adatbányászati feladatok megoldásához nem elég a T-SQL kifejezőereje, helyette a Data Mining Extensions (DMX) nyelvet használhatjuk. A két nyelv között óriási a hasonlóság – a DMX a T-SQL kiterjesztéseként is felfogható – mindkettőben találunk az adatok szerkezetére (data definition statements) és az adatok kezelésére (data manipulation statements) vonatkozó utasításokat.

Az Analysis Services adatbázis objektumainkat a megszokott CREATE, ALTER és DROP utasításokkal kezelhetjük, létezik például CREATE MINING STRUCTURE és ALTER MINING MODEL utasítás. Miután létrehoztuk a mining structure és mining model objektumainkat, a következő lépés a modell betanítása, azaz feltöltése adatokkal, melyhez az INSERT INTO utasítást használhatjuk. Végül a betanított modellt a SELECT utasítással kérdezhetjük le, melynek számos formája közül prediktív elemzési feladatokhoz valószínűleg legtöbbet ezt fogjuk használni:

    SELECT [TOP <row count>] <select expression list> 
    FROM <model>
    [
        [NATURAL] PREDICTION JOIN 
        <source data> AS <alias>
        [ ON <column mapping> ]
        [ WHERE <filter expression> ]
        [ ORDER BY <expression> ]
    ]

Az Analysis Services teljes körű szkriptelésére az Analysis Services Scripting Language (ASSL) használható. Az ASSL a szabványos XML for Analysis (XMLA) API-t használja a parancsok és paramétereik leírására, melyeket SOAP protokollon keresztül, TCP vagy HTTP felett küldhetünk el a szervernek. Mindegy, hogy OLE DB, ADO, ADOMD.NET vagy bármilyen más kliensből fordulunk a szerverhez, végső soron a provider XMLA-t állít elő, ez ugyanis az Analysis Services platform- és nyelvfüggetlen kommunikációs protokollja.

Első lépések

Szkriptek írásához nagy kezdőlendületet kaphatunk, ha Management Studioban megnyitjuk a Template Explorer ablakot és átváltunk az Analysis Services Templates csoportra, itt ugyanis 30 DMX és 18 XMLA szkript sablon segíti a leggyakoribb feladatok megoldását.

DMX szkriptek esetén további segítség az IntelliSense támogatás, illetve hogy a sablon megnyitása után a Query menüben a Specify Values for Template Parameters menüpontra kattintva gyorsan megadhatjuk a szükséges paramétereket.

Jó tudni

Az XMLA szkriptek írását segíti, hogy amikor a Management Studioban Analysis Services objektumokon vagy a Properties ablakban kattintunk a Script gombra, szintén XMLA szkriptek keletkeznek. Ezeket a szkripteket legegyszerűbben az SQL Server 2008 Integration Services vagy a példa programok között megtalálható ascmd.exe segítségével futtathatjuk, sőt akár saját alkalmazásainkba is beépíthetjük őket az ADOMD.NET provider segítségével.

Demó

A demóban áttekintjük az SQL Server Management Studio szkripteléssel kapcsolatos szolgáltatásait: szó esik az MDX, DMX és XMLA nyelvű szkriptek írásáról, az IntelliSense szolgáltatásról, a Template Explorer ablakról, az automatikus szkript generálás módjáról és természetesen a szkriptek parancssorból történő futtatásáról. A videó a képre kattintva megtekinthető böngészőben vagy a kép alatti linkre kattintva letölthető.

SQL Server Analysis Services szkriptelese screencast

Demó letöltés: SSAS_szkriptelese_(Balassy_Gyorgy).wmv (14:19, 61.6 MB)

További információk

 

Jogosultság-szabályozás SQL Server Analysis Servicesben – screencast

Azt vettem észre, hogy az SQL Server relációs adatmotorját ismerő és használó fejlesztők és üzemeltetők közül sokan fenntartásokkal kezelik az SQL Server Analysis Servicest. Pedig a termék jó, fejlesztők nagyon gyorsan összekattintgathatnak vele üzleti intelligencia megoldásokat és üzemeltetői szemmel sem egy kimondottan bonyolult termék. Kedvcsinálóként készítettem néhány screencastot az SSAS-ről.

Áttekintés

Az SQL Server Analysis Services (SSAS) hozzáférés szabályozása az SQL Server más komponenseitől független és aránylag könnyen átlátható: a Windows felhasználóinkat vagy inkább csoportjainkat szerepkörökhöz rendelhetjük, melyekre meghatározhatjuk, hogy az adatbázis mely objektumát érhetik el.

Az SSAS kétféle szerepkört ismer: kiszolgáló szintű és adatbázis szintű szerepkört. Kiszolgáló szinten csak egy Server Administrators szerepkör létezik, amely felhasználó ennek tagja, az tetszőleges objektumhoz hozzáférhet és tetszőleges műveletet végezhet az adott SSAS kiszolgáló példányban. Noha ez a felhasználói felületen nem látszik, alapértelmezés szerint az operációs rendszer helyi Administrators csoportjának felhasználói tagjai lesznek ennek a szerepkörnek, de a telepítő is külön rákérdez, hogy milyen felhasználói fiókokkal szeretnénk üzemeltetni a kiszolgálót.

Az Analysis Services minden egyes adatbázisában definiálhatunk adatbázis szintű szerepköröket. Itt adhatunk Full control (Administrator), Process database vagy Read definition jogot az egész adatbázisra, de akár részletesen is megadhatjuk, hogy a szerepkör tagjai mely objektumokhoz férhetnek hozzá.

Első lépések

A jogosultságok állítását legegyszerűbben SQL Server Management Studioból végezhetjük el. Az adott SSAS példányhoz csatlakozva a kiszolgáló tulajdonságai között, az Analysis Server Properties ablakban a Security fülre kattintva tudjuk megadni a Server Administrators csoportba tartozó felhasználókat.

Ugyanebben az ablakban a General fülön, ha bekapcsoljuk a Show Advanced (All) Properties kapcsolót, van lehetőségünk állítani a Security BuiltinAdminsAreServerAdmins opciót.

Adatbázis szintű jogosultságokat az adatbázisban a Roles ág alatt adhatunk meg.

Jó tudni

Fontos, hogy Windows integrált hitelesítésről van szó, és hogy felhasználóknak közvetlenül nem adhatunk jogosultságot, csak szerepköröknek. Az SQL Server relációs motorjával ellentétben itt nem használhatunk tiltó (DENY) engedélyeket, így egy felhasználó eredő jogosultsága a szerepköreihez rendelt (megengedő, azaz ALLOW) jogosultságok uniója lesz.

Demó

A demóban áttekintjük a jogosultságok beállításának lehetőségeit mind az SQL Server Management Studioban, mind pedig a Business Intelligence Development Studioban. A demó videó a képre kattintva megtekinthető böngészőben vagy a kép alatti linkre kattintva letölthető.

Jogosultság-szabályozás SQL Server Analysis Services-ben screencast

Demó letöltés: Jogosultsag-szabalyozas_SSAS-ben_(Balassy_Gyorgy).wmv (11:30, 44.3 MB)

További információk