Domanda

Sto sviluppando un'applicazione di query builder che genera MDX e sto cercando di ottenere conteggi dei clienti da un cubo utilizzando quanto segue, che funziona bene:

WITH MEMBER MEASURES.X AS (
    { [Customer].[Gender].[Female]}, 
    [Customer].[Customer].Children
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]

Tuttavia, se l'utente trascina in una dimensione che non è correlata al cliente come:

WITH MEMBER MEASURES.X AS (
    { [Customer].[Gender].[Female]}, 
    { [Employee].[Status].[Active], [Employee].[Status].[Inactive]},  
    [Customer].[Customer].Children
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]

Il risultato del conteggio diventa ovviamente errato.

Esiste un modo per determinare se una dimensione è correlata al cliente in modo da poterla escludere dalla query MDX generata?

È stato utile?

Soluzione 2

Risolto il problema usando il Esiste (set_expression1, set_expression2 [, misuragroupname]) funzione. Non è necessario determinare manualmente quali dimensioni sono correlate. Il Esiste La funzione filtra le tuple non correlate, lasciando solo il{ [Customer].[Customer].Children, [Customer].[Gender].[Female]} impostato per fare il conteggio.

Ecco MDX:

WITH MEMBER MEASURES.X AS Exists(
    [Customer].[Customer].Children,
    {[Customer].[Gender].[Female]}
    *
    {[Employee].[Status].[Active], [Employee].[Status].[Inactive]}
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]

Altri suggerimenti

Queste informazioni possono essere recuperate dal cubo Amo. Il Cube La classe contiene tutti i metadati del cubo di cui hai bisogno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top