J'ai le problème suivant. Si je demande des valeurs avec une keyfigure qui est une fonction, je ne peux pas spécifier plusieurs valeurs de la même restriction de dimension, mais si ce n'est pas une fonction cela fonctionne.restrictions de dimensions multiples dans un MDX où clause
ceci marche:
SELECT {[Measures].[Netto]} on columns FROM TDC where
({NonEmpty([Time].[Month].[Month].&[2008-03-01T00:00:00]),
NonEmpty([Time].[Month].[Month].&[2008-04-01T00:00:00])})
Mais cela ne veut pas:
SELECT {[Measures].[CalculatedFunction]} on columns FROM TDC where
({NonEmpty([Time].[Month].[Month].&[2008-03-01T00:00:00]),
NonEmpty([Time].[Month].[Month].&[2008-04-01T00:00:00])})
Et cela fonctionne aussi:
SELECT {[Measures].[CalculatedFunction]} on columns FROM TDC where
({NonEmpty([Time].[Month].[Month].&[2008-03-01T00:00:00])})
Je suppose que la solution est quelque chose comme l'ajout de l'où clause à l'en-tête mais j'aime vraiment cette solution parce que c'est si simple.
La fonction Calucated est:
CREATE MEMBER CURRENTCUBE.[MEASURES].Ultimo
AS (iif ((not [Time].[Year - Month - Date].currentmember is [Time].[Year - Month - Date].defaultmember),
IIF(NOT ([Measures].[LagerStk] = 0),
Sum([Time].[Year - Month - Date].[Date].members(0):
ClosingPeriod([Time].[Year - Month - Date].[Date]),
[Measures].[LagerStk]), NULL)
,
IIF(NOT ([Measures].[LagerStk] = 0),
Sum([Time].[Year - Week - Date].[Date].members(0):
ClosingPeriod([Time].[Year - Week - Date].[Date]),
[Measures].[LagerStk]), NULL))),
VISIBLE = 1;
Le code est inspiré de cela et modifié pour deux hiérarchies dans la dimension temporelle: http://www.sqlserveranalysisservices.com/OLAPPapers/InventoryManagement%20in%20AS2005v2.htm
C'est sur le serveur SQL 2005 Enterprise Edition.
Fonction calibrée supplémentaire à la description originale. Merci! –
Merci cela fonctionne, petit nitpick il y a un bug dans la seconde portée. Devrait être: ');', au lieu de '),)'. –
Eh bien, cela ne fonctionne pas réellement. Si je mets une semaine, une date ou un mois sur l'un des axes, cela ne calcule rien? –