Etikettarkiv: SSRS

Calculated measures och query scoped members

Calculated Measures är en kraftfull funktion i OLAP-kuber som används för att utöka kubfunktionalitet genom att kombinera vanliga measures och dimensioner med varandra. En calculated measure definieras i själva kuben medans en query scoped member å andra sidan definieras i en query. Ibland kan en query scoped member vara enda utvägen beroende på användarrättigheter eller p.g.a. prestandaskäl. Läs mer


Calculated measures and query scoped members in SSRS

Calculated Measures are a powerful feature in OLAP cubes. They are used to extend cube functionality trough combining actual measures and dimensions with each other. A calculated measure is defined in the cube whereas a query scoped member is defined in an MDX-query.  Sometimes a query scoped member might be the only option due to user rights or performance reasons.

Let’s say we want to define a query-scoped member that allows us to subtract the previous period’s sales from the current period to find out whether sales increased or decreased. First open SQL Server Management Studio then connect to  SSAS,  open the Adventure Works database and create the following query:

with member [Measures].[Sales Growth] as
([Measures].[Reseller Sales Amount]) -
(ParallelPeriod([Date].[Calendar].[Month],1,[Date].[Calendar].CurrentMember),[Measures].[Reseller Sales Amount])
select {[Measures].[Reseller Sales Amount],[Measures].[Sales Growth]} on columns,
non empty [Date].[Calendar].[Month].Members on rows
from [Adventure Works]

To define Sales Growth we make use of the ParallelPeriod function and the CurrentMember property. Let’s dissect the ParallelPeriod function call:

The first parameter is the Month level of the [Date].[Calendar] hierarchy. It defines the period:

(ParallelPeriod([Date].[Calendar].[Month],1,[Date].[Calendar].CurrentMember),[Measures].[Reseller Sales Amount])

The second parameter defines the period lag. By passing 1 as an argument we get the previous month:

(ParallelPeriod([Date].[Calendar].[Month],1,[Date].[Calendar].CurrentMember),[Measures].[Reseller Sales Amount])

The third argument defines the hierarchy which we will use to slice the value. The CurrentMember property tells the execution engine to look for the current member of the other axis:

(ParallelPeriod([Date].[Calendar].[Month],1,[Date].[Calendar].CurrentMember),[Measures].[Reseller Sales Amount])

Note that we can use both the [Date]. [Calendar].[Month] and [Date]. [Calendar].[Date] levels of the [Date].[Calendar] hierarchy to slice the data along the rows-axis. I.e.: [Date].[Calendar].[Date].Members  or [Date].[Calendar].[Month].Members

The above was all done in SQL Server Management Studio, to accomplish the same in an SSRS report:

  1. Fire up BIDS, and start a Report Wizard project that we connect to the SSAS Adventure Works database. Click next.
  2. Open the query designer, drag the [Date].[Calendar].[Month] dimension and [Measures].[Reseller Sales Amount]) to the results pane (the big one).
  3. In the lower left pane of the query designer, right click and select “Add New Calculated Member”.
  4. In the Calculated Member Builder window paste the following part of the query we designed in Management Studio:([Measures].[Reseller Sales Amount]) -
    (ParallelPeriod([Date].[Calendar].[Month],1,[Date].[Calendar].CurrentMember),[Measures].[Reseller Sales Amount])
  5. Type [Sales Growth] in the uppermost textbox.
  6. Click ok and then simply drag the calculated measure from the lower left pane to the center pane. You should now see both  [Measures].[Reseller Sales Amount] and[Measures].[Sales Growth] data.

You can now go on and create an SSRS report using the query scoped member.


BI Top 10 förutsägelser

Vilka förutsägelser om BI från förra året har slagit in?

I en artikel skriven den 5 mars på sajten Information Management så gjordes följande förutsägelser för 2010:

1. Företagsomfattande dataintegration. Många företag och myndigheter förutspåddes lägga pengar på att samla data från organisationens olika delar för att förbättra riskanalys och kundhantering.

Utfall: Enligt  IDC växte denna marknad globalt med 10.9% under första halvan av år 2010.Siffrorna för andra halvan finns ännu ej tillgängliga men det finns ingen anledning att tro att marknaden krympt
under andra halvan av 2010. Att stora aktörer ser framåt illustreras också av Dells uppköp av Boomi, ett företag som erbjuder integration i molnet.

2. Semantisk teknologi. Ökad använding av semantisk teknologi, d.v.s. att söka och organisera ostrukturerad data. Semantisk teknologi låter oss också kombinera ostrukturerad och strukturerad data.

Utfall: Enligt Information Management så har Facebook beslutat att ytterligare utveckla sitt erbjudande på detta område. Detta kommer att driva på utvecklingen. Räkna med fortsatt utveckling under resten av 2011. Även Microsofts integration av exempelvis RSS-flöden i SSRS är en del av denna trend.

​3. Ökad användning av avancerad analys inklusive automatiskt beslutsfattande.

Utfall: Inom t.ex. finansmarknaden är detta redan vanligt. Andra områden som t.ex. detaljhandel och tillverkning släpar dock efter och här finns det mycket att göra. Särskilt inom data mining är ett eftersatt område, enligt analytikerfirman Ventana research så använder sig bara ett av åtta företag av data mining men 80% av de totalt 2600 tillfrågade ansåg samtidigt att det var viktigt. Jag vet av egen erfarenhet att SQL Servers prognosfunktioner är sorgligt underutnyttjade.

4.  Höjning av datakvalitet. Många företag och myndigheter förutspåddes lägga pengar på att höja datakvaliten.

Utfall: Jag har inte hittat några siffror eller andra indikationer på hur det har gått. Däremot menar Gartner att Master Data Management, som är ett relaterat område, kommer bli hett under 2011.

5. Minskat avstånd mellan produktionsmiljö och analysdata. Man förutspådde en snabbare analyscykel där man går snabbare från analys till beslut och där analys av affärsdata och operativdata konvergerar.

Utfall: Detta är lika mycket en organisatorisk som en teknisk fråga, att verktygen blir bättre betyder inte automatiskt att beslutsfattande delegeras till de som bäst förstår datan därför är utfallet av denna förutsägelse svår att mäta. Jag tror att företag som vågar anpassa sin organisation efter den nya tekniken har mycket att hämta här.

​6. En ny generation driver fram nya prioriteringar inom Data Warehousing och BI. BI applikationer skall inte vara separata utan integreras med andra applikationer. Nya datakällor måste snabbt kunna länkas.​

Utfall: In-memory BI-verktyg som Qliktechs Qlikview och Microsofts PowerPivot låter oss snabbt länka data. Vad det gäller integration med andra applikationer så jobbar Qliktech mycket med att
integrera sina lösningar med smartphones, Microsoft PowerPivot å andra sidan integrerar utmärkt med räknenissens främsta vän, Excel, samt även med Sharepoint. Dessa nya verktygs akilleshäl är dock datakvalitet. Qlikview tillåter visserligen att man skriver scripts för att tvätta datan men det är komplicerat om man jämför med specialiserade ETL-verktyg som SSIS och Informatica.

​7. Nya möjligheter och ökade effekter drivna av CEP (Complex Event Processing). Analys av strömmande data nära realtid blir vanligare. Traditionella BI-system analyserar data lagrat i data warehouse medans CEP handlar om att analysera strömmande data från exempelvis PLCs, mobiltelefoni, finanssystem eller sociala medier.

Utfall: CEP är fortfarande hett, Twitter och Digg öppnade upp Streaming APIs. Microsoft släppte StreamInsight som är en CEP produkt som ingår i SQL Server 2008 R2 paketet. Skall bli spännande att följa detta område och se om användningen kommer att öka. På finansmarknaden används CEP för s.k algorithmic trading och även om vi förra året fick se en mystisk krasch den 6 maj där skenande CEP-system orsakade problemen så ökar användningen.

8. Ökad analys av ostrukturerad och semi-strukturerad data. Många organisationer har system för att versionskontroll och dokumenthantering men saknar verktyg för att integrera detta i beslutsprocessen. M.h.a. verktyg som t.ex.  MapReduce så kan man analysera denna typ av ostrukturerad data.

Utfall: Tack vare molnleverantörer som Gogrid och EC2 så blir det allt billigare att analysera stora datamängder m.h.a. t.ex. MapReduce. Molnleverantören Platform Computing noterar en fördubbling i efterfrågan på bl.a. Mapreduce lösningar och har skrivit avtal med flera Fortune 500 företag.

9. BI kan hjälpa till att vidga insikten vid beslutsfattande genom att inkorporera data från social computing.​

Utfall: Detta är en växande marknad och det märks genom att ett antal företag som t.ex. Gnip och Superfeedr som sysslar med att extrahera och förädla data från bl.a. Twitter, Gowalla och Facebook har poppat upp. Flera av Microsofts produkter, t.ex. SSRS och PowerPivot, låter oss ställa länka till Atom-feeds som är ett vanligt format för data från sociala medier.

10. Ökat intresse för molnlösningar för BI. Enligt Information Management så ökar komplexiteten och driftskonstnaderna för BI-lösningar vilket i sin tur driver ett ökat intresse för BI i molnet.​

Utfall: Vi ser redan ett antal aktörer som erbjuder färdiga SaaS lösningar, det är dock en lång väg att gå innan företag accepterar lagring av känslig data i molnet. Även regelverk och lagar kan motverka att BI flyttar till molnet. Existerande BI-lösningar hanterar inte datamodeller särskilt väl och detta gör dem oattraktiva för företag med komplex verksamhet. Enligt Martin Willcox på Teradata så ser detta företag, som erbjuder lösningar till främst större företag, i dagsläget ingen efterfrågan på molnlösningar från sina kunder. Jag har själv inte sett något som får mig att tro att Willcox har fel.


Följ

Få meddelanden om nya inlägg via e-post.