DAX/powerpivot эквивалентен T-SQL, где в

Я не могу построить запрос, эквивалентный приведенному ниже T-SQL.

Я работаю над нашей новой панелью аналитики и решил почти все, что хотел, но застрял на одной проблеме.

Изображение с таблицей и запросом T-SQL http://server.esterminal.cz/dax/all.PNG

Таблица

ID      ProductID   TimeID  StoreID Price

797190  7946        267     73      100

797191  7946        269     73      101

797192  7946        270     73      102

797193  7946        271     73      104

797194  7946        271     74      105

797195  7947        271     74      200

797196  7947        271     73      202

797197  7947        271     75      203

Запрос

SELECT * 
  FROM ProductFact  
 WHERE ProductID IN (SELECT ProductID 
                       FROM ProductFact 
                      WHERE StoreID = 75)

Результат

ID      ProductID   TimeID  StoreID Price

797195  7947        271     74      200

797196  7947        271     73      202

797197  7947        271     75      203

Я хочу показать все продукты, предлагаемые в одном магазине, и показать сведения о любых других магазинах, в которых продается этот продукт.

Я знаю, что проглядел что-то "большое", но после 6 часов попыток найти способ, я решил спросить у кого-то, у кого больше опыта, чем у меня.

Спасибо за помощь.

Михал


person user3532254    schedule 14.04.2014    source источник
comment
Каковы результаты, которые вы ожидаете? Судя по вашему описанию, запрос работает.   -  person Mack    schedule 14.04.2014
comment
Тема этого сообщения может быть неверной. Я хотел бы найти запрос DAX с тем же результатом, что и T-sql.   -  person user3532254    schedule 15.04.2014
comment
Я нашел решение, которое работает для меня. ОЦЕНИТЬ ФИЛЬТР( ProductFact, CONTAINS(FILTER(ProductFact, ProductFact[StoreID]=75), ProductFact[ProductID], ProductFact[ProductID])) )   -  person user3532254    schedule 16.04.2014
comment
Вставьте это как ответ на свой вопрос, а затем отметьте его правильно, это не только поможет другим увидеть его более легко, но и даст вам несколько очков репутации, которые вы, возможно, сможете наградить как часть вознаграждения за будущее. чтобы побудить лучший ответ.   -  person Mack    schedule 17.04.2014


Ответы (1)


Я нашел решение, которое работает для меня.

ОЦЕНИТЬ ФИЛЬТР( ProductFact, CONTAINS(FILTER(ProductFact, ProductFact[StoreID]=75), ProductFact[ProductID], ProductFact[ProductID])) )

person user3532254    schedule 17.04.2014