2016-08-04 3 views
0

У меня есть выражение Qlikview, которое я хочу, чтобы на него не повлияли никакие выделения. Исследуйте два конкретных поля: Year & Month.выражение Qlikview не влияет на выбор EXCEPT двух конкретных полей

Мой Выражение:

Sum(Aggr(IF(Duration = 0.5 , 0.5, 
IF(DayName = 'Sat',0, 
IF(DayName = 'Sun',0, 
RangeSum(
Count({<Key = {"=Len(Trim([Date From])) > 0"}>}DISTINCT Name), 
Avg({<Key = {"=Len(Trim([Date From])) = 0"}>}0))))), Name, ADate)) 

Я знаю, что вы можете использовать что-то вроде; {1<Year = $:: Year>} & {1<Month = $:: Month>} для этого, но я не могу это исправить.

ответ

1

Существует несколько способов сделать это, но если вы уверены, что хотите, чтобы выражение учитывало только два поля, которые вы упомянули, мне нравится начинать с общего набора всех данных и фильтровать только те, которые вы хотите ,

Вы в основном там, в зависимости от того, какое выражение вы хотите ограничить, вы использовали бы {1<Year = $:: Year>} или {1<Month = $:: Month>}, как вы сказали, в любом месте, которое вы хотите ограничить. Идентификатор набора 1 начнется с общего набора всех данных в приложении, тогда заданные модификаторы Year и Month будут установлены на основе выбора в состоянии по умолчанию, заданном идентификатором $.

Так что-то подобное должно работать, я думаю:

Sum({1<Year=$::Year, Month=$::Month>} 
    Aggr(
     IF(Duration = 0.5 , 0.5, 
      IF(DayName = 'Sat', 0, 
       IF(DayName = 'Sun', 0, 
        RangeSum({ 
         Count({<Key = {"=Len(Trim([Date From])) > 0"}>} DISTINCT Name), 
         Avg({<Key = {"=Len(Trim([Date From])) = 0"}>} 0) 
        ) 
       ) 
      ) 
     ), 
    Name, ADate) 
) 

Вы, возможно, придется добавить это к вашим count и avg выражений, а также.

Я смущен об этом выражении: Avg({<Key = {"=Len(Trim([Date From])) = 0"}>} 0). Это усреднение 0. Правильно ли это?

+0

некоторая синтаксическая ошибка где-то в этом – Matt

Смежные вопросы