2014-11-06 5 views
1

Я хочу найти Member_Status на дату приобретения Продукта.PowerPivot несколько столбцов приблизительное соответствие

В таблице A содержится 3 поля: Member_Name, Member_Status, Change_Date (это дата, когда член начал получать этот статус).

Таблица B содержит 3 полях: Member_Name, Product_Purchased, Purchase_Date.

Обе таблицы имеют несколько записей для каждого члена (например, на протяжении многих лет у члена было много разных статусов, и член мог купить много разных продуктов в разные дни), поэтому я не могу использовать стандартные отношения PowerPivot.

Я думаю, что мне нужно сделать косвенный поиск (смотреть вверх Purchase_Date из таблицы B и найти ближайшую ранее соответствие Change_Date из таблицы А для члена, который соответствует в обеих таблицах и найти правильное Member_Status поле для каждой записи в таблице B. но я не был в состоянии выяснить формулу в PowerPivot для достижения этой цели

Любые предложения

Вот пример файла данных:.? http://www.files.com/shared/5460044b6d805/HowToRelateTwoTablesWithNonUniqueRecords.zip

+0

Керри, могли бы вы опубликовать некоторые примеры данных/ссылку на книгу? –

+0

можете ли вы поместить его в Dropbox и опубликовать ссылку общего доступа? или http://www.files.com/ –

+0

Вот файл: http://www.files.com/shared/5460044b6d805/HowToRelateTwoTablesWithNonUniqueRecords.zip – Kerry

ответ

1

Я нашел большой блог на этом Тема на http://javierguillen.wordpress.com/2012/08/05/approximate-match-with-multiple-criteria-in-dax-part-ii/ и выясните решение. Вот формула, которая сработала для меня. = вычислить ( LASTNONBLANK (Table2 [Member_Status], 1), ФИЛЬТР ( Table2, Table2 [Дата] = ВЫЧИСЛИТ (LASTNONBLANK (Table2 [Дата], 1), фильтр (Table2, Table2 [member_name] = Таблица1 [ member_name] & & Table2 [Дата] < = Table1 [PURCHASE_DATE]) ) & & Table2 [member_name] = Table1 [member_name]))