
HierarchyID datatypen
27 marts 2008Denne nye datatype introduceres med SQL Server 2008 og må siges at være en længe savnet type. I hverfald har jeg tidligere kunne have haft brug for en sådanne mulighed.
Læs mere her

Denne nye datatype introduceres med SQL Server 2008 og må siges at være en længe savnet type. I hverfald har jeg tidligere kunne have haft brug for en sådanne mulighed.
Læs mere her

Nu er jeg rendt ind i samme problem et par gange, og satte mig for at løse det på den pæne måde denne gang.
Scenariet er det, at jeg gerne vil opbygge en streng vha. string.Format(…) ell. StringBuilder.AppendFormat(…). Såfremt parametrene indeholdt tuborg-parenteser (curlybraces, {}) modtager man en exception om at formateringen ikke er korrekt.
Rettere er fejlbeskeden man modtager: “Input string was not in a correct format.”
Vi eksemplificerer
System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
string strFormat = @”
SELECT
{[Measures].[Unit Price]} ON COLUMNS,
DISTINCT( {{0}.siblings} ) ON ROWS
FROM [Sales]
“;
string strValue = @”
[Products].[Product Name].&[Spegesild],
[Products].[Product Name].&[Longlife Tofu],
[Products].[Product Name].&[Filo Mix]“;strBuilder.AppendFormat( strFormat, strValue );
Det springende punkt er hvordan parseren fortolker DISTINCT( {{0}.siblings} ) ON ROWS
For det skal virke, må DISTINCT( {{0}.siblings} ) ON ROWS blive til DISTINCT( {{{0}.siblings}} ) ON ROWS
Således må det endelige udtryk der fungerer blive til
System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
string strFormat = @”
SELECT
{[Measures].[Unit Price]} ON COLUMNS,
DISTINCT( {{{0}.siblings}} ) ON ROWS
FROM [Sales]
“;
string strValue = @”
[Products].[Product Name].&[Spegesild],
[Products].[Product Name].&[Longlife Tofu],
[Products].[Product Name].&[Filo Mix]“;
strBuilder.AppendFormat( strFormat, strValue );

Der findes en udokumenteret system stored procedure fra Microsoft, der gør det muligt at eksekvere en T-SQL sætning mod alle databaser. Uden at skulle sætte en cursor op mod sysdatabases tabellen.
Syntax:
EXEC sp_MSforeachdb @command
(hvor @command er en streng af variabel længde)
Eksempel:
Dette eksempel returnerer en liste med alle tabeller i alle datasbase på en given SQL-Server instans
DECLARE @command varchar(1000)
SELECT @command = ‘USE ? SELECT name FROM sysobjects WHERE xtype = ”U” ORDER BY name’
EXEC sp_MSforeachdb @command
Se i øvrigt:
http://www.mssqltips.com/tip.asp?tip=1414

Jeg opdagede en finurlig, men meget brugbar feature i VS 2005 her i dag.
Vælger man at holde [Alt] + [Shift] nede mens man med musen markerer en tekst, vil det markerede område antage et rektangel som på figuren herunder.
Vælger man alt holde [Ctrl]+[Alt] nede, mens man markerer en tekst med musen, vil markeringen antage bredden af den ‘nederste’ linie. Se herunder.


Min første bestilling af grønne bønner ser ud som følger:
2 dele Brasilien Santos
1 del Guatemala
SNIP http://www.roastmasters.com/guat.html
Guatemala Antigua Los Volcanes has pronounced acidity, full body and a slightly winey edge; it is clean, bright and complex. It has Antigua’s lightly smoky and zesty characteristics.
1 del Sumatra Mandheling Grade 1
10% Parchment Robusta
Som supplement, og til almindelig kaffe skal jeg prøve en
Sulawesi Grade 1.
SNIP http://hbwiki.com/index.php?title=Coffee
Sulawesi Toraja Kalossi - Grown at high altitudes on the island of Sulawesi (formerly Celebes) in the middle of the Malay archipelago in Indonesia. Kalossi is the small town in central Sulawesi which serves as the collection point for the coffee and Toraja is the mountainous area in which the coffee is grown. Celebes exhibits a rich, full body, well-balanced acidity (slightly more than Sumatra) and is multi-dimensional in character. It has dark chocolate and ripe fruit undertones. It is an excellent coffee for darker roasting. Because of it’s semi-dry processing, it may roast a bit unevenly, but don’t cull the odd beans-they add to the complexity of the cup.
Jeg har gennem de sidste par dage forsøgt at riste Miscela Organica fra Risteriet med forskellige risteprofiler. Seneste profil ser således ud:
Stage 1: 190 i 3 min. 15 sek.
Stage 2: 204 i 2 min.
Stage 3: 212 C i 3 min.
Stage 4: 232 C i 3 min.

Mine kaffeekspreimenter kan nu udvides med ristning, da jeg i julegave modtog en I-Roast 2.


Et eksempel på hvordan man kan beregne pct. af totalsalg og pct af salget på niveauet over det aktuelle.
WITH
MEMBER [Measures].[Pct of total] AS ‘SUM( {[Product].CurrentMember}, [Measures].[Unit Sales]) /SUM( {[Product].DefaultMember}, [Measures].[Unit Sales])’, FORMAT_STRING=’#0.00%’
MEMBER [Measures].[Pct of parent total] AS ‘IIF( [Product].Parent <> NULL, SUM( {[Product].CurrentMember}, [Measures].[Unit Sales]) /SUM( {[Product].Parent.Children}, [Measures].[Unit Sales]), 1)’, FORMAT_STRING=’#0.00%’
SELECT
{ [Measures].[Unit Sales], [Measures].[Pct of Total], [Measures].[Pct of parent total] } ON COLUMNS,
NON EMPTY Order( DESCENDANTS( [Product] ),[Measures].[Pct of total], DESC ) ON ROWS
FROM
[Sales]

Man skal som regel ikke lede længe på www.eb.dk efter en artikel der kan forundre. Ofte er det “journalisterne” derinde vælger at skrive om fuldstændig ligegyldigt. Det er også tilfældet i den artikel jeg har klippet et uddrag ud af. Men det underlige ved den er, at der midt i det hele bliver klippet en sætning ind, som lader til at omhandle valget 07.

Link: klik her