#powerbi #dax
Вопрос:
Я пытаюсь создать меру, которая будет отображать количество раз, когда определенная цена встречается в столбце цены. Конкретная цена исходит из меры, которая вычисляет оптимальную цену. Когда я устанавливаю фильтр равным оптимальному расчету цены, он просто возвращает пустое значение.
В этом конкретном примере мера, которая дает мне оптимальную цену, говорит, что оптимальная цена должна составлять 1,00 доллара. Поэтому, если я вручную введу 1.00 в раздел фильтра, мои выходные данные вернутся правильно. Почему это не работает, когда я устанавливаю для своего фильтра расчет оптимальной цены, который соответствует тому же значению, что и при ручном вводе 1.00?
Опять же, это вычисление работает просто отлично, если я изменю фильтр цен на имя_таблицы'[Цена] = 1 вместо того, чтобы ставить его равным оптимальному расчету цены.
Optimal_Price_Count =
COUNTAX (
FILTER (
'Table_Name',
'Table_Name'[Price] = [Optimal Price Calculation]
amp;amp; 'Table_Name'[Product] = SELECTEDVALUE ( 'First Product'[Product] )
),
'Table_Name'[Price]
)
Ответ №1:
[Optimal Price Calculation]
Мера вычисляется в функции ФИЛЬТРА, что означает, что происходит переход контекста, который превращает контекст строки в контекст фильтра для меры.
Я бы рекомендовал определить это как переменную, а затем ссылаться на нее. Вы можете сделать то же самое и для продукта, если хотите:
Optimal_Price_Count =
VAR OptimalPrice = [Optimal Price Calculation]
VAR SelectedProduct = SELECTEDVALUE ( 'First Product'[Product] )
RETURN
COUNTAX (
FILTER (
'Table_Name',
'Table_Name'[Price] = OptimalPrice
amp;amp; 'Table_Name'[Product] = SelectedProduct
),
'Table_Name'[Price]
)