Есть два производственных подразделения: одно в США и одно в Австралии. Завод в США производит продукты питания и напитки, а завод в Австралии производит продукты питания и канцелярские товары. У меня есть таблица, состоящая из идентификатора продукта, даты производства продуктов, дефектов продуктов и стоимости дефектов в долларах США для каждого из этих дефектов. Таблица выглядит так, как показано ниже.
Я хочу создать новую таблицу, в которой будут показаны последние 2 строки для каждого местоположения для каждого продукта и для каждого дефекта в зависимости от даты производства. Выходная таблица должна выглядеть примерно так.
Кроме того, я пытаюсь получить визуальное представление, на котором я могу увидеть консолидированные затраты на дефекты для последних двух строк для каждого местоположения, для каждого продукта и для каждого дефекта в зависимости от даты производства. Результат будет таким.
Я попробовал использовать формулу topn, но вообще не смог получить правильный ответ.
Я разделяю ваш вопрос на 2 части:
1-я часть: создайте новую таблицу, в которой будут показаны последние 2 строки для каждого местоположения, для каждого продукта и для каждого дефекта в зависимости от даты производства.
Вам необходимо рассчитать рейтинг в основной таблице, используя вычисляемый столбец:
Rank =
RANKX(
FILTER(
ALL('Manufacturers Table'),
'Manufacturers Table'[Location] = EARLIER('Manufacturers Table'[Location])
&& 'Manufacturers Table'[Product] = EARLIER('Manufacturers Table'[Product])
&& 'Manufacturers Table'[Defect] = EARLIER('Manufacturers Table'[Defect])
),
'Manufacturers Table'[Date of manufacturing],
,
DESC,
Dense
)
Затем создайте вычисляемую таблицу, в которой вы укажете ранг как условие для фильтрации:
LatestDefects =
CALCULATETABLE(
'Manufacturers Table',
FILTER(
'Manufacturers Table',
'Manufacturers Table'[Rank] <= 2
)
)
2-я часть: получить визуальное представление, на котором я могу увидеть консолидированные затраты на дефекты для последних двух строк для каждого местоположения, для каждого продукта и для каждого дефекта на основе даты производства. В вычисляемой таблице создайте меру:
Sum of Top 2 Defect Costs =
CALCULATE(
SUM('YourRankedTableName'[Cost of Defect in USD]),
'YourRankedTableName'[Rank] <= 2
)
Большое спасибо, Амира.. Это точно поможет.. :-)