У меня есть запрос mdx, который я использую в отчете SSRS. Я хотел бы вернуть только часы, которые составляют> 50, но я хотел бы показывать все годы независимо от того, есть ли данные за этот год. Я могу заставить фильтр> 50 работать, но потом я теряю годы, когда нет данных. Я пробовал ставить годы на оси «Страницы», которая затем возвращает все годы, но ось моих строк больше не уважает фильтр, когда я это делаю. Я также попытался поставить измерение лет за пределами предложения NONEMPTY, но опять же не соблюдает фильтр> 50 часов.
Вот пример того, что у меня до сих пор:MDX - включает как пустые, так и непустые
SELECT
[measures].[Hours] ON COLUMNS
,
[Date].[Year].[Year].ALLMEMBERS
*
{
Filter
(
NonEmpty
(
CrossJoin
(
[Client].[Client].[Client].ALLMEMBERS
,[Department].[Department].[Department].ALLMEMBERS
,[Title].[Title].[Title].ALLMEMBERS
,[Person].[Person].[Person].ALLMEMBERS
)
,[Measures].[Billable Hours]
)
,
[Measures].[Billable Hours] >= 50
)
} ON ROWS
FROM TestCube;
Желаемый результат был бы еще показать 2017 колонки, даже если нет никаких данных, а только показать часы> 50 для столбцов, которые имеют данные.
Любая помощь по этому вопросу была бы высоко оценена. Я нашел способ обойти это, создав вычисляемый элемент, который проверяет часы> 50, иначе возвращает null. Просто интересно, есть ли лучший способ сделать это.
Спасибо, Хиллари
Каковы будут результаты? – whytheq