I have an MDX query which yields the correct output that I need:

WITH
MEMBER [Calendar].[calendarID].[M1] AS
AGGREGATE({[Calendar].[calendarID].&[20050101]:[Calendar].[calendarID].&[20050131]})
SET [M2] AS
FILTER([st].[stdesc].Children, INSTR([st].[stdesc].CurrentMember.Name,"YORK")<>0)
SELECT {[Measures].[COUNT]} ON COLUMNS,
NON EMPTY {([country].[country].Children,[M2])} ON ROWS
FROM MyPiersCube
WHERE {([Calendar].[calendarID].[M1])}

The query above yields this output:
COUNT
ALBANIA NEW YORK 1
ALGERIA NEW YORK 5
AUSTRAL NEW YORK 287
AUSTRIA NEW YORK 9


My problem is I need to rewrite the query above applying the same filters to output this:

COUNT
ALBANIA 1
ALGERIA 5
AUSTRAL 287
AUSTRIA 9


This is my new query but it just returns a null count:
WITH
MEMBER [Calendar].[calendarID].[M1] AS
AGGREGATE({[Calendar].[calendarID].&[20050101]:[Calendar].[calendarID].&[20050131]})
MEMBER [st].[stdesc].[M2] AS
AGGREGATE(FILTER ([st].[stdesc].Children, INSTR([st].[stdesc].CurrentMember.Name,"NEW YORK")<>0))
SELECT {[Measures].[COUNT]} ON COLUMNS,
NON EMPTY {([country].[country].Children)} ON ROWS
FROM MyPiersCube
WHERE {([Calendar].[calendarID].[M1],[st].[stdesc].[M2],[direction].[dir].[M3])}



Can some help me with the correct MDX query? Thanks.