dbTalk Databases Forums  

Need help on MDX query WHERE clause to use OR for dimension

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


Discuss Need help on MDX query WHERE clause to use OR for dimension in the microsoft.public.sqlserver.olap forum.



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

Default Need help on MDX query WHERE clause to use OR for dimension - 07-08-2004 , 11:02 PM






I have this SQL statement which is what i need to change to MDX .

SQL Statement
----------------
select sum(TotalCost) as TrnsTotalCost,PMGroupID from
vwGraphTransactionList
where (AssignedToUserName IN ('wpheng2003','ANN5') OR
(LocID IN (798,799,626,737,677,1429,766,696,811,630,879,544, 838,834,836,797,739,904,530,597,916,919,629,426,64 4,445,855,740,323,698,549,902,920,659,680,545,613, 802,683,922,681,599,831,604,678,660,736,674,676,84 5,782,738,532,628,668,2,741,812)
AND CraftID IN (86,77,239,108))) AND PMGroupID=498 AND AcctNum=100
GROUP BY PMGroupID


I already created the MDX query which able to query without error but
the problem is how can i user the OR logical expression in where
clause for
Assignedtouser.locfilter OR WOLocations.locfilter dimension just like
what i wanted to achive in the above SQL statement

MDX Query
----------
WITH


MEMBER WOLocations.LocFilter AS 'Aggregate (
{Filter([WOLocations].members,[WOLocations].Currentmember.Name = "798"
OR [WOLocations].Currentmember.Name = "799" OR
[WOLocations].Currentmember.Name = "626"
OR [WOLocations].Currentmember.Name = "737" OR
[WOLocations].Currentmember.Name = "677" OR
[WOLocations].Currentmember.Name = "1429" OR
[WOLocations].Currentmember.Name = "766"
OR [WOLocations].Currentmember.Name = "696" OR
[WOLocations].Currentmember.Name = "811" OR
[WOLocations].Currentmember.Name = "630" OR
[WOLocations].Currentmember.Name = "879"
OR [WOLocations].Currentmember.Name = "544" OR
[WOLocations].Currentmember.Name = "838" OR
[WOLocations].Currentmember.Name = "834" OR
[WOLocations].Currentmember.Name = "836"
OR [WOLocations].Currentmember.Name = "797" OR
[WOLocations].Currentmember.Name = "739" OR
[WOLocations].Currentmember.Name = "904" OR
[WOLocations].Currentmember.Name = "530"
OR [WOLocations].Currentmember.Name = "597" OR
[WOLocations].Currentmember.Name = "916" OR
[WOLocations].Currentmember.Name = "919" OR
[WOLocations].Currentmember.Name = "629" OR
[WOLocations].Currentmember.Name = "426"
OR [WOLocations].Currentmember.Name = "644" OR
[WOLocations].Currentmember.Name = "445" OR
[WOLocations].Currentmember.Name = "855" OR
[WOLocations].Currentmember.Name = "740" OR
[WOLocations].Currentmember.Name = "323"
OR [WOLocations].Currentmember.Name = "698" OR
[WOLocations].Currentmember.Name = "549" OR
[WOLocations].Currentmember.Name = "902" OR
[WOLocations].Currentmember.Name = "920" OR
[WOLocations].Currentmember.Name = "659"
OR [WOLocations].Currentmember.Name = "680" OR
[WOLocations].Currentmember.Name = "545" OR
[WOLocations].Currentmember.Name = "613" OR
[WOLocations].Currentmember.Name = "802" OR
[WOLocations].Currentmember.Name = "683"
OR [WOLocations].Currentmember.Name = "922" OR
[WOLocations].Currentmember.Name = "681" OR
[WOLocations].Currentmember.Name = "599" OR
[WOLocations].Currentmember.Name = "831" OR
[WOLocations].Currentmember.Name = "604"
OR [WOLocations].Currentmember.Name = "678" OR
[WOLocations].Currentmember.Name = "660" OR
[WOLocations].Currentmember.Name = "736" OR
[WOLocations].Currentmember.Name = "674" OR
[WOLocations].Currentmember.Name = "676"
OR [WOLocations].Currentmember.Name = "845" OR
[WOLocations].Currentmember.Name = "782" OR
[WOLocations].Currentmember.Name = "738" OR
[WOLocations].Currentmember.Name = "532" OR
[WOLocations].Currentmember.Name = "628"
OR [WOLocations].Currentmember.Name = "668" OR
[WOLocations].Currentmember.Name = "2" OR
[WOLocations].Currentmember.Name = "741" OR
[WOLocations].Currentmember.Name = "812") })'


MEMBER WOCraft.CraftFilter AS 'Aggregate ( {Filter([WOCraft].members,
[WOCraft].CurrentMember.Name="86" OR [WOCraft].CurrentMember.Name="77"
OR [WOCraft].CurrentMember.Name="239" OR
[WOCraft].CurrentMember.Name="108") } )'
MEMBER AssignedToUserName.UserFilter AS 'Aggregate(
{Filter([AssignedToUserName].Members,[AssignedToUserName].CurrentMember.Name="wpheng2003"
OR
[AssignedToUserName].CurrentMember.Name="ANN5")})'



Select {[Measures].[TotalCost]} on columns, NON EMPTY
{Descendants([WOStatus], [WOStatus].[StatusID])} on rows
FROM WorkORderCost
WHERE ([AcctNum].[AcctNum].[100],
[PMGroups].[PMGroupID].[498],WOCraft.CraftFilter,WOLocations.LocFilter
, AssignedToUserName.UserFilter)

-----------------------------------------------------------------
Any solution for using OR for dimension in where clause

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.