![]() |
|
Spaces home Geoff Orr BlogPhotosProfileFriends | ![]() |
|
August 06 MDX GenerateRecently I have encountered the Generate Command.
It applies a member based set function with a set and then unions the result. So the following is showing the parents of an Owner based on the Property Owner Lan ID but in this case we don't want the actual member but the parent i.e. the Sales Centre of the Owner where Owner is a Parent Child relationship,
select Measures.Sales on columns,
generate(
filter ([Owner].[by Owner].Members,[Owner].[by Owner].CurrentMember.Properties("Owner Lan ID") = Username ),
{[Owner].[by Owner].CurrentMember.Parent})
on Rows
from [Owner Reporting]
April 27 CodeCampOZ ORM Smackdown - ADO.NET Entities and NHibernateAdam Cogan and Justin King present the differences between nHibernate and Linq to Entities.
It was a great session but every database guy in the house cringed.
It almost requires you to not use stored procedures ever again. We didn't even attempt to review the quality of the SQL output.
Linq came out on top for functionality but some cried foul. This will be extreemely productive for developers but once again we seem to be focusing on speed of development rather than quality of the outcome.
April 26 CodeCampOZ - RapidFire Sessions: Much ado about dates, Windows Server 2008 for developersGreg Low talks date issues. This session is unbelievable. That after the Millenium Bug debacle we have loads of problems with dates is Bizare.
Here is a takeaway use YYYYMMDD as it is language independant but YYYY-MM-DD is not.
CodeCampOZ SilverlightJonas Folleso
So Jonas has shown us Silverlight. I could really get into this.
I mean here is a web based interface that actually looks in control. OK so flash has done it for years but this is a Microsoft product that could get me excited about web stuff again.
Code Camp OZ 2008Ok here we are again in Wagga. Having already had a pre conference half day. It was uite good. Greg gave a presentation on 2008 that was ineresting. There should be quite a bit of stuff to sink our teeth into.
Jeff Wharton gave a presentation on compact edition of SQL Server and it was the first time I thouht hey this has a use.
Greg Low gave a session on presenting at Tech Ed pass etc. I hope to take that away.
January 15 How to identify your root nodeI have done some of this lately so lets do some basics first.
AD is tree structure so everything is nodes.
Generally you begin with the Root node.
So here is our scenario. My domain controller is a server called Wombat001 the domain is WOMBAT and the domain name is WOMBAT.COM.
So the LDAP root node is LDAP://WOMBAT:389/DC=WOMBAT,DC=com
This is used to instantiate the DirectoryEntry object as follows
DirectoryEntry dirEntry = new DirectoryEntry(LDAP://WOMBAT:389/DC=WOMBAT,DC=COM);
This is your entry point and the main link to AD.
December 18 Configuring Integration ServicesOK so I have visited Rob Farley and crew at the SQL Server group in Adelaide. I was showing how to configure and install Integration services using a parent package and two child packages passing the connections strings from the parent to the child.
Here is the lab that I developed for the presentation.
September 11 Change in DirectionMost of you will know this was a blog about my attempts to become a MCSD a qualification still relevant but redundant. Here is the rub somewhere along the line it no longer became my stated goal.
In truth I was attempting to solidify my position in a new country having lived in the UK for over 12 years and wanted to reestablish myself. What I wanted to do is train as that is what I have received the biggest positive feedback in my career. So plan was MCAD then MCT, MCSD and out to train the world.
So why have I not acheived my original goal. A better question is why has my goals changed. I didn't become a MCT after acheiving my MCAD as the opportunities did not seem to be there. Most of the training companies use fairly inexperienced (cheap) people. So I set about consolidating my experience.
I am now looking at getting back to training as I love doing it which is of course the right motivation. I have to leave behind the goal of being an MCSD but it was more about proving myself to me rather than needing another certification.
I have not done an exam for two years but am committed to get my "p something something" or whatever the new qualifications is. August 10 Access Denied Integration Services Remote UsersHere is a new one. If you want to get access to Integration Services from a remote machine you need to use component services to update the access rights on the Com for MSDTSSrvr to grant rights as per this link.
I did this and it still didn't work and then I realised that with Windows Server 2003 sp1 you needed to join a new domain group "Distributed COM Users". Of course system administrators are members by default. If you want to add a non administrator just add them to the built in security group under domain administration. August 01 ParallelPeriodWith this query
With MEMBER Measures.LastYear As 'Aggregate( PARALLELPERIOD( [Date].[Calendar].[Calendar Year] , 1 , [Date].[Calendar]) ,[Measures].[Sales Amount])' select {[Measures].[Sales Amount], Measures.LastYear} on columns, [Date].[Calendar].[Month] on Rows from [Adventure Works]
I get results listed below which implies it is picking up the same month at the semester level rather than the year. I was expecting last January. This is OK I can Lag the date by 12 for last year but I am a bit concerned about the YTD calculations.
How can I get ParallelPeriod to give me Jan 2003 for Jan 2004.
Sales Amount LastYear July 2001 $962,716.74 (null) August 2001 $2,044,600.00 (null) September 2001 $1,639,840.11 (null) October 2001 $1,358,050.47 (null) November 2001 $2,868,129.20 (null) December 2001 $2,458,472.43 (null) January 2002 $1,309,863.25 $962,716.74 February 2002 $2,451,605.62 $2,044,600.00 March 2002 $2,099,415.62 $1,639,840.11 April 2002 $1,546,592.23 $1,358,050.47 May 2002 $2,942,672.91 $2,868,129.20 June 2002 $1,678,567.42 $2,458,472.43 July 2002 $2,894,054.68 (null) August 2002 $4,147,192.18 (null) September 2002 $3,235,826.19 (null) October 2002 $2,217,544.45 (null) November 2002 $3,388,911.41 (null) December 2002 $2,762,527.22 (null) January 2003 $1,756,407.01 $1,309,863.25 February 2003 $2,873,936.93 $2,451,605.62 March 2003 $2,049,529.87 $2,099,415.62 April 2003 $2,371,677.70 $1,546,592.23 May 2003 $3,443,525.25 $2,942,672.91 June 2003 $2,542,671.93 $1,678,567.42 July 2003 $3,552,319.38 $2,894,054.68 August 2003 $5,060,385.02 $4,147,192.18 September 2003 $5,057,832.17 $3,235,826.19 October 2003 $3,362,565.46 $2,217,544.45 November 2003 $4,680,142.51 $3,388,911.41 December 2003 $5,242,736.50 $2,762,527.22 January 2004 $3,002,792.27 $1,756,407.01 February 2004 $4,163,246.63 $2,873,936.93 March 2004 $4,220,276.16 $2,049,529.87 April 2004 $3,813,373.94 $2,371,677.70 May 2004 $5,193,592.51 $3,443,525.25 June 2004 $5,364,840.18 $2,542,671.93 July 2004 $50,840.63 $3,552,319.38 August 2004 (null) $5,060,385.02 May 15 Microsoft Business Intelligence Conference 2007I have just returned from the first Business Intelligence Conference for Microsoft. It was held in Seattle. I was travelling with Grant Paisley of Angry Koala and it was an impressive time. It was literally a who's who from Microsoft BI.
Here are some key people that helped me whilst I was there. Mosha Pasumansky was helpful with MDX http://www.mosha.com/msolap/ mind you I felt a little ignorant after speaking to him. Rob Zare of Microsoft was great in his session on Analysis Services and I can't wait to get my hands on the DVD to go over his session again. Deepak Puri of Progressive must be the helpful guy in the world as we discussed how to handle daily pricing models along with Chriss Web http://cwebbbi.spaces.live.com/ and Helmut Knappe of Solid Quality.
I got to know Bogdan Crivat who is part of the Data Mining team at Microsoft along with Jamie Maclennan who have inspired me to dig into Data Mining.
I will write some more when I get time but it was very cool. The guys from Q4bis were great to meet along with the InfoSupport guys from the Netherlands.
So much more to say but we will get to it later. All those that I met please feel free to drop me a line.
April 12 Vista at lastLast week the motherboard on my laptop had a bad hair day and started rejecting my battery. So I had to give it up for 10 days and get it fixed. Thus I bought me a server to work on until I got it back and loaded all my projects.
With my laptop now returned I felt it was time to put Vista on it and I am so happy. Sure the dvd and the fingerprint login no longer work and I am still working through the Norton upgrade but at last hibernate and sleep work properly and it boots up heaps quicker.
Finally my laptop works like a laptop. March 09 IComparableToday I needed to sort a collection. It was a collection of class so I decided to assign them to an arraylist and sort them.
I found that if you implement iComparable which requires you to implement CompareTo it allows you to sort in a list.
I was doing a CostCentre class and so I added the following to the Cost Centre Class.
Public Class CostCentre Implements IComparable Public Overloads Function CompareTo(ByVal obj As Object) As Integer _ Implements IComparable.CompareTo If TypeOf obj Is CostCentre Then Dim costCentre As CostCentre = CType(obj, CostCentre) Return Me.mCostCentreDesc.CompareTo(costCentre.CostCentreDesc) End If Throw New ArgumentException("object is not a CostCentre") End FunctionMarch 02 Launching ExeWell Peter Ward taught me something new.
Here is how to open internet explorer and run a url from within a dot.net application
System.Diagnostics.Process.Start( "IExplore.exe", "http://www.hotmail.com")March 01 Old Style or Old School Naming ConventionsAfter my earlier notes regarding naming conventions Glyn Llewellyn and I have changed the standard for FrontRow. We now have decided to move type information to the end so that logically grouped items appear together e.g. LocationText, LocationBtn, LocationLbl etc.
During the discussion of standards the programmer reviewing my code reflected that the standards looked a little Old style. I perceived that he was having a personal dig at my age (over 40) but his point is valid we should not stay with a standard that has no better basis than thats what I did with my old language. If we did I would still be demanding 80 columns. February 28 Reporting Services 407 ErrorsOne of the early calls I had was regarding proxy errors on Reporting Services.
If you get 407 errors after installing reporting services you can go to Internet Options, Select Connections, LAN Settings and if you are using a proxy server to check the bypass proxy server for local addresses.
Well yesterday when deploying a Report Viewer control in ASP.Net I got 407 errors.
Greg Low suggested the following link;
and Ryan Leeder eventually gave us the solution which was to include the following in the web.config.
<configuration> <system.net> <defaultProxy> <proxy bypassonlocal="true" usesystemdefault="false" /> </defaultProxy> </system.net> </configuration> You learn a new thing every day.
January 23 Standards - Form NamesI have recently been doing some windows programmes and have encountered some interesting standards. The first is to remove frm as a prefix from my forms. I prefer frm as a prefix on forms as it keeps it consistant with other visible objects like name the Add buttons btnAdd or a Name text box txtName.
The frm prefix also makes finding forms in lists easier.
December 19 PerspectivesToday I attempted to deliver a system for SQL Server Analysis Services and was shocked. Perspectives are not available in standard edition only enterprise.
Perspectives are the ability to logically split a cube into a perspective of a cube and a key part of making the new bigger cubes digestable. Microsoft's decision to make it enterprise only really hurts.
For a BI project without perspectives might be a little limited. December 08 What I like about VB.NetOk for the last two weeks I have been to Windows development with VB.net and so I thought tell you what I like about VB.Net. I am a C# guy. I have a background in C and SQL Windows which lead somewhat to the C camp so I picked up C# first.
I like that when you declare a public property in types most of the snippet in for you.
I like that the RaiseEvent syntax is straight forward and easy to define.
I quite enjoy the handles clause on the delegate as it you don't need to look in two places.
I think its nice that you don't have to specify the type twice if you use the new clause in the Dim statement.
What I don't like
I have the _ for line continuation.
I miss the Regions but I haven't tried them in 2.0 yet.
I miss my ; on the end of the line
I don't like it when you are naming an event you have to enter the name and then the parameters, then what it handles and then go back and adjust everything for what you entered in name and parameters.
I miss the ptr++ syntax.
All in all no big deal
November 29 Object Data BindingI'm doing a windows application in DotNet 2.0 and my client hates datasets. Sorry has rationally evaluated datasets and finds the limitations of the functionality implies their non use.
OK so not datasets. So I'm doing object binding. OK its only early days and I like it OK so far. I don't like the fact in Visual Studio to use a class I have to create a visual object on the form but I'm getting used to that.
I was disappointed that the binding object had to be bound to a whole class but please when Paul Stovel showed me that you could bind to a single object such as PurchaseOrder and then change the DataSource of the Binding Source to a BindingList(Of PurchaseOrder) and it still work. |
|
|