Azure marketplace en nieuwe versie PowerPivot

Gisteren heeft Microsoft de Azure Marketplace aangekondigd (aankondiging) en ook een nieuwe versie van PowerPivot die deze data makkelijk kan opvragen.

Azure Marketplace

Op de Azure marketplace (voorheen Project Dallas) kun je datasets vinden, delen, kopenimage en verkopen. Deze dataset kun je integreren in je eigen BI oplossing om je analyses beter te maken en je rapportages beter te duiden. Hierbij kun je bijvoorbeeld denken aan het betrekken van verkoop gegevens van winkels of weer gegevens om seizoensinvloeden te duiden.

Helaas is het voornamelijk nog op de VS gericht, maar misschien komen er interessante datasets beschikbaar voor Nederland.

Bezoek de datamarket op: datamarket.azure.com

 

Nieuw versie PowerPivot

De nieuwe versie van PowerPivot biedt makkelijke toegang tot de Azure Marketplace. Verder lijken er geen functionaliteiten te zijn toegevoegd of verbeteringen te zijn toegebracht.

Kijk op het blog van het SQL Server team (post) voor de aankondiging en een uitleg hoe je de nieuwe PowerPivot kan installeren als je al een versie hebt draaien.

Posted in powerpivot | Tagged | 1 Comment

Programmatisch bijwerken van een kolom met Zakelijke gegevens

Naar aanleiding van deze post van Wade Hunter wil ik hier graag mijn aangepaste werkende code voor een SharePoint 2010 omgeving posten. Dit zijn mijn eerste stappen in SharePoint en .Net ontwikkeling dus verwacht niet altijd de beste code.

Je kan met deze code een BCS (externe gegevens) kolom in een SharePoint lijst bijwerken. Dit kan handig zijn voor workflows of als je vanuit een externe bron een SharePoint lijst wil bijwerken.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Web;
using System.Xml;
using Microsoft.SharePoint;
using Microsoft.SharePoint.BusinessData.Infrastructure;

namespace BCS
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("http://b10-spdev"))
            {
                SPServiceContext context = SPServiceContext.GetContext(site);
                SPServiceContextScope contextScope = new SPServiceContextScope(context);

                SPWeb web = site.OpenWeb();
                SPList list = web.Lists["CRM"];

                if (list.Fields["Verkoper"].TypeAsString == "BusinessData")
                {
                    SPField bcsfield = list.Fields["Verkoper"];

                    XmlDocument xmlData = new XmlDocument();
                    xmlData.LoadXml(bcsfield.SchemaXml);
                    String bcsEntityName = xmlData.FirstChild.Attributes["RelatedFieldWssStaticName"].Value;

                    SPListItem item = list.Items.Add();
                    item[bcsEntityName] = EntityInstanceIdEncoder.EncodeEntityInstanceId(new object[] { 4 });
                    item["Verkoper"] = "Niles";
                    item["Korte Omschrijving"] = "BCS Test 1";
                    item.Update();
                }
               
            }
        }
    }
}
Posted in sharepoint 2010 | Tagged , | Leave a comment

Magic Quadrant for Horizontal Portals

Figure 1.Magic Quadrant for Horizontal Portals

Gartner heeft een tijdje terug de Magic Quadrant for Horizontal Portals uitgebracht. Voor mensen die in de markt zijn voor een portal is dit goede plek om een aantal producten te vergelijken of alternatieven voor SharePoint te zoeken.

Microsoft wordt samen met IBM rechts als leider gepositioneerd. In het leider quadrant staan verder Oracle, SAP en Liferay.

 

 

Sterke punten van SharePoint

  • Architectuur
  • Adoptie
  • Visie op de Cloud

Zwakke punten van SharePoint

  • Vendor lock-in
  • Upgrade naar 2010
  • Beheer uitdagingen
Posted in sharepoint, sharepoint 2010 | Tagged , | Leave a comment

PowerPivot in de praktijk

Als je jezelf afvraagt waar je PowerPivot in de praktijk voor kan gebruiken, dan moet je zeker de laatste post van Rob Collie (blog|post) lezen. Rob haalt in zijn (niet geheel objectieve) post precies het voorbeeld naar voren waar PowerPivot in excelleert.

De eindgebruikers (samen met één consultant) bouwen hun eigen BI oplossing, of hun eigen BI prototype in een bijzonder korte tijd. En identificeren daarbij gaten in de data, geven advies voor verbetering en bouwen een nieuw model als de eerste bouwronde niet het gewenste resultaat oplevert.

Posted in powerpivot | Tagged | Leave a comment

SharePoint 2010: de ULS viewer

Een blog van Spencer Harbar (blog|post) wil ik graag met jullie delen.

Hij promoot de ULS viewer voor SharePoint. Een tool die eigenlijk een must is voor iedere SharePoint beheerder en ontwikkelaar die de SharePoint logs weleens opent om naar een fout te zoeken.

Een aantal features:

  • Real time ULS weergave
  • Real time notificaties
  • Correlation ID filtering en groeperen

Kijk voor meer info op het blog van Spencer Harbar.

image

Posted in sharepoint 2010 | Tagged | Leave a comment

SharePoint 2010 – Beperkingen Externe Lijst

De introductie van BCS in SharePoint 2010 is een verademing ten opzichte van BDC in SharePoint 2007. De configuratie is veel eenvoudiger en je hebt zo je externe gegevens ontsloten naar SharePoint. Eén van de nieuwe features is een Externe Lijst in SharePoint 2010. Deze Externe Lijst gedraagt zich voor een groot deel als een normale SharePoint lijst. Zo is het lezen, creëren, bewerken en verwijderen (CRUD) volledige toegestaan in een externe lijst (mist zo geconfigureerd uiteraard).

Beperkingen

BCS heeft echter ook wat beperkingen. Dat is ook wel logisch, want alhoewel het lijkt alsof het SharePoint data is, is dit natuurlijk niet zo. Een voorbeeld:

Met BCS kan je bijvoorbeeld makkelijk klantgegevens in een externe lijst tonen. Nu lijkt het logisch om bijvoorbeeld een workflow te starten als klantdata in je ERP systeem veranderd. Bijvoorbeeld om een dubbele controle uit te voeren. Waar SharePoint gebruik kan maken van Event Receivers om te controleren of een item is gewijzigd kan dit op een externe lijst niet. SharePoint zou dan ieder moment moeten controleren of er een record in de externe gegevensbron is gewijzigd. Afgezien van de technische moeilijkheid om dit te implementeren, is dit ook niet wenselijk gezien de zware belasting op het bron systeem.

Dilbert.com

Zo zullen er nog meer technische of praktische redenen zijn waarom niet alles mogelijk is met een externe lijst.

Een samenvatting van de beperkingen:

  1. Geen workflows op een externe lijst
  2. Geen Information Management Policies
  3. Geen versiebeheer of geschiedenis
  4. Geen gegevensblad weergave
  5. Geen ratings
  6. Geen mogelijkheden om te exporteren naar Excel, voor het maken van Visio diagrammen of te openen met Access of Project Manager
  7. Geen Rest toegang met ListData.svc
  8. Geen RSS feeds
  9. Geen rechtenbeheer op item niveau
  10. Geen item of veld validatie

Zie voor een toelichting het blog van Michal Pisarek (blogpost)

Ondanks alle nadelen ben ik nog steeds fan van de mogelijkheden van BCS.

Posted in sharepoint 2010 | Tagged , , | Leave a comment

Een Reporting Services rapport met een SharePoint lijst als bron (3)

In twee blog posts (post 1 | post 2) heb ik uitgelegd hoe je een rapport kan maken waarbij de bron data uit SharePoint komt.

Nadeel van deze functionaliteit is dat je data soms anders gepresenteerd wordt dan in je SharePoint lijst. Bij deze twee voorbeelden en hoe ik deze teksten heb op geschoond.

Voorbeeld 1: Gebruikersnamen

Bij het laten zien van een gebruikersnaam wordt deze door de webservice als volgt getoond:

1
12;#Martijn Eikelenboom

Je wilt echter alleen de tekst zien en niet het nummer dat SharePoint ervoor zet.

Daar kun je de volgende code voor gebruiken:

1
2
3
Public Shared Function CleanUserName (ByVal User As String)
    CleanUserName = Mid(User,InStr(1,User,"#")+1)
End Function

Wat doet deze functie? Met InStr bepaal je de plaats van het “#”-teken. En met Mid geef je de tekst terug rechts vanaf de positie die je met InStr bepaald heb.

Voorbeeld 2: Tekst met <div> tags en $nbsp tekens.

Tekst met meerdere regels bevat vaak deze div en nbsp elementen. Dit is vrij eenvoudig op te lossen door de Replace functie:

1
2
3
4
5
Public Shared Function Body (ByVal BodyText As String)
    Body = Replace(BodyText,"<div>","")
    Body = Replace(Body,"</div>","")
    Body = Replace(Body,"&nbsp;"," ")
End Function

Met Replace vervang een bepaalde tekst door een andere. En in dit geval doe ik dat drie keer.

Voor meer string functies kun je onder andere deze website bekijken:
www.vb6.us

Posted in Uncategorized | Leave a comment

Map Gallary voor Reportings Services SQL Server 2008 R2

In SQL Server 2008 R2 wordt standaard alleen maar de kaart van de VS meegeleverd. Dat alleen de VS wordt meegeleverd heeft alles te maken met het feit dat Microsoft zich niet wil branden aan onduidelijke en veranderende landgrenzen.

Om het voor gebruikers van deze functionaliteit in Reporting Services toch wat eenvoudige te maken om kaarten te vinden is er op Codeplex (site) een project gestart om kaarten van alle landen in de wereld te verzamelen.

Hier kun je dus kaarten vinden, of zelfs bijdragen als je dat wilt.

Project:

http://mapgallery.codeplex.com/

Posted in reporting services | Tagged , | Leave a comment

Een gids voor Reporting Services en SQL Express (5) – Filter en Deploy

De vorige post in deze serie is alweer een tijdje geleden. Nu mijn vijfde en laatste post.

We waren gebleven bij een bruikbaar rapport dat alleen nog maar naar de server verplaats moest worden en dat als uitbreiding een filter kan gebruiken.

Filter toevoegen

In Reporting Services heb je twee mogelijkheden om de je gegevens te filteren. Dit doe je met een filter in je rapport of een parameter in je query. De laatste optie is vaak de betere. Bij een parameter in je query wordt de data gefilterd voordat deze door SSRS gebruikt wordt. Met een filter haalt SSRS eerst alle data op en filtert daarna pas. Zeker met grote datasets kan dit behoorlijk inefficiënt zijn. Zoals ik in post 3 al zei is dit geen serie om t-sql te leren en ga ik in deze serie dus gebruik maken van een filter.

Het maken van een filter doen we in de eigenschappen van de dataset. Ga hiervoor naar het Report Data venster (View –> Report data) en selecteer met een rechtermuisklik de Dataset Properties.

Links in het venster zie als één na onderste optie de Filter tab staan:

image

Door het filter op onderstaande manier in te richten wordt alle data in het rapport gefilterd op de product categorie Bikes:

image

Zo kun redelijk eenvoudig ongewenste delen uit je rapport filteren.

Publiceren op de Server

Na al je ontwikkel werk, wil je het rapport natuurlijk beschikbaar stellen aan de mensen voor wie het bedoeld is. Reporting Services heeft hiervoor een report server. In blog post 2 hebben we deze al even getest.

Om het rapport te publiceren moeten we nog even wat instellingen nalopen. Ga hiervoor naar Project  en dan de onderste optie (<de naam van je project> Properties).

In dit venster moet je de juiste server instellingen en mappen weergeven:

image

Als hier al standaard waarden staan, dan kun je deze laten zo als ze zijn. De belangrijkste parameter die je moet controleren is TargetServerUrl. In mijn geval is dat http://localhost/ReportServer, de url waarop we reporting services hebben geïnstalleerd.

Door nu met een rechtermuisklik te klikken op het rapport, kunnen we voor Deploy kiezen:

image

Als alles goed gaat zie je nu onderin BIDS een aantal dingen voorbijkomen:

image

Zolang hier alles op Succeeded staat gaat het goed.

Om het rapport te bekijken kunnen we naar de url gaan die je in blog 2 al een keer getest heb. In mijn geval dus http://localhost/reports.

image

image

image 

 

Einde serie

Dit is de laatste post in deze serie. Ik heb je laten zien hoe je met alleen maar gratis tools van a tot z een basis rapportage omgeving kan maken. Voor veel scenario’s waarbij je niet het geweld van de grote BI omgevingen nodig hebt, kan dit zeer bruikbaar zijn. Een goed scenario voor de presentatie is de integraties met SharePoint (WSS). Zo creëer je een basic intranet met dashboards zonder een euro uit te geven aan licenties.

Suggesties of vragen zijn altijd welkom. Ik ben altijd op zoek naar onderwerpen om een blog over te schrijven, dus schroom niet om een verzoek achter te laten in de comments.

Posted in reporting services | Tagged , , , | Leave a comment

Een Reporting Services rapport met een SharePoint lijst als bron (2)

In een vorige post heb ik toegelicht hoe je met SSRS een SharePoint lijst kan benaderen. Voor SQL Server 2008 R2 is dit echter niet meer nodig. Hier heb je standaard een optie om een SharePoint lijst te benaderen als Data Source.

Enkele Screenshots:

Data Source

ssrs sharepoint list 1

ssrs sharepoint list 2

Dataset

De toegevoegde waarde zit vooral in het toevoegen van de Dataset. Geen ingewikkelde XML meer, maar klikken en selecteren om de gewenste resultaten te krijgen.

ssrs sharepoint list 3

De magie zit achter Query Designer:

ssrs sharepoint list 4

Eenvoudig velden selecteren en parameters toevoegen. Uiteindelijk wordt dezelfde XML opgebouwd als je gebruikt prè SQL 2008 R2.

Posted in reporting services | Tagged , , | Leave a comment