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 |