Pourquoi les résultats de mon [Groupe Hiérarchie] ne sont-ils pas filtrés par l'intermédiaire de la déclaration filter() ci-dessous?MDX: le filtrage des problèmes entraîne une requête MDX utilisée dans la requête Reporting Services
SELECT
NON EMPTY {[Measures].[Group Count], [Measures].[Overall Group Count] } ON COLUMNS,
NON EMPTY {
[Survey].[Surveys By Year].[Survey Year].ALLMEMBERS *
[Response Status].[Response Status].[Response Status].ALLMEMBERS}
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM (
SELECT ({ [Survey Type].[Survey Type Hierarchy].&[9] }) ON COLUMNS
FROM (
SELECT ({ [Response Status].[Response Status].[All] }) ON COLUMNS
FROM (
SELECT (STRTOSET(@SurveySurveysByYear, CONSTRAINED)) ON COLUMNS
FROM (
SELECT(filter([Group].[Group Hierarchy].members, instr(@GroupGroupFullName,[Group].[Group Hierarchy].Properties("Group Full Name")))) on columns
FROM [SysSurveyDW]))))
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
Le filtre sur la hiérarchie de groupe fonctionne bien (par exemple renvoie un ensemble de groupes qui sont attendus) ... c'est juste qu'ils ne sont pas utilisés pour limiter les résultats à venir de retour pour une raison quelconque. – wgpubs
Les sous-sélections fonctionnent comme des sous-cubes de requête, donc à moins que vos mesures ne soient des calculs qui dépendent du contexte actuel, ils devraient fonctionner correctement. Si vos mesures sont des mesures calculées, la meilleure solution serait de passer la requête à l'aide de la clause WHERE au lieu de sous-sélectionner. –