dbTalk Databases Forums  

MDX Statement results differ in MDX Sample App and VS 2003

microsoft.public.sqlserver.olap microsoft.public.sqlserver.olap


Discuss MDX Statement results differ in MDX Sample App and VS 2003 in the microsoft.public.sqlserver.olap forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Atrus2711
 
Posts: n/a

Default MDX Statement results differ in MDX Sample App and VS 2003 - 02-20-2006 , 04:58 AM






Hi,

I use the following MDX statement on a MSSQl 2k server to format a
smalldatetime column in my regional (german) date format, dd.mm.yyyy:

WITH MEMBER [Measures].[TimeMemberUniqueName] AS
'[MyDate].CurrentMember.UniqueName' MEMBER [Measures].[TimeDisplayName] AS
'[MyDate].CurrentMember.Name', FORMAT_STRING='dd.mm.yyyy' SELECT
{[Measures].[TimeMemberUniqueName], [Measures].[TimeDisplayName]} ON Columns,
{[MyDate].Members} ON Rows FROM [MyTable]

This works fine in MDX Sample app (result in dd.mm.yyyy). In VisualStudio
2003, the same statement returns the original smalldatetime value in format
yyyy-mm-dd hh:mm:ss. Obviously, the Format statement is ignored. :-(

How can I influence the date format in MDX? The Dimension is a regular (not
Time!) dimension, but I tested on a Time Dimension as well - same results...

Thanks
Martin

Reply With Quote
  #2  
Old   
Deepak Puri
 
Posts: n/a

Default Re: MDX Statement results differ in MDX Sample App and VS 2003 - 02-20-2006 , 07:19 PM






Hi Martin,

What happens when you use VBA!Format() function, like:

Quote:
WITH MEMBER [Measures].[TimeMemberUniqueName] AS
'[MyDate].CurrentMember.UniqueName'
MEMBER [Measures].[TimeDisplayName] AS
'Format(CDate([MyDate].CurrentMember.Name),
"dd.mm.yyyy")'
SELECT
{[Measures].[TimeMemberUniqueName],
[Measures].[TimeDisplayName]} ON Columns,
{[MyDate].Members} ON Rows FROM [MyTable]
Quote:

- Deepak

Deepak Puri
Microsoft MVP - SQL Server

*** Sent via Developersdex http://www.developersdex.com ***


Reply With Quote
  #3  
Old   
Atrus2711
 
Posts: n/a

Default Re: MDX Statement results differ in MDX Sample App and VS 2003 - 02-21-2006 , 03:27 AM



Hi Deepak,

thanks for your answer.

It worked nearly perfect: your statement generated dates like 6012006 for
January 6, 2006. I changed the format a bit, eventually to "dd mm yyyy", and
now it evaluates to 06.01.2006, as desired. But how does a format with blanks
generate dots between day, month and year?

Just curious, but happy :-)

Best wishes,
Martin

"Deepak Puri" wrote:

Quote:
Hi Martin,

What happens when you use VBA!Format() function, like:


WITH MEMBER [Measures].[TimeMemberUniqueName] AS
'[MyDate].CurrentMember.UniqueName'
MEMBER [Measures].[TimeDisplayName] AS
'Format(CDate([MyDate].CurrentMember.Name),
"dd.mm.yyyy")'
SELECT
{[Measures].[TimeMemberUniqueName],
[Measures].[TimeDisplayName]} ON Columns,
{[MyDate].Members} ON Rows FROM [MyTable]



- Deepak

Deepak Puri
Microsoft MVP - SQL Server

*** Sent via Developersdex http://www.developersdex.com ***


Reply With Quote
  #4  
Old   
Deepak Puri
 
Posts: n/a

Default Re: MDX Statement results differ in MDX Sample App and VS 2003 - 02-21-2006 , 02:02 PM



Martin,

Maybe this has to do with locale settings, but their subtleties escape
me. In the US locale, this works:

Quote:
With Member [Measures].[FmtDate] as
'Format(CDate("2006-02-21"), "dd.mm.yyyy")'

select {[Measures].[FmtDate]} on 0
from Sales
Quote:
The result is "02.21.2006"

With a format of "dd mm yyyy", result is: "02/21/2006"

In AS 2005, "MM" is needed for month, rather than "mm"


- Deepak

Deepak Puri
Microsoft MVP - SQL Server

*** Sent via Developersdex http://www.developersdex.com ***


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.