Je travaille sur une requête dans SSMS 2014 où j'ai besoin de [Mesures]. [Pourcentage d'utilisateurs uniques de l'application] par mois, afin que je puisse calculer dynamiquement le pourcentage d'augmentation du mois. Je préférerais commencer par comparer le mois dernier au mois précédent, et cela finira par être exécuté comme un rapport tous les mois (d'où la nécessité qu'il soit dynamique).Membres calculés de MDX par mois
Avec ou sans mes membres DATE, le nombre de [CurrentMonthUniqueUsers] et [LastMonthUniqueUsers] reste le même (voir dans l'exemple). De plus, sans mon instruction WHERE, je n'obtiens des résultats que pour mes lignes non-MEMBER.
WITH
MEMBER [LastMonthUniqueUsers] as SUM({[Date].[Calendar].CurrentMember.Lag(2)},[Measures].[App Unique Users Loggedin])
MEMBER [CurrentMonthUniqueUsers] as SUM({[Date].[Calendar].CurrentMember.Lag(1)},[Measures].[App Unique Users Loggedin])
//
MEMBER [Measures].[Percent Unique App Users] AS ([CurrentMonthUniqueUsers])/([LastMonthUniqueUsers]), FORMAT_STRING = "Percent"
//
MEMBER [CurrentDate] As Now()
//
SELECT
non empty[Project].[Client Name].children ON 0,
non empty{[Measures].[Percent Unique App Users],
[CurrentMonthUniqueUsers],
[LastMonthUniqueUsers],
[Measures].[App Logins],
[Measures].[App Unique Users Loggedin]} ON 1
FROM
[OpsViewWarehouse]
WHERE
[Date].[Year].[2017]
L'image ci-dessous est ce que j'obtiens pour les résultats. Le nombre de connexions et le nombre de connexions uniques sont pour tous les temps et ne sont filtrés par aucune date.
Je suis nouveau MDX, de sorte que toute aide serait grandement appréciée!
EDIT (5/22/2017): Voici la requête qui a fonctionné avec la réponse fournie par whytheq. Notez qu'il n'est pas encore dynamique en ce que je dois spécifier une date (201705) sur la colonne.
WITH
MEMBER [2MonthsPriorUniqueUsers] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(2)},[Measures].[App Unique Users Loggedin])
MEMBER [1MonthPriorUniqueUsers] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(1)},[Measures].[App Unique Users Loggedin])
MEMBER [1MonthPriorTotalAppLogins] AS Sum({[Date].[Calendar Year Month].CurrentMember.Lag(1)},[Measures].[App Logins])
MEMBER [Measures].[PercentUniqueIncreaseMoM] AS ([1MonthPriorUniqueUsers]/[2MonthsPriorUniqueUsers])-1,FORMAT_STRING = "Percent"
SELECT
NON EMPTY
{[Date].[Calendar Year Month].[201705]}
* [Project].[Client Name].members ON 0,
NON EMPTY
{
[Measures].[PercentUniqueIncreaseMoM]
,[1MonthPriorUniqueUsers]
,[2MonthsPriorUniqueUsers]
,[1MonthPriorTotalAppLogins]
} ON 1
FROM [OpsViewWarehouse]
[Date]. [Année]. [2017] -> [Date]. [Calendrier]. [2017] peut résoudre un problème. –