Vous recherchez de l'aide sur celui-ci. Je travaille sur un rapport dans le Générateur de rapports qui utilise les données du cube Analysis Services et il me pose beaucoup de problèmes en ce qui concerne les données de date/heure. J'essaie de créer un rapport dynamique qui permettra au rapport de se mettre à jour en fonction du moment où il sera visionné. Je fais cela en réglant les paramètres (@FromDateDate
et @ToDateDate
). Malheureusement, MDX semble détester les dates qui n'ont aucun sens pour moi.Date dynamique à l'aide d'Analysis Services dans Générateur de rapport
Mon but est d'obtenir des données sur une période de trois mois avec le @ToDateDate
étant Today()
et le @FromDateDate
étant de 3 mois dans le passé que je suis en mesure de réaliser avec cette fonction (=DateAdd(DateInterval.Day,-90,Today()))
. Cependant, ceux-ci ne vont pas bien avec MDX.
Ma requête ressemble à ceci:
SELECT
NON EMPTY
{[Measures].[Work Item Count]} ON COLUMNS
,NON EMPTY
{
[Date].[Year - Month - Date Hierarchy].[Date].ALLMEMBERS*
[Work Item].[System_State].[System_State].ALLMEMBERS*
[Work Item].[Microsoft_VSTS_Common_Severity].[Microsoft_VSTS_Common_Severity].ALLMEMBERS
}
DIMENSION PROPERTIES
MEMBER_CAPTION
,MEMBER_UNIQUE_NAME
ON ROWS
FROM
(
SELECT
StrToMember
(@FromDateDate
,CONSTRAINED
)
:
StrToMember
(@ToDateDate
,CONSTRAINED
) ON COLUMNS
FROM
(
SELECT
{[Work Item].[System_WorkItemType].&[Bug]} ON COLUMNS
FROM
(
SELECT
{
[Team Project].[Team Project Hierarchy].&[{6F43CBFD-2E98-4CA7-B428-0B732603517A}]
} ON COLUMNS
FROM [Work Item]
)
)
)
WHERE
(
[Team Project].[Team Project Hierarchy].&[{6F43CBFD-2E98-4CA7-B428-0B732603517A}]
,[Work Item].[System_WorkItemType].&[Bug]
)
CELL PROPERTIES
VALUE
,BACK_COLOR
,FORE_COLOR
,FORMATTED_VALUE
,FORMAT_STRING
,FONT_NAME
,FONT_SIZE
,FONT_FLAGS;
j'ai pu comprendre comment injecter essentiellement il format approprié en réglant mes valeurs des paramètres dans les Propriétés du dataset à cette -
="[Date].[Date].&["+format(Parameters!FromDateDate.Value,"yyyy-MM-ddThh:mm:ss")+"]"
Mon deux paramètres ont des valeurs par défaut de:
=DateAdd(DateInterval.Day,-90,Today()) and =Today()
Lorsque j'exécute mon rapport, je reçois l'erreur suivante:
The restrictions imposed by the CONSTRAINED flag in the STRTOMEMBER function were violated.
Maintenant, si je retire CONSTRAINED
de la fonction STRTOMEMBER
je reçois une autre erreur. J'ai également essayé de supprimer toute la fonction STRTOMEMBER
et d'utiliser simplement les paramètres que je peux utiliser dans Management Studio mais pas dans le Générateur de rapports. S'il vous plaît aidez! J'ai essayé tant de façons différentes et toujours pas de succès. Faites-moi savoir quelles informations supplémentaires sont nécessaires.
Une autre chose -
Si je supprime le T
dans le format de la date de la valeur du paramètre dans le dataset propriété à ressembler à ceci:
="[Date].[Year - Month - Date Hierarchy].[Date].&["+format(Parameters!FromDateYearMonthDateHierarchy.Value,"yyyy-MM-dd hh:mm:ss")+"]"
Je reçois l'erreur ci-dessous:
The '2017-06-08 12:00:00' string cannot be converted to the date type.
également pour des informations supplémentaires c'est la recherche que je l'ai fait pour me faire autant que je suis devenu: http://blog.datainspirations.com/2010/10/07/using-dynamic-mdx-in-reporting- services partiel 1/ – dougie88
Croisons les doigts je pense avoir résolu celui-ci !!! Mon format "injection" pour le type de date était mauvais - il devait ressembler à ceci: Format et "T00: 00: 00]" I (CDate (Paramètres FromDateYearMonthDateHierarchy.Value), "aaaa-MM-dd"!) Je continuerai à tester et mettre à jour si le correctif est valide. – dougie88