SQL Community Meeting im August: SQL Server unter SharePoint – Hochverfügbarkeit und Administration und Funktionen in SQL Server

Die Sommerpause ist endgültig vorbei! Wir starten wieder mit spannenden Vorträgen aus der Praxis rund um SQL Server von Top Experten im Rahmen unserer monatlichen Community Meetings:

  • SQL Server unter SharePoint – Hochverfügbarkeit und Administration
  • Funktionen in SQL Server

Am Mittwoch, 21. August 2013 ab 18:00 im Microsoft Innovation Center (1120 Wien)

SQL Server unter SharePoint – Hochverfügbarkeit und Administration

Wenn SharePoint zur geschäftskritischen Anwendung wird muss vor allem die Datenbank darunter (Ausfall)sicher und skalierbar sein. Gleichzeitig soll der Betrieb aber möglichst effizient, automatisiert und kostengünstig erfolgen.

Was gibt es beim Betrieb von SQL Server unter SharePoint zu beachten, wie setzt man Hochverfügbarkeit vernünftig um? Wie betreibe ich eine automatisierte und kosteneffiziente Datenbank unter SharePoint?

Wir geben einen Überblick über in der Praxis eingesetzte Hochverfügbarkeitsszenarien, gehen auf die Architektur von SharePoint DBs ein, zeigen die größten Problembereiche aus Sicht des DBAs auf und erläutern die Automatisierungsmöglichkeiten.

presented by Wolfgang Rick Kutschera, Manager Database Engineering @ bwin.party Services GmbH

Funktionen in SQL Server

Worin liegen die Unterschiede in den SQL Server Funktionen und wo liegen die Einsatzgebiete. Wir besprechen die Unterschiede von Scalar vs. Inline TVF vs. MultiLine vs. CLR anhand von praktischen Beispielen.

presented by Milos Radivojevic, MCT, Database Developer @ bwin.party Services GmbH

Weitere Details und kostenfreie Anmeldung: http://passaustriameeting.eventbrite.com/

Alternativ ist die Teilnahme am PASS Community Meeting auch Online via Live Stream möglich. Ab sofort auch mit Audio im Webbrowser (ohne Einwahl oder Lync Thin Client): http://aka.ms/xzxp0m

+++ PASS Austria SPECIAL mit Scott Klein +++

Sommerpause? Nicht bei uns! Wir freuen uns in den kommenden Wochen gleich zwei exklusive Events mit Top Experten anbieten zu können:

Montag, 24. Juni 2013 ab 18:00 im Microsoft Innovation Center (1120 Wien) +++ PASS Austria / SQL Server Community SPECIAL featuring Scott Klein +++
Query Tuning and Troubleshooting in Windows Azure SQL Database

Just because you’re using an Azure SQL database does not mean you can avoid tuning queries. You could run into throttling which could seriously impact your systems if your queries are using up lots of resources. Plus, it’s still SQL Server, and the number one cause of performance bottlenecks is usually T-SQL code.

presented by Scott Klein, Scott is a Microsoft Technical Evangelist focusing on Windows Azure SQL Database. His entire career has been built around SQL Server. Prior to Microsoft he was a SQL Server MVP for several years, then followed that up by being one of the first four SQL Azure MVPs

Weitere Details und kostenfreie Anmeldung: http://passaustriaspecial.eventbrite.com

Mittwoch, 17. Juli 2013 ab 18:00 im Microsoft Innovation Center (1120 Wien) Sommerspecial JULI: Meet the Experts & Get together Meet the Experts

Meet the Experts

Nutzen Sie die Gelegenheit um sich persönlich mit SQL Server Experten auszutauschen! Wir nehmen gerne Ihre Fragen auch vorab per E-Mail entgegen! Unsere Themen:

  • Administration, Performance, Hochverfügbarkeit presented by Rick Kutschera, Manager Database Engineering @ bwin.party
  • Business Intelligence & Data Warehousing presented by Gottfried Eder, BI Solution Architect @ Microsoft Consulting Services
  • Database Development presented by Milos Radivojevic, MCT, Database Developer, bwin.party
  • SQL Server Lizenzierung presented by Martin Pöckl, Technical Specialist Data Platform @ Microsoft Österreich

Get together

Im Anschluss an die Fragerunde laden wir zu einem gemütlichen Umtrunk

Weitere Details und kostenfreie Anmeldung: http://passaustriameeting.eventbrite.com/

Wir freuen uns auf zahlreiche Teilnahme!

Nicht vergessen: SQL AlwaysOn und Data Types beim PASS Community Meeting

Nicht vergessen: heute, Donnerstag, 13. Juni 2013, findet unser monatliches PASS Community Meeting mit den Themen:

Hochverfügbarkeit mit SQL Server (AlwaysOn)
und Data Types – Think You Know It All? Think Again

statt.

Zeit und Ort:
Donnerstag, 13.06.2013 ab 18:00 bei
Microsoft Österreich/Microsoft Innovation Center, Am Euro Platz 2, 1120 Wien
oder alternativ Online Teilnahme via Livestream: http://aka.ms/Xzxp0m

Für die Teilnahme vor Ort bitten wir um kostenfreie Anmeldung unter: http://passaustriameeting.eventbrite.com

Weitere Details zu den Vorträgen:

Hochverfügbarkeit mit SQL Server
bwin.party betreibt eine der weltweiten größten geschäftskritischen SQL Server Farmen mit nahezu 100% Verfügbarkeit. Was bietet SQL Server für unterschiedliche Möglichkeiten um ungeplante und geplante Downtime bzw. Datenverlust zu minimieren (Stichwort: AlwaysOn), wo liegen die Unterschiede und wie sieht die praktische Anwendung aus.
presented by Wolfgang Rick Kutschera, Manager Database Engineering @ bwin.party Services GmbH

Data Types – Think You Know It All? Think Again
Using appropriate data types can improve both performance and accuracy. We’ll discuss how to determine what the appropriate data type is for a given situation, and how to write queries with data type awareness.
presented by Vern Rabe, Sr. Data Architect @ SQLSoft+ 

Die Unterlagen zu allen bisherigen Meetings sowie die On-demand Videoaufzeichnungen finden Sie in der PASS Austria Community Meeting Nachlese: http://sdrv.ms/ZFVdnM

PASS Austria Community Meeting im JUNI

Am Donnerstag, 13. Juni 2013 findet unser nächstes monatliches Community Meeting ab 18:00 bei Microsoft Österreich/Microsoft Innovation Center (Eingang: Am Euro Platz 2, 1120 Wien) statt. Unsere Themen:

Hochverfügbarkeit mit SQL Server
bwin.party betreibt eine der weltweiten größten geschäftskritischen SQL Server Farmen mit nahezu 100% Verfügbarkeit. Was bietet SQL Server für unterschiedliche Möglichkeiten um ungeplante und geplante Downtime bzw. Datenverlust zu minimieren (Stichwort: AlwaysOn), wo liegen die Unterschiede und wie sieht die praktische Anwendung aus.
presented by Wolfgang Rick Kutschera, Manager Database Engineering @ bwin.party Services GmbH

Data Types – Think You Know It All? Think Again
Using appropriate data types can improve both performance and accuracy. We’ll discuss how to determine what the appropriate data type is for a given situation, and how to write queries with data type awareness.
presented by Vern Rabe, Sr. Data Architect @ SQLSoft+

Wir bitten um kostenfreie Anmeldung unter: http://passaustriameeting.eventbrite.com

Die Unterlagen zu allen bisherigen Meetings sowie die On-demand Videoaufzeichnungen finden Sie in der PASS Austria Community Meeting Nachlese: http://sdrv.ms/ZFVdnM

Wir freuen uns wieder auf zahlreiche Teilnahme! Das PASS Austria Team http://austria.sqlpass.org

PASS Austria Community Meeting im MAI

Am Mittwoch, 15. Mai 2013 findet unser nächstes, monatliches PASS Community Meeting statt zu dem wir Sie recht herzlich einladen möchten. Diesmal geht es um die spannenden Themen Datenbanken als Service nutzen (Stichwort SQL Azure Database) und um das Thema optimale Query Performance durch SQL Server Statistiken.

Agenda:
Datenbanken “as a service” in der Public Cloud – SQL Azure Database
Wie funktioniert SQL Server aus der Public Cloud, was die die Unterschiede zum „normalen“ SQL Server und zu einer Private Cloud, Anwendungsbeispiele, Do’s and dont‘s
presented by Martin Pöckl, Technologie Spezialist, Microsoft

Speed up your queries – SQL Server Statistiken verstehen
Wie man mit SQL Server Statistiken für eine optimale Performance sorgt und was man dabei alles beachten muss.
presented by Milos Radivojevic, MCT, Database Developer, bwin.party

Zeit und Ort:
Mittwoch, 15.05.2013 ab 18:00 bei
Microsoft Österreich, Am Euro Platz 3, 1120 Wien

Wir bitten um kostenfreie Anmeldung unter: http://passaustriameeting.eventbrite.com

Die Unterlagen zu allen bisherigen Meetings sowie die On-demand Videoaufzeichnungen finden Sie in der PASS Austria Community Meeting Nachlese: http://sdrv.ms/ZFVdnM

Wir freuen uns wieder auf zahlreiche Teilnahme!
Das PASS Austria Team
http://austria.sqlpass.org

PASS Austria monthly Community Meeting – APRIL

Am Mittwoch, 17. April 2013 findet unser nächstes monatliches SQL Server Community Meeting ab 18:00 bei Microsoft Österreich (Am Euro Platz 3, 1120 Wien) statt. Themen sind diesmal:

SQL Server in der Applikationsentwicklung: Sicherer Umgang mit Dynamic SQL / How to Use Dynamic SQL Safely?
presented by Milos Radivojevic, Data Platform Architect, SolidQ

ETL & Data Warehouse best practices (SSIS, ColumnStore, …)
presented by Gottfried Eder, BI Solution Architect, Microsoft Consulting Services

Kostenfreie Anmeldung bitte unter: http://passaustriameeting-eorg.eventbrite.com/

Data Explorer zur Insider Trades Analyse

Börsennotierte Unternehmen unterliegen dem Publizitätsgesetz. Damit müssen Vorstandsmitglieder Aktienkäufe und Verkäufe offenlegen.

Für die meisten US Unternehmen findet sich diese Information beispielsweise auf MSN.com : http://investing.money.msn.com/investments/insider-transactions?symbol=MSFT

Bisher war das Abziehen und Analysieren aller Daten nahezu unmöglich bzw. mit großem manuellen Aufwand verbunden. Mit dem neuen Excel Data Explorer Plug In ist die Auswertung um ein Vielfaches einfacher geworden.

Das Ziel der Übung ist eine Analyse der Insidergeschäfte amerikanischer Vorstände und Hedgefonds. Im Folgenden werden meldepflichtige Käufe und Verkäufe nach Volumen in allen Sektoren des S&P 500 der letzten 3 Monate dargestellt:

Insider Trades

Ein Beispiel:

Im Technology Sector haben im letzten Jahr die meisten Eigentümer ihre Aktien abgestoßen.

Auffällig ist das Unternehmen Netflix. Hier gab es größere Investitionen.

netflix

Schaut man sich das genauer an, findet man beispielsweise einen Trade im April 2012 zum Kurs von 85 USD.

Richard Barton

Inzwischen steht Netflix bei 190 USD.

nfstock

Richard Barton und alle die es ihm nachgemacht haben, dürften hier ein sehr gutes Geschäft (+ 223% ) gemacht haben.

Wie kommt man nun an diese Daten?

Im ersten Schritt muss die Datenquelle parametrisiert werden. Dazu wird der Link zur Website für jedes Stock Symbol aufgerufen. http://investing.money.msn.com/investments/insider-transactions?symbol= [symbol]

Zunächst ist daher eine Liste an Stock Symboles erforderlich. Danach kann für jedes Symbol die Website mit den jeweiligen Insider-Trades geladen werden.

Eine initiale Liste aller S&P 500 Unternehmen ist mit dem Data Explorer schnell gefunden:

Insider Trades Data Search

Die Daten werden über einen O-Data Feed angeliefert.

Source

Der schwierigste Part ist nun, für jede Zeile in der Liste aller Unternehmen alle Insider Trades zu laden.

Im Query wird dazu die Web.Contents Methode mit 2 Parametern aufgerufen:

= Table.AddColumn(Source, “Custom”, each Web.Page(Web.Contents(“http://investing.money.msn.com/investments/insider-transactions?view=All“, [Query=[symbol=[Ticker_symbol]]] )))

Wobei [Ticker_Symbol] den Name der Spalte aus der Tabelle mit allen Unternehmen darstellt.

SourceMerge

Danach wird die Tabelle um zusätzlich Daten erweitert:

= Table.ExpandTableColumn(InsertedCustom, “Custom”, {“Data”}, {“Custom.Data”})SourceExpand

Die Erweiterung sollte nun die Spalten für den Kurs, die Transaktion, den Zeitpunkt und den Insider liefern.

SourceExpanded

Zum Schluss sind noch einige Filter und Umrechnungen nötig. Beispielsweise um Volumen die in Millionen USD angegeben wurden, richtig zu berücksichtigen.

Das gesamte Script sieht wie folgt aus.

let
Source = OData.Feed(“http://publicdata.cloudapp.net/wikipedia/Tables/c061f68c/861341bf8e98885945e4bedf/Data“),
InsertedCustom = Table.AddColumn(Source, “Custom”, each Web.Page(Web.Contents(“http://investing.money.msn.com/investments/insider-transactions?view=All“, [Query=[symbol=[Ticker_symbol]]] ))),
#”Expand Custom” = Table.ExpandTableColumn(InsertedCustom, “Custom”, {“Data”}, {“Custom.Data”}),
#”Expand Custom.Data” = Table.ExpandTableColumn(#”Expand Custom”, “Custom.Data”, {“DATE”, “NAME”, “TRANSACTION”, “NUM SHARES”, “PRICE(S)”, “VALUE”, “Kind”, “Name”, “Children”, “Text”}, {“Custom.Data.DATE”, “Custom.Data.NAME”, “Custom.Data.TRANSACTION”, “Custom.Data.NUM SHARES”, “Custom.Data.PRICE(S)”, “Custom.Data.VALUE”, “Custom.Data.Kind”, “Custom.Data.Name”, “Custom.Data.Children”, “Custom.Data.Text”}),
FilteredRows = Table.SelectRows(#”Expand Custom.Data”, each [Custom.Data.DATE] <> null),
HiddenColumns = Table.RemoveColumns(FilteredRows,{“Custom.Data.Kind”, “Custom.Data.Name”, “Custom.Data.Children”, “Custom.Data.Text”}),
FilteredRows1 = Table.SelectRows(HiddenColumns, each [Custom.Data.TRANSACTION] <> “Gift”),
FilteredRows2 = Table.SelectRows(FilteredRows1, each not Text.Contains([Custom.Data.TRANSACTION], “Grant”)),
FilteredRows3 = Table.SelectRows(InsertedCustom3, each [Custom.Data.TRANSACTION] <> “Exercise”),
InsertedCustom1 = Table.AddColumn(FilteredRows2, “MillionIndicator”, each if (Text.Contains([Custom.Data.VALUE], “Mil”)) then 1 else 0),
InsertedCustom3 = Table.AddColumn(InsertedCustom1, “VolumeMixedUnits”, each [Custom.Data.VALUE]),
ReplacedValue = Table.ReplaceValue(InsertedCustom3,”Mil”,””,Replacer.ReplaceText,{“VolumeMixedUnits”}),
FilteredRows4 = Table.SelectRows(ReplacedValue, each [Custom.Data.TRANSACTION] <> “Exercise”),
ChangedType1 = Table.TransformColumns(FilteredRows4,{{“VolumeMixedUnits”, Number.From}}),
InsertedCustom2 = Table.AddColumn(ChangedType1, “Volume”, each if [MillionIndicator] = 1 then [VolumeMixedUnits] * 1000000 else [VolumeMixedUnits]),
ChangedType2 = Table.TransformColumns(InsertedCustom2,{{“Custom.Data.PRICE(S)”, Number.From}}),
InsertedCustom4 = Table.AddColumn(ChangedType2, “NumberOfShares”, each [Volume]/[#"Custom.Data.PRICE(S)"]),
HiddenColumns1 = Table.RemoveColumns(InsertedCustom4,{“Custom.Data.NUM SHARES”, “MillionIndicator”, “VolumeMixedUnits”, “Custom.Data.VALUE”}),
RenamedColumns = Table.RenameColumns(HiddenColumns1,{{“Custom.Data.PRICE(S)”, “Price”}, {“Custom.Data.TRANSACTION”, “Transaction”}, {“Custom.Data.NAME”, “Insider”}, {“Custom.Data.DATE”, “Date”}}),
ChangedType3 = Table.TransformColumns(RenamedColumns,{{“Date”, Date.From}}),
HiddenColumns2 = Table.RemoveColumns(ChangedType3,{“SEC_filings”, “Date_first_added”, “Key”})
in
HiddenColumns2

Der Data Explorer zeigt Anfangs nur 100 Records im Preview an. Man muss sich noch etwas in Geduld üben (bei mir waren es zirka 30 Minuten), bis er die rund 2600 Datensätze geladen hat.

Nun kann man mit gewohnten BI Tools (Power Pivot / Power View) die Daten auswerten.

Fazit:

Der Data Explorer lässt sich sehr kreativ einsetzen. Die Scriptsprache kann man binnen weniger Stunden erlernen und ermöglicht sehr flexiblen Zugriff auf beliebige Datenquellen. Das Investment lohnt sich!

Disclaimer: I hope that the information on these pages is valuable to you. Your use of the information contained in these pages, however, is at your sole risk. All information on these pages is provided “as -is”, without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Ezequiel. Further, Ezequiel shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.