Я ищу метод для использования в Microsoft PowerPivot 2010, который позволит мне выполнять динамическое ранжирование, которое будет автоматически обновлять связанное значение ранга на основе примененных фильтров и значений среза.
Таким образом, все примеры, которые я видел, используют функцию DAX Calculate (), которая переопределяет существующие фильтры в таблице PowerPivot с помощью функции All (), которая приводит к игнорированию предопределенных фильтров, которые пользователи могут применять.
Чтобы проиллюстрировать мои требования, ознакомьтесь с приведенным ниже примером:
(Исходные данные в окне PowerPivot :)
-------------------------------------------------------------------------------------
Claim Number | Claimant Number | Transaction Date | Dollar Amount
------------------------------------------------------------------------------------
ABCD123456 4 1/1/2012 $145.23
ABCD123456 4 8/1/2012 $205.12
ABCD123456 4 9/1/2012 $390.74
VDSF123455 2 3/5/2012 $10.12
VDSF123455 2 9/5/2012 $50.12
VDSF123455 2 12/9/2012 $210.45
------------------------------------------------------------------------------------------
Теперь я хотел бы иметь возможность ТОЛЬКО отображать сумму в долларах для каждого номера претензии и номера заявителя на основе ПЕРВОЙ даты транзакции. По сути, я бы хотел показать только доллары, привязанные к первой транзакции, привязанной к каждому номеру претензии и группе номеров истца.
Мой мыслительный процесс заключался в создании динамического ранга для каждой группы [номер претензии + номер истца], аналогичный функции «разделить по - Row_Number ()». Таким образом, каждая группа [номер претензии + номер заявителя], содержащая значение ранга 1, будет представлять ПЕРВУЮ транзакцию, привязанную к этому значению.
Однако мне нужно, чтобы это значение ранга изменилось, если пользователь применит фильтр к данным в итоговой сводной таблице.
Это можно проиллюстрировать ниже на основе приведенных выше примеров данных:
----------------------------------------------------------------------------------------------
Claim Number | Claimant Number | Transaction Date | Dollar Amount | Rank |
---------------------------------------------------------------------------------------------
ABCD123456 4 1/1/2012 $145.23 1
ABCD123456 4 8/1/2012 $205.12 2
ABCD123456 4 9/1/2012 $390.74 3
VDSF123455 2 3/5/2012 $10.12 1
VDSF123455 2 9/5/2012 $50.12 2
VDSF123455 2 12/9/2012 $210.45 3
------------------------------------------------------------------------------------------------
Теперь, если пользователь применяет фильтр через срез или через раскрывающееся меню фильтра в сводной таблице или в самой таблице PowerPivot, за исключением дат оценки ‹2/1/2012, значение ранга должно автоматически обновляться и отражаться, как показано ниже:
(Применены фильтры)
=============================================================================
Claim Number | Claimant Number | Transaction Date | Dollar Amount | Rank |
============================================================================
ABCD123456 4 8/1/2012 $205.12 1
ABCD123456 4 9/1/2012 $390.74 2
VDSF123455 2 3/5/2012 $10.12 1
VDSF123455 2 9/5/2012 $50.12 2
VDSF123455 2 12/9/2012 $210.45 3
===========================================================================
Как видите, значение ранга было автоматически обновлено для первой группы заявок на основании того, что одна из строк, связанных с номером заявки ABCD123456, была скрыта на основе примененного пользователем фильтра.
Затем я хотел бы создать дополнительную меру в таблице PowerPivot, которая отображала бы сумму в долларах, привязанную ТОЛЬКО к транзакции, содержащей значение ранга 1, как показано ниже:
(Фильтры применены, добавлена новая мера)
===============================================================================================
Claim Number | Claimant Number | Transaction Date | Dollar Amount | Rank | Opening Dollar Amt|
================================================================================================
ABCD123456 4 8/1/2012 $205.12 1 $205.12
ABCD123456 4 9/1/2012 $390.74 2
VDSF123455 2 3/5/2012 $10.12 1 $50.12
VDSF123455 2 9/5/2012 $50.12 2
VDSF123455 2 12/9/2012 $210.45 3
===============================================================================================
Затем можно создать соответствующую сводную таблицу со ссылкой на эти данные, чтобы мера «Начальная сумма доллара» представляла только доллары, привязанные к ПЕРВОЙ транзакции для каждой группы, как описано выше.
Я был бы очень признателен, если бы кто-нибудь обрисовал в общих чертах, как этого можно достичь.
Я подумал, что подход динамического ранжирования может быть хорошей идеей для этого, но если у кого-то есть лучшая идея для достижения моего конечного результата / цели, которая состоит в том, чтобы просто получить сумму в долларах, привязанную к первой транзакции «ВИДИМО» (на основе любого пользователя, примененного фильтры) НА ГРУППУ Я был бы открыт для любого вашего подхода.