2016-12-07 12 views
0

Я освещал конечно доработок по площадке, используя очень простой DataModel:PowerPivot/DAX мера с SQL «WHERE ограничение IN' типа только на один один значение

enter image description here

Это дает мне сводную таблицу что выглядит один показанные справа внизу:

enter image description here

осложнение я имею дело с том, что я только хочу сообщить проценты для модуля Course1 на основе людей с названиями должностей, найденных в Course1 Таблица аудиторий показана слева от сводной таблицы. В настоящее время я достичь этого путем жесткого кодирования этих названий рабочих мест в мою меру так:

IF(HASONEVALUE(Completions[Module]), 
    IF(VALUES(Completions[Module])="Course1", 
     CALCULATE(COUNTA(Completions[Email]), 
      OrgChart[Title]="Job Title 1" 
      ||OrgChart[Title]="Job Title 2" 
      ||OrgChart[Title]="Job Title 3" 
      ||OrgChart[Title]="Job Title 4" 
      ||OrgChart[Title]="Job Title 5") 
     /CALCULATE(COUNTA(AllStaff[Email]), 
      OrgChart[Title]="Job Title 1" 
      ||OrgChart[Title]="Job Title 2" 
      ||OrgChart[Title]="Job Title 3" 
      ||OrgChart[Title]="Job Title 4" 
      ||OrgChart[Title]="Job Title 5")) 
    ,COUNTA(Completions[Email])/COUNTA(AllStaff[Email])) 
,BLANK()) 

Хотя это прекрасно работает, это довольно громоздкое, и я просто ненавижу жесткое кодирование логики в меру, как это. Я бы предпочел, чтобы мера сосала эти Заголовки для Курса1 из Таблицы, так что конечные пользователи могут изменить этот список, не понимая, как писать DAX-меры.

Есть ли способ, что я могу вместо ссылки на «курс 1 аудиторию» таблице в моей мере вместо этих бит ?:

OrgChart[Title]="Job Title 1" 
||OrgChart[Title]="Job Title 2" 
||OrgChart[Title]="Job Title 3" 
||OrgChart[Title]="Job Title 4" 
||OrgChart[Title]="Job Title 5" 

Обратите внимание, что это относится только к Course1. Коэффициенты завершения всех других курсов должны рассчитываться на основе всего персонала, а НЕ исключаться только на те должности в таблице 1 аудитории курса.

ответ

1

Вы можете использовать функцию CONTAINS(). Этот небольшой фрагмент должен работать, хотя у меня нет вашего сообщения, поэтому я не могу его проверить. Убедитесь, что данные вашей аудитории курса 1 сохранены в вашей модели данных.

FILTER(OrgChart,CONTAINS(VALUES([Course 1 Audience]),[Course 1 Audience],OrgChart[Title]) 
+0

Отлично! Спасибо за это. – jeffreyweir

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

  • Нет связанных вопросов^_^