Попытки получить [Number] и [Сумма времени нахождения] для всех изменений, которые были открыты в течение периода 201405.Наиболее эффективный способ фильтрации несколько измерений
Лучшее определение открытого, я могу думать о том, является: - Изменения, которые были авторизованы до или во время [MonthPeriod], в то время как закрыт во время или после [MonthPeriod]
SELECT
[Measures].[Sum of Time Spent] ON COLUMNS
,
[FactChange].[Number].[Number] ON ROWS
FROM
[Change Management]
WHERE
(FILTER(
[DimLoggedDate].[MonthPeriod].[MonthPeriod]
,[DimLoggedDate].[MonthPeriod].MEMBERVALUE <= 201405
)
,
FILTER(
[DimClosedDate].[MonthPeriod].[MonthPeriod]
,[DimClosedDate].[MonthPeriod].MEMBERVALUE >= 201405
))
Этот запрос возвращает список всех номеров, с нулевым значением, когда фильтры в WHERE не применяются. Я хотел бы удалить элементы NULL.
Поскольку запрос возвращает ВСЕ числа, интересно, является ли это наиболее эффективным запросом для решения проблемы. Применение NonEmpty() приведет к удалению чисел, но поскольку все изменения перечислены, разве это не повышает нагрузку на систему, чем требуется?