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

Примітка.:  Ми хочемо надавати найновіший вміст довідки рідною мовою користувачів якомога швидше. Цю сторінку перекладено за допомогою засобу автоматичного перекладу, тому вона може містити смислові, синтаксичні або граматичні помилки. Ми вважаємо, що цей вміст стане вам у пригоді. Повідомте нас, чи була інформація корисною, унизу цієї сторінки. Для зручності цю статтю можна переглянути англійською мовою .

Створення завдання
Зв’язки в Power View і PowerPivot (відео)

Зв’язки в Power View і PowerPivot (відео)

Зв’язки в Power View і PowerPivot (відео)

Відео) Зв'язки в Power View та Power Pivot (

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

CustomerID

Ім’я

EMail

DiscountRate

OrderID

OrderDate

Product

Кількість

1

Артюхін

artem.artyuhin@contoso.com

0,05

256

01.07.2010

Компактна цифрова фотокамера

11

1

Артюхін

artem.artyuhin@contoso.com

0,05

255

01.03.2010

Дзеркальна фотокамера

15

2

Ярощук

mykola.yaroshchuk@contoso.com

0,10

254

01.03.2010

Бюджетна відеокамера

27

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

Customers

[CustomerID]

Ім’я

Email

1

Артюхін

artem.artyuhin@contoso.com

2

Ярощук

mykola.yaroshchuk@contoso.com

CustomerDiscounts

[CustomerID]

DiscountRate

1

0,05

2

0,10

Orders

[CustomerID]

OrderID

OrderDate

Product

Кількість

1

256

01.07.2010

Компактна цифрова фотокамера

11

1

255

01.03.2010

Дзеркальна фотокамера

15

2

254

01.03.2010

Бюджетна відеокамера

27

Зв'язки в моделі даних існують, який створюється явно або той, який Excel автоматично створює від вашого імені, якщо ви одночасно імпортуєте кілька таблиць. Також можна надбудова Power Pivot для створення та керування моделі. Щоб отримати інформацію у статті створення моделі даних у програмі Excel .

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

Зв'язки на основі стовпці в кожній таблиці, які містять однакові дані. Наприклад, може стосуватися таблиця « замовники » з таблиці « замовлення » Якщо кожного містить стовпець, який зберігає Ідентифікатор клієнта. У наведеному прикладі імена стовпців не відрізняються, але це не вимога. Один може бути ідентифікатор клієнта та іншого НомерКлієнта, а всі рядки в таблиці «Замовлення» містить Ідентифікатор, який зберігається в таблиці «Замовники».

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

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

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

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

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

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

Зв'язок між клієнтом і замовлення – це один до багатьох зв'язку. Кожен клієнт може мати кілька замовлень, але порядку не може містити кілька клієнтів. Інший важливі таблицями – це один. У наведеному нижче прикладі знижки для клієнтів таблиці, який визначає один дисконтну ставку для кожного клієнта, має один зв'язок із таблиці «Замовники».

У цій таблиці показано зв'язки між трьома таблицями(клієнтів, знижки для клієнтіві замовлення).

Зв'язок

Тип

Стовпець підстановки

Стовпець

Customers-CustomerDiscounts

один-до-одного

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

один-до-багатьох

Customers.CustomerID

Orders.CustomerID

Примітка.:  Зв’язки "багато-до-багатьох" не підтримуються в моделі даних. Прикладом зв’язку "багато-до-багатьох" може бути прямий зв’язок між таблицями Products і Customers, у якому один клієнт може придбати кілька продуктів, а один продукт можуть придбати кілька клієнтів.

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

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

У поданні схеми активного зв'язку Суцільна лінія і на неактивні пунктирні лінії. Наприклад, у AdventureWorksDW2012, таблиці DimDate містить стовпець DateKey, пов'язана з трьома різних стовпців у таблиці FactInternetSales: дата, DueDateі ShipDate. Якщо активний зв'язок між DateKey та дата _ замовлення, це за промовчанням зв'язку у формулах якщо не вказати в іншому випадку.

Зв’язок можна створити, коли дотримано такі вимоги:

Умови

Опис

Унікальний ідентифікатор для кожної таблиці

У кожній таблиці повинен бути один стовпець, який унікально визначатиме кожний рядок у цій таблиці. Цей стовпець часто називають первинним ключем.

Унікальні стовпці підстановки

Значення даних у стовпці підстановки мають бути унікальними. Іншими словами, у таблиці не повинно бути повторень. У моделі даних нульові значення та пусті рядки рівноцінні пустим значенням, які є окремим значенням даних. Це означає, що у стовпці підстановки не може бути кілька нульових значень.

Пов’язані типи даних

Типи даних у вихідному стовпці та стовпця підстановки має бути сумісні. Щоб отримати додаткові відомості про типи даних наведено типи даних, які підтримуються в моделі даних.

У моделі даних не можна створити зв’язок між таблицями, якщо ключ – це складений ключ. Також є обмеження для створення зв’язків один до одного та один до багатьох. Інші типи зв’язків не підтримуються.

Складені ключі та стовпці підстановки

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

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

Багато до багатьох зв'язки

Модель даних не може містити багато до багатьох зв'язки. Не можна просто додати з'єднання таблиць в моделі. Проте, можна використовувати функції DAX для моделі багато до багатьох зв'язки.

Рефлексивні з'єднання та цикли

Рефлексивні з’єднання та цикли не можна використовувати в моделі даних. Рефлексивне з’єднання – це рекурсивний зв’язок таблиці із самою собою. Рефлексивні з’єднання часто використовуються для визначення батьківсько-дочірніх ієрархій. Наприклад, можна об’єднати таблицю Employees із нею самою, щоб отримати ієрархію для відображення ланцюжка керівництва на підприємстві.

Програма Excel не дозволяє створення циклів між зв’язками в книзі. Іншими словами, наведений далі набір зв’язків заборонений.

Від Таблиці 1, стовпець a   до   Таблиці 2, стовпець f

Від Таблиці 2, стовпець f   до   Таблиці 3, стовпець n

Від Таблиці 3, стовпець n   до   Таблиці 1, стовпець a

Якщо ви спробуєте створити зв’язок, який призведе до створення циклу, буде видано помилку.

Одна з переваг використання Power Pivot полягає в тому, що надбудова Power Pivot може іноді виявляти наявні зв’язки й установлювати нові в моделі даних, створеній у програмі Excel.

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

Алгоритм виявлення використовує статистичні дані значень і метаданих стовпців, щоб припустити ймовірність зв’язків.

  • Типи даних у всіх пов’язаних стовпцях мають бути сумісними. Автоматичне виявлення підтримується лише для цілих чисел і текстових типів даних. Докладні відомості про типи даних див. у статті Типи даних, що підтримуються в моделях даних.

  • Для успішного виявлення зв’язку кількість унікальних ключів у стовпці підстановки має бути більшою за значення в таблиці на стороні "багато". Іншими словами, ключовий стовпець на стороні "багато" у зв’язку не може містити значення, відсутні у ключовому стовпці таблиці підстановки. Наприклад, у вас є таблиця, у якій наведено список продуктів з ідентифікаторами (таблиця підстановки), і таблиця продажів, яка містить список продажів кожного продукту (сторона зв’язку "багато"). Якщо в одному із записів продажів міститься ідентифікатор продукту, відсутній у таблиці продуктів, зв’язок не буде створено автоматично, однак ви зможете створити його вручну. Щоб програма Excel виявила зв’язок, спочатку необхідно оновити таблицю підстановки Product відсутніми ідентифікаторами продуктів.

  • Переконайтеся, що ім'я стовпець ключа на боці багато схоже на ім'я ключового стовпця в таблиці підстановки. Імена не потрібно бути точно так само. Наприклад, в умовах бізнесу ви часто мають варіанти на імена стовпців, які містять однакові дані по суті: Emp Ідентифікатор, «ідентифікатор працівника», ідентифікаційний номер працівника, EMP_IDтощо. Алгоритм виявляє однакові імена та призначає вище ймовірність цих стовпцях, які містять однакові або точно відповідні імена. Таким чином, щоб збільшити ймовірність створення зв'язку, ви можете спробувати перейменування стовпців у даних, які слід імпортувати до щось подібне до стовпців у до наявної таблиці. Якщо програма Excel виявляє кілька можливих зв'язків, його не створити зв'язок.

Ця інформація допоможе вам зрозуміти, чому не всі зв’язки виявлено чи як зміни в метаданих – наприклад назви поля та типів даних – можуть поліпшити результати автоматичного виявлення зв’язків. Докладні відомості див. в статті Виправлення неполадок зв’язків.

Автоматичне виявлення іменованих наборів

У зведеній таблиці зв’язки між іменованими наборами та пов’язаними полями не виявляються автоматично. Їх можна створювати вручну. Якщо потрібно використовувати автоматичне виявлення зв’язків, видаліть кожний іменований набір і додайте окремі поля з іменованого набору безпосередньо до зведеної таблиці.

Припущення зв'язків

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

Products і Category – створюється вручну

Category та SubCategory – створюється вручну

Products і SubCategory – зв’язок припускається

Щоб зв’язки утворювалися автоматично, такі зв’язки мають бути однаково направленими, як зазначено вище. Якщо початкові зв’язки були, наприклад, між таблицями Sales і Products, а також між таблицями Sales і Customers, зв’язок не припускається. Це відбувається тому, що зв’язок між таблицями Products і Customers – "багато-до-багатьох".

Удосконалення навичок роботи з Office
Ознайомтеся з навчальними матеріалами
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×