2017-08-15 5 views
0

J'essaie de déterminer la clé de dimension maximale actuellement traitée par le cube afin que je puisse écrire une vue qui ne renverra que de nouvelles données pour une opération d'ajout de processus.MDX MAX MEMBER_KEY renvoie un mauvais résultat

Je suis tombé sur un couple de liens montrant tous la même chose. J'ai changé un peu ces exemples et j'ai réussi à déterminer la clé de date max dans ma dimension de date.

WITH MEMBER [Measures].[MaxKey] AS 
    MAX([Dim Date].[Date SK].ALLMEMBERS 
    ,STRTOVALUE([Dim Date].[Date SK].CURRENTMEMBER.MEMBER_KEY)) 
SELECT 
    {[Measures].[MaxKey]} ON 0 
FROM 
    [PGL DW] 

Comme prévu, les résultats de la requête ci-dessus est 20170730

Quand je change cette requête pour exécuter contre ma dimension agent renvoie la valeur incorrecte.

WITH MEMBER [Measures].[MaxKey] AS 
    MAX([Dim Agent].[Dim Agent Key].MEMBERS 
    , [Dim Agent].[Dim Agent Key].CURRENTMEMBER.MEMBER_KEY) 
SELECT 
    {[Measures].[MaxKey]} ON 0 
FROM 
    [PGL DW] 

La valeur renvoyée par la requête ci-dessus est "-6" ce qui est incorrect.

Si je liste tous Dim Agent Member Keys ci-dessous à l'aide du query je reçois des valeurs de 100000+

WITH 
MEMBER [Measures].[Dim Agent Key] as [Dim Agent].[Dim Agent Key].Currentmember.Member_Key 
SELECT {Measures.[Dim Agent Key]} ON axis(0), 
[Dim Agent].[Dim Agent Key].Members on axis(1) 
FROM [PGL DW] 

Query results

L'attribut est Dim Agent Key attribut clé de la dimension avec ses KeyColumn ensemble à Dim Agent.Dim_AgentKey (Integer).

Une idée de la raison pour laquelle la requête renvoie les résultats incorrects lors de l'interrogation de la dimension de l'agent?

Répondre

0

Si vous trouvez le maximum de MemberValue plutôt que la clé, obtenez-vous encore -6?

WITH MEMBER [Measures].[MaxKey] AS 
    MAX([Dim Agent].[Dim Agent Key].[Dim Agent Key].MEMBERS 
    , [Dim Agent].[Dim Agent Key].CURRENTMEMBER.MEMBERVALUE) 
SELECT 
    {[Measures].[MaxKey]} ON 0 
FROM 
    [PGL DW]; 
+0

Salut, merci pour votre aide. Cela renvoie "Tout". – Jacques

+0

ok - Je vais modifier et vous pouvez réessayer: on dirait que nous devons descendre d'un niveau – whytheq