On Premise Mobile Reporting

Bis zum Erscheinen der CTP 3.2 des SQL Servers 2016 beschränkte sich die Bereitstellung  und der Konsum von mobilen Reports auf Cloud-Szenarien mit Power BI innerhalb eines entsprechenden Office365 Abonnements.
Wer – trotz Bedenken hinsichtlich der Bereitstellung der eigenen Daten in Azure – die Möglichkeiten eines solchen Abonnements nutzen kann, stellt recht schnell fest, dass eine Einbindung von multidimensionalen SSAS Datenquellen nicht ohne weiteres möglich ist. Denn der SSAS Connector beschränkt sich auf tabulare Modelle; die bisher weiter verbreiteten multidimensionalen Modelle werden nicht unterstützt (siehe https://powerbi.microsoft.com/en-us/documentation/powerbi-analysis-services-connector/).

Mobile Reporting @ Enterprise Level
Für die Mehrheit der Enterprise Kunden fehlte in Bezug auf das Thema mobile Reporting bislang eine infrastrukturell vertretbare Lösung, die folgende Anforderungen erfüllt:

  • Bestehende multidimensionale SSAS Cubes müssen als Datenquelle dienen
  • bereits existierende Objekte (Reports, Data Sets, usw.) müssen wiederverwendet werden
  • Daten dürfen nicht in der Cloud bereitgestellt werden

Letztlich sollen bereits getätigte Investitionen in die bestehende BI Landschaft auch für ein mobile Reporting genutzt werden, ohne erhebliche Kosten für Migration oder Anpassungen in Kauf nehmen zu müssen. Dabei sollen zuvor entwickelte SSRS Reports nicht abgelöst werden, sondern nur um eine mobile Auswertbarkeit/Bereitstellung ergänzt werden.

Die Antwort liefert Microsoft in der aktuellen Community Tech Preview (CTP 3.2) des SQL Server 2016 in Form des Mobile Report Publishers. Dieses neue Tool ist Bestandteil der Reporting Services 2016 und bietet die Möglichkeit eines on premise mobile Reportings auf Enterprise Level.

Frischzellenkur für SSRS
Im Rahmen der neuen SSRS Version wurde der etwas in die Jahre gekommene Look der Reporting Services Web-Oberfläche komplett überarbeitet und optisch an Office365 angelehnt. Die Vorschau-Seite von SSRS 2016 ist zugänglich über den Suffix “_preview” in der bekannten “Report Manager URL”:

SQL Server Reporting Services

Über die neue Oberfläche sind jetzt nicht nur die mobilen Berichte, sondern auch die bestehenden „klassischen“ SSRS Reports (paginated Reports) zugänglich.

Mobile Report Publisher
Die mobilen Berichte werden über den SQL Server Mobile Report Publisher (Desktop APP) erstellt und anschließend in den Reporting Services bereitgestellt.

Als Datenquelle fungieren bereitgestellte Shared Data Sets (relational & SSAS multidimensional), die optional durch Daten aus Excel-Mappen ergänzt werden können.

Über die Registerkarte “Layout” können dem Grid Visualisierungen hinzugefügt werden, die Größe des Grids und der einzelnen Visualisierungs-Objekte ist konfigurierbar für eine optimierte Darstellung für Tablets und Smartphones.

DemoReport

Über die Registerkarte “Data” werden die  Visualisierungs-Objekte mit den Daten aus Datasets oder Excel bestückt.

SQL Server Mobile Report Publisher

Nach Veröffentlichung des Berichts kann dieser über das SSRS Web-Frontend konsumiert werden:

Web Frontend

Zusätzlich können veröffentlichte Berichte über die Power BI App direkt in der App konsumiert werden:

Power BI Mobile Reports & KPI on iOS

Aktuell ist dies allerdings nur auf iOS Geräten möglich, auf Android Geräten steht diese Funktionalität bisher noch nicht zur Verfügung (wir gehen von einer zeitnahen Erweiterung auf Android aus).
Als zusätzliches Feature können bestehende Power BI O365 Accounts in SSRS Instanzen integriert werden, so können paginated Reports Bestandteile in Office365 Power BI Dashboards veröffentlicht werden.

Fazit
Microsoft nimmt massiv Fahrt auf, was die Bereitstellung mobiler Reports im Enterprise Kundenumfeld angeht. Die Strategie ist gesetzt und in der BI Roadmap klar erkenntlich.
Die „guten“, „alten“ Reporting Services sind damit nicht abgelöst, erhalten aber eine längst überfällige Frischzellenkur. Die größten Benefits bringen der Mobile Reports Publisher sowie die Verwendung von HTML5 in SSRS Berichten.

Downloads
Mobile Report Publisher preview 2
SQL Server 2016 CTP 3.3
SQL Server 2016 CTP 3.3 Report Builder
SQL Server Data Tools Preview (Visual Studio 2015)

Big Data Hands On Part 2: Strukturierte Daten mit Hive

Nachdem im vorherigen Beitrag die Installation einer HortonWorks Umgebung vorgestellt wurde, zeigt dieser Beitrag Anwendungsmöglichkeiten von Hive auf.
Das Hadoop Hive Modul ermöglicht DDL und DML Befehle auf Daten im verteilten Dateisystem in T-SQL ähnlicher Syntax.

Für eine Einführung wird zunächst die Hive-Konsole im Verzeichnis “c:hdphive-0.12.0.2.0.0.6-0009in” via hive.cmd aufgerufen. Nach dem öffnen der Hive-Konsole wird eine Tabelle "u_data" erstellt, die Syntax ähnelt der SQL Syntax. Besonderheiten bei HiveQL sind abweichende Datentypen wie etwa String. Im Weiteren muss ein Trennzeichen “;” beim Erstellen der Tabelle angegeben werden, dieses ist abgesehen von wenigen Ausnahmen optional in T-SQL.

demo1

Beim Erstellen kann auch ein Column Delimiter angegeben werden:

ROW FORMAT DELIMITED FIELDS TERMINATED BY "	"

In diesem Beispiel wird TAB als Trennzeichen verwendet. Nach dem erfolgreichen Erstellen der Zieltabelle kann diese mit Daten befüllt werden, in diesem Beispiel rund 100.000 Datensätze mit Kinofilmbewertungen.

Die LOAD DATA Funktionalität ähnelt dem SQL Server Tool bcp.exe, hierüber können Daten aus Textdateien in Tabellen geladen werden. Nach erfolgreichem Erstellen der Tabelle wird diese beladen, die Syntax zum Beladen lautet:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename;

Der Platzhalter “filepath” entspricht dem Pfad zur Datei z.B. "C:DemoDemo.csv" und muss entsprechend ersetzt werden.

OVERWRITE entspricht einem TRUNCATE vor der Beladung.

Die korrekte Beladung kann über einen SELECT Befehl geprüft werden:

SELECT COUNT (*) FROM u_data

Der Jobtracker gibt Auskunft:

demo1_1

Die Ausgabe erfolgt über die Hive-Konsole (siehe Markierung am unteren Ende)

demo2

Einbindung von Hive Daten in SSIS

Mit dem Hive ODBC Treiber ist es nun möglich die Daten der Tabelle in Excel auszuwerten, oder in einem SSIS Datenflusstask zur weiteren Bearbeitung zu nutzen.

Hierzu muss der Treiber konfiguriert werden im Hadoop Installationsverzeichnis unter “C:hdphive-0.12.0.2.0.6.0-0009conf” findet sich die Konfigurationsdatei hive-site.xml, hier ist der thrift Port für die Verbindung zu Hive hinterlegt.

<property>

  <name>hive.server2.thrift.http.port</name>

  <value>10001</value>

  <description>Port number when in HTTP mode.</description>

</property>

Username und Password entsprechen den bei der Installation gesetzten Werten. Für Hadoop 2.1 muss Server Type auf “Hive Server 2” gesetzt werden. Die Authentifizierung erfolgt über Username und Password.

image

Innerhalb eines SSIS Datenfluss Tasks kann nun die konfigurierte ODBC als Quelle genutzt werden.

image

Die recht lange Abfragezeit von rund 30 Sekunden für ein SELECT auf rund 100.000 Datensätzen ist den vergleichsweise knapp bemessenen Ressourcen der VM geschuldet. Die laufenden Hadoop Services fordern hier Ihren Tribut an die verfügbaren Ressourcen.

image

Ein folgender Artikel betrachtet Hadoop Pig und dem Umgang mit unstrukturierten Daten.

Fazit

Über wenige simple Konsolenbefehle kann mit Hive ein Flatfile in eine Staging Tabelle geladen werden. Wer allerdings eine GUI wie etwa BIDS oder BI-DataTools für einen ETL Editor bevorzugt, der sollte sich in Hive an eine Konsole gewöhnen. Über den ODBC Treiber können Hive Daten aus der Hadoop Welt etwa in Excel oder SSIS verwendet werden.

In diesem Kontext lässt sich auch über Hybrid Data Warehouse Szenarien nachdenken, so könnten Big Data Datenbestände in vorhandene DWH Systeme eingebunden werden. Neben der reinen Datenhaltung ermöglicht Hadoop mit Pig auch Transformationen an Datenbestände, dies gilt für strukturierte und unstrukturierte Daten. So könnten etwa PDF Dateien nach bestimmten Kriterien durchsucht werden und die Ergebnisse in Form von strukturierten Daten zugänglich gemacht werden. 

Big Data Hands On Part 1: Getting Started

Dieser Beitrag zeigt Möglichkeiten zum Einstieg in die Big Data Thematik auf. Es werden technische Herangehensweisen gezeigt, um einen ersten Eindruck von den Anwendungssystemen zu gewinnen. Grundlage ist eine Hortonworks Hadoop HDP 2.1 Installation. Diese stellt ein Ökosystem zur Verwaltung von strukturierten und unstrukturierten Daten bereit.

Auf grundlegende technische Begriffe der Hadoop Architektur wie MapReduce, HDFS, Namenode, Datanodes wird in diesem Hands On Beitrag nicht eingegangen.

Intro Installation

Getreu dem Motto „Think big… start small" sollte man sich auf diesem Wege Big Data nähern. Ziel ist ein virtuelles Hortonworks Lab in einer Hyper-V Umgebung.

Zunächst möchte ich allerdings Alternativen zu einer selbstkonfigurierten Hyper-V Umgebung aufzeigen. Für ein hands on  in Big Data Umfeld bietet sich der HDInsight Server an. Dieser steht on-premise als Developer Preview (diese unterstützt z. Zt. nur eine Single-Node Installation) zum Download bereit, als Cloudlösung ist HDInsight auf Windows Azure verfügbar.

Neben dem On-Premise- und Cloudserver steht auch ein HDInsight Emulator zur Verfügung.

Der Cloudbasierte Azure HDInsight Service erfordert zum jetzigen Zeitpunkt tiefgehende PowerShell Kenntnisse. Auch das zur Verfügung stehende Kontingent auf Azure ist bei mehreren Nodes recht schnell erschöpft.

Für einen technischen Deepdive empfehle ich den Einsatz einer Hortonworks Hadoop Installation in einer Hyper-V Umgebung. Hier kann der versierte User auch hinter die Kulissen blicken. Wer den Installationsaufwand scheut, kann über die HortonWorks Website eine Sandbox VM herunterladen.

  • Sandbox VM als Download
    läuft out of the box und liefert mit Hue eine angenehme Web GUI

Für eine vollständige Installation in einer Hyper-V Umgebung kann die Hadoop Data Platform
(HDP 2.1) separat hier heruntergeladen werden. Hortonworks stellt HDP 2.1 für Linux und Windows bereit.

  • Manuelle Installation auf Linux Server via Ambari (Hadoop Installations Wizard)
    • RHEL/CentOS/SLES (64-bit)
  • Vollständig manuelle RPM oder TarBall Installation unter Linux ohne Ambari
    • Ubuntu/RHEL/CentOS/SLES (64-bit)
  • Hadoop Windows Installation
    • Wizard Unterstützung

In diesem Beitrag wird eine Windows Installation verwendet. Nach erfolgreicher Installation unter Windows Server 2012 R2 bietet sich im %HADOOP_ROOT% Folder folgendes Bild:

image

Neben den Teilmodulen des Hadoop Ecosystems finden sich hier diverse Power Shell / Batch Shell Skripte zum Starten und Stoppen der Windows Services. Bei den einzelnen Teilkomponenten handelt es sich um Java Programme.

Auf dem Desktop werden einige Links zu Websites für die Verwaltung der HDP Features angelegt:

image

Über den Link Hadoop YARN Status gelangt man z.B. zur Website des Ressource Locators
(YARN = Yet Another Ressource Locator). Dieser übernimmt nach Einrichten eines Jobs die Ressourcenallokation über die Nodes. Im Folgenden ein Beispiel des Job Trackers für einen Pig Job.

image

Fazit

Wer eine Einstiegsmöglichkeit in die Big Data Welt sucht und einen Eindruck von den verwendeten Technologien und Anwendungen sucht, der ist mit der von HortonWorks bereitgestellten DataPlattform  gut ausgestattet. Der Installtionsaufwand ist überschaubar und erste Ergebnisse lassen sich mit geringem Zeitaufwand generieren.

Wer zuvor in der Welt der SQL Server Management Tools beheimatet war, muss sich allerdings an eine grundlegend andersartige Umgebung gewöhnen – an Konsolenbefehlen führt in der Hadoop Welt kein Weg vorbei. Dank Verwendung von Skripten wie etwa Python in MapReduce Jobs via Pig lassen sich auch ETL Prozesse in Hadoop realisieren.

Im folgenden Beitrag werde ich anhand eines Beispiel-Hives den Umgang mit strukturierten Daten vorstellen.

Informationen zu MapReduce
http://research.google.com/archive/mapreduce.html

Hardware Referenz Architektur:
http://hortonworks.com/wp-content/uploads/2013/10/HP_Reference_Architecture_Jun13.pdf

Power BI: Cloud BI und mehr

Seit rund zwei Monaten ist mir ein Zugang zu einer Office 365 Preview inklusive Power BI gewährt. Im folgenden Beitrag gehe ich auf die Möglichkeiten von Power BI ein. Power BI ist die Kombination von Excel Add-Ins und SharePoint Online Services. Datenbestände werden mit Power Pivot und xVelocity hoch perfomant und komprimiert in Excel Arbeitsmappen gespeichert.

Dank xVelocity können diese Daten über ein In Memory Modell ausgewertet werden. Die Excel Mappen können unter Verwendung eines SharePoint Online Abonnements online bereitgestellt werden. Neben der reinen Bereitstellung der Daten inkl. Rechteverwaltung können auch Abfragen geteilt werden.

Power Query

Diese Power Query Funktion ermöglicht es Sichten auf Daten zu verteilen, nicht die Daten selbst. Somit kann redundante Datenhaltung unterbunden werden, ohne die verschiedenen Anforderungen einzelner Berichts-Empfänger zu beschränken.

Wie lassen sich vorhandene Datenbestände in Excel Mappen integrieren?

Hier bestehen zwei Möglichkeiten, zum einen können die Excel Mappen vor dem Upload auf SharePoint Online beladen werden z.B. via OLEDB Zugriff auf einen SQL Server oder durch Nutzung des Data Management Gateway. Dieser ermöglicht es lokale Datenbestände über eine verschlüsselte Verbindung bereitzustellen.

Werden Datenverbindungen in Excel Arbeitsmappen eingerichtet, kann hier eine automatisierte Aktualisierung der Daten im Power Pivot Datenmodell erfolgen.

Q&A Queries

Ein herausragendes Feature ist das sogenannte Q&A “Question and Answer”. Hier können Auswertungen über natürliche Abfragesprache generiert werden. Ich befrage meinen Datenbestand.

QaA

Die Abbildung zeigt die Antwort auf die Frage “sales by category and month”. Grundlage ist hier eine Demomappe einer Bar. Die grafische Darstellung kann frei gewählt werden.

Die Darstellungsform (Tabelle, Karte, Liniendiagramm, Balkendiagramm, Tortendiagramm) wird automatisch über den Kontext der Frage gewählt, kann aber verändert werden:

 

Im Folgenenden ein Überblick über die einzelnen Power BI Cloud Bestandteile:

Power BI Sites

In SharePoint Online können kollaborative BI Seiten für die Verteilung von Berichten und Data Views eingerichtet werden. Excel Mappen und geteilte Abfragen können hier an Berichtsempfänger verteilt werden. Einzelne Arbeitsmappen können für den Zugriff von mobilen Endgeräten freigegeben werden. Durch Integration von Active Directories in die Benutzerverwaltung von Office 365 können Berechtigungen übertragen werden.  

Data Stewardship

Die Verwaltung und Verteilung der Data Views erfolgt über das Data Stewardship Interface. Entsprechende Berechtigungen für den Zugriff auf eingerichtete Datenquellen werden hier administriert.

Power BI Windows Store App (Mobile Access)

Über Power BI Apps wird ein mobiler Zugriff auf in SharePoint Online bereitgestellte Reports ermöglicht. Der Endnutzer kann hier die anzuzeigenden Berichte, entsprechend seinen Berechtigungen frei wählen. Zum jetzigen Zeitpunkt ist eine Windows 8 und Windows RT App für die Preview im Store erhältlich. Weitere native Apps für iOS und Android sind geplant.

Die folgenden Darstellungen zu Auswertungen der SDX Privatbilanz sind der Windows 8 App entnommen. Die Auswertungen können auf Touch Devices genutzt werden und ermöglichen mobile Einblicke in Datenbestände.

Dashboard 

PowerView

IT Infrastructure Services for Power BI

Power BI Admin Center (Data Catalog)

Über das Admin Center erfolgt die Bereitstellungen von Unternehmensdaten durch IT-Fachabteilungen. Data Management Gateways werden hier eingerichtet und administriert. So kann unter anderem eine Selektion von Views und Tabellen einer SQL Server Datenverbindung erfolgen. Vorhandene Verbindungen können als OData Feed für den Zugriff in Excel bereitgestellt werden.

Data Management Gateway (DMG)

DMG stellt Unternehmensdaten über verschlüsselte Verbindungen in der Cloud bereit. Der Management Gateway besteht aus zwei Modulen, einem SharePoint Online Web Interface und einem Service

Zielgruppe

Power BI ist ein lukratives Angebot für Unternehmen, die großen Wert auf mobile BI Funktionalität legen. Power BI könnte auch herkömmliche DWH Projekte in Unternehmen unterstützen. So kann etwa der Development Gap (Der zeitliche Versatz zwischen Projektstart und Ergebnissen) überbrückt werden.

Diese Interimslösung soll kein Ersatz für den klassischen DWH Entwicklungsansatz darstellen, sondern soll Informationsempfänger übergangsweise mit Informationen versorgen.

Fazit

Die Power BI Cloud Lösung ist sowohl für kleine und mittelständige Unternehmen, als auch für Konzerne von Interesse. Die hohe Performanz und Flexibilität bei der Einbindung von heterogenen Datenquellen (inkl. Webservices, OData Feeds und APIs) ist beeindruckend und liefert rasche Auswertungsmöglichkeiten.

Auswertungen aus natürlicher Sprache zu generieren ist ein hervorragender Ansatz, insbesondere wenn man alltäglich in T-SQL SELECT Statements denkt.

Für die Zukunft bleibt zu hoffen, dass Power BI Einzug in SharePoint 2014 hält, um die Attraktivität für weniger Cloud affine Organisationen zu steigern.

Quellen

Power BI for Office 365 – Overview and Learning

Data Management Experience in Power BI for Office 365 Help


Spatial Data & NUTS in SSRS

NUTS steht für “Nomenclature des unités territoriales statistiques” oder im deutschen für Systematik der Gebietseinheiten für die Statistik. [1]

Diese Systematik wurde 1980 vom Europäischen Amt für Statistik in
Luxemburg entwickelt, um regionale Raumeinheiten innerhalb Europas auch international statistisch vergleichen zu können.

Abbildung 1: NUTS1

Abbildung 2: NUTS2

Abbildung 3: NUTS3

clip_image002

clip_image004

clip_image006

NUTS Ebenen & räumliche Zuordnung Deutschland

NUTS Ebene

Administrative Gliederung

Polygone

CODE

Beispiel

0

Land

1

DE

DE

1

Bundesländer

16

DE2

Bayern

2

Regierungsbezirke

39

DE24

Oberfranken

3

Kreise

412

DE249

Hof, Landkreis

Die hierarchische Anordnung der Polygonzüge über den CODE stellt einen Drillpfad dar. Entlang dieser Pfade können Drill-Down und Drill-Up Vorgänge etabliert werden.

Im Weiteren können die Polygonzüge mit analytischen Daten verknüpft werden. Über das Hinzufügen einer Zeitdimension können diese Daten historisch abgebildet werden. Filter ermöglichen Slicing und Dicing.  Nun stellt sich die Frage wie analytische Datenbestände auf die Polygonzüge gemappt werden können.

Folgende Varianten kommen hier in Frage:

· Direkter Bezug auf den NUTS Code
   “Beispiel DESTATIS Daten aus GENESIS DB”

· Indirekter Bezug auf NUTS via PLZ Mapping

Im folgenden betrachten wir exemplarisch das Mapping der NUTS2
Geodaten Tabelle auf deutsche Postleitzahlen:

image

Die Lookup Tables zum Mappen sind hier erhältlich: PLZ Mapping zu NUTS_X

image

Die Daten aus NUTS2 können über NUTS2.NUTS auf NUTS_2_Qualified
referenziert werden.

· Unter folgendem Link stehen Mapping Daten zur Verfügung

Download Shape Files Europa NUTS:

Shapefiles (*.shp)

Weitere Informationen zu Eurostat und NUTS:

RAMON (Meta Data)
ESS Metadata Handler

Exemplarische Auswahl von statistischen Daten auf EUROSTAT:

Arbeitslosenquoten nach Geschlecht, Alter und NUTS-2-Regionen (%)

Die Merkmale und Merkmalsausprägungen der Tabellen können
konfiguriert und in diversen Formaten exportiert werden.

Berichte in SSRS

NUTS1 Beispiel

image

NUTS3 Beispiel

image

Fazit & Ausblick:

Der Standard NUTS bietet in Verbindung mit Spatial Data umfassende Auswertungsmöglichkeiten statistischer Daten in Berichten. Die Verlinkung über Postleitzahlen erweitert diese  Möglichkeiten. EUROSTAT stellt kostenlose Daten aus verschiedensten Branchen und öffentlichen Verwaltungsorganen europaweit konsolidiert zur Verfügung. Die frei verfügbaren Shapefiles können direkt auf eine Kartenansicht in SSRS gelegt werden.

Durch Anwendung des UN/LOCODE (weltweit gültig) kann über: UNECE eine Zuordnung sämtlicher Ortschaften zu Koordinaten erfolgen. Diese können in SSRS und dem künftigen “GeoFlow“ Add-Inn für Excel verwendet werden

[1] Quelle: [Wikipedia]