2015-03-23 4 views
0

J'ai une requête MDX qui peut me donner eid distinctes, région et pays:MDX COMPTE SUR DIMENSION

SELECT ([Measures].[Active Tiles Count]) ON 0, 
NON EMPTY ([Employee].[Employee Id].Children,[Employee - Business Region]. [Region Code].Children,[Employee - Country].[Country Code].Children) ON 1 
FROM [OLAP Pre] 
WHERE ( 
{[Employee Statuses].[Status Id].&[1],[Employee Statuses].[Status Id].&[4],[Employee Statuses].[Status Id].&[3]}, 
{[Business Region].[Abbreviation].&[APJ],[Business Region].[Abbreviation].&[EMEA],[Business Region].[Abbreviation].&[Americas]}, 
{[Employee Types].[Bits].&[1],[Employee Types].[Bits].&[9], 
[Employee Types].[Bits].&[25],[Employee Types].[Bits].&[5], 
[Employee Types].[Bits].&[13],[Employee Types].[Bits].&[29]} 
,{[Date].[Date].&[2015-03-18T00:00:00]:NULL}) 

Mais je veux COUNT (DISTINCT (EMPLOYEEID)) regroupées par région et par pays.
Comment faire?

Répondre

0

Essayez de faire usage de la fonction DISTINCTCOUNT

WITH MEMBER Measures.[CountOfDistinctEmployes] AS 
DISTINCTCOUNT([Employee].[Employee Id].Children) 

SELECT {[Measures].[Active Tiles Count], Measures.[CountOfDistinctEmployes]} ON 0, 
NON EMPTY ([Employee].[Employee Id].Children,[Employee - Business Region]. [Region Code].Children,[Employee - Country].[Country Code].Children) ON 1 
FROM [OLAP Pre] 
WHERE ( 
{[Employee Statuses].[Status Id].&[1],[Employee Statuses].[Status Id].&[4],[Employee Statuses].[Status Id].&[3]}, 
{[Business Region].[Abbreviation].&[APJ],[Business Region].[Abbreviation].&[EMEA],[Business Region].[Abbreviation].&[Americas]}, 
{[Employee Types].[Bits].&[1],[Employee Types].[Bits].&[9], 
[Employee Types].[Bits].&[25],[Employee Types].[Bits].&[5], 
[Employee Types].[Bits].&[13],[Employee Types].[Bits].&[29]} 
,{[Date].[Date].&[2015-03-18T00:00:00]:NULL}) 
1

Créer une mesure COUNT DISTINCT, Il est un type d'agrégation

pré-définies