Зв’язок між таблицями в моделі даних - Excel

даних

Додайте більше потужності аналізу даних, створюючи взаємозв'язки різних таблиць. Зв’язок - це зв’язок між двома таблицями, що містять дані: один стовпець у кожній таблиці є основою для зв’язку. Щоб зрозуміти, чому стосунки корисні, уявіть, що ви відстежуєте дані для замовлень клієнтів у вашому бізнесі. Ви можете відстежувати всі дані в одній таблиці, що має таку структуру:

Цей підхід може працювати, але він передбачає зберігання великої кількості надлишкових даних, таких як електронна адреса клієнта для кожного замовлення. Зберігання є дешевим, але якщо адреса електронної пошти зміниться, вам доведеться оновити кожен рядок для цього клієнта. Одним із рішень цієї проблеми є розподіл даних на кілька таблиць та визначення зв’язків між цими таблицями. Цей підхід використовується в реляційних базах даних, таких як SQL Server. Наприклад, база даних, яку ви імпортуєте, може представляти дані замовлення за допомогою трьох пов’язаних таблиць:

Взаємозв'язки існують в рамках моделі даних - такої, яку ви явно створюєте, або такої, яку Excel автоматично створює від вашого імені, коли ви одночасно імпортуєте кілька таблиць. Ви також можете використовувати надбудову Power Pivot для створення моделі або керування нею. Детальніше див. У розділі Створення моделі даних у Excel.

Якщо ви використовуєте надбудову Power Pivot для імпорту таблиць з тієї самої бази даних, Power Pivot може виявляти взаємозв'язки між таблицями на основі стовпців, що знаходяться в [дужках], і може відтворювати ці зв'язки в моделі даних, яку вона будує позаду сцени. Для отримання додаткової інформації див. Автоматичне виявлення та висновок про стосунки у цій статті. Якщо ви імпортуєте таблиці з кількох джерел, ви можете вручну створити зв'язки, як описано в розділі Створення зв'язку між двома таблицями.

Зв'язки базуються на стовпцях кожної таблиці, що містять однакові дані. Наприклад, ви можете пов'язати клієнтів таблиця із замовленнями таблиця, якщо кожен містить стовпець, що зберігає ідентифікатор клієнта. У прикладі назви стовпців однакові, але це не є вимогою. Одним може бути CustomerID, а іншим CustomerNumber, якщо всі рядки таблиці Orders містять ідентифікатор, який також зберігається в таблиці Customers.

У реляційній базі даних існує кілька типів ключів. Ключ, як правило, стовпець зі спеціальними властивостями. Розуміння призначення кожного ключа може допомогти вам керувати багатотабличною моделлю даних, яка надає дані до звіту зведеної таблиці, зведеної діаграми або Power View.

Хоча існує багато типів ключів, вони є найбільш важливими для нашої мети:

Первинний ключ: однозначно ідентифікує рядок у таблиці, наприклад CustomerID в Замовниках таблиця.

Альтернативний ключ (або кандидат-ключ): стовпець, відмінний від первинного ключа, який є унікальним. Наприклад, таблиця Employees може зберігати ідентифікатор працівника та номер соціального страхування, які є унікальними.

Зовнішній ключ: стовпець, який посилається на унікальний стовпець в іншій таблиці, наприклад CustomerID у Наказах таблиця, яка посилається на CustomerID у таблиці Клієнти.

У моделі даних первинний ключ або альтернативний ключ називається відповідним стовпцем. Якщо таблиця має як основний, так і альтернативний ключ, ви можете використовувати будь-який із них як основу відношення таблиці. Зовнішній ключ називається вихідним стовпцем або просто стовпцем. У нашому прикладі відносини будуть визначені між CustomerID у Наказах таблиця (стовпець) та CustomerID в Замовниках таблиця (стовпець пошуку). Якщо ви імпортуєте дані з реляційної бази даних, за замовчуванням Excel вибирає зовнішній ключ з однієї таблиці та відповідний первинний ключ з іншої таблиці. Однак ви можете використовувати будь-який стовпець, який має унікальні значення для стовпця підстановки.

Відносини між замовником та замовленням - це стосунки один до багатьох. Кожен клієнт може мати кілька замовлень, але замовлення не може мати декількох замовників. Інший важливий взаємозв'язок таблиці - це "один на один". У нашому прикладі тут, CustomerSiscounts Таблиця, яка визначає єдину ставку дисконтування для кожного клієнта, має індивідуальні відносини з таблицею Клієнти.

Ця таблиця показує взаємозв'язок між трьома таблицями (Customers, CustomerDiscounts, та замовлення):

Примітка: Відносини багато-до-багатьох не підтримуються в моделі даних. Прикладом відносин багато-до-багатьох є прямий зв'язок між Продуктами та Клієнтами, коли клієнт може придбати багато товарів, а той самий продукт - багато клієнтів.

Після створення будь-якого зв’язку Excel повинен, як правило, перерахувати будь-які формули, що використовують стовпці з таблиць у новоствореному зв’язку. Обробка може зайняти деякий час, залежно від обсягу даних та складності взаємозв’язків. Докладніше див. У розділі Перерахунок формул.

Модель даних може мати кілька взаємозв’язків між двома таблицями. Для побудови точних розрахунків Excel потребує єдиний шлях від однієї таблиці до іншої. Тому одночасно активним є лише одне відношення між кожною парою таблиць. Хоча інші неактивні, ви можете вказати неактивний зв'язок у формулах та запитах.