2013-03-14 4 views
2

Я пытаюсь создать связь между двумя таблицами в powerpivot. Однако у моих таблиц нет никаких ключей. То, что я хотел бы сделать, это создать отношение SQL-Unique-Constraint-like, основанное на сочетании нескольких значений, являющихся ключевым.Как создать отношения в excel для нескольких столбцов?

Например:

Table1 столбцы Имя, Фамилия, Адрес, Телефон

TABLE2 колонны одинаковы.

Я хочу, чтобы создать отношения в Excel, что является эквивалентом

select * from Table1 full join Table2 on 1.Fist=2.First and 1.Last=2.Last and 1.Address=2.Address

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

У меня такое чувство, что я могу просто приблизиться к выполнению этого с неправильного направления. Любая помощь приветствуется! Спасибо.

+0

Я думаю, что единственная модель, которую позволяет powerpivot, похожа на левое соединение. Что касается создания отношений, вы можете создать ключ, объединив свои столбцы соединения, возможно, ограниченные некоторым символом. – thyme

ответ

2

Zee,

Вы правы, что PowerPivot изначально не поддерживает отношения нескольких столбцов. Есть однако 2 работы обходные:

  • Добавить ключ к каждой таблице соответствующих столбцов сцепленных вместе и обеспечивающему это уникальное, по крайней мере, одного отношение может быть создано. Если у вас есть ситуация, когда ни одна таблица не имеет уникальных ключей, тогда промежуточная таблица уникальных ключей может быть создана с использованием SQL.

  • Технически несколько связей могут быть созданы между таблицами, но только один может быть активным. Существует функция DAX, называемая USERELATIONSHIP(), которая может использовать неактивные отношения. Это передовая техника.

Возможно, решение может состоять в том, чтобы объединить две таблицы в исходном SQL-запросе. Jacob

+1

То, что он описывает, не является отношением N: N, это отношение 1: N, используя составной ключ. –

+0

Я ожидаю, что ваша вторая маркерная точка будет информативной только потому, что «[Даже если связь неактивна, она будет использоваться и отменяет любые другие активные отношения, которые могут присутствовать в модели, но не упоминаются в аргументах функции.] (Https: //msdn.microsoft.com/en-IN/library/hh230952.aspx)» – Trisped

0

Если все, что вы хотите сделать, это внутреннее соединение с использованием двух или более столбцов, рассмотрите возможность создания расчетного столбца, который объединяет 2 или 3 столбца в каждой из двух таблиц, а затем создает связь между ними.

У меня были подобные случаи и я использовал эту технику.

Смежные вопросы