# Поддержка нескольких таблиц в Direct Discovery

Можно использовать Direct Discovery для загрузки нескольких таблиц или видов с помощью функции объединения ANSI SQL.

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

Например, можно связать таблицы, загруженные в Direct Discovery с помощью предложения Where или Join.

* Можно выполнить развертывание Direct Discovery в одной таблице фактов или многомерном сценарии в памяти с большими наборами данных.
* Приложение Direct Discovery можно использовать с несколькими таблицами, которые соответствуют одному из следующих критериев.
  * Небольшое количество элементов ключевого поля в объединении.

  * Большое количество элементов ключевого поля в объединении, для параметра DirectEnableSubquery установлено значение «true» и все таблицы объединены с Direct Discovery.

    Для получения дополнительной информации см. [Использование вложенных запросов с помощью Direct Discovery](https://help.qlik.com/ru-RU/sense/May2025/Subsystems/Hub/Content/Sense_Hub/DirectDiscovery/using-subqueries-direct-discovery.htm).
* Direct Discovery не подходит для развертывания в сценарии третьей нормальной формы со всеми таблицами в форме Direct Discovery.

## Связывание таблиц Direct Discovery с помощью предложения Where

В этом примере скрипта данные загружаются из базы данных AW2012. Таблицы Product и ProductSubcategory связываются с помощью предложения Where, используя общее поле ProductSubCategoryID.

```

      Product_Join:
DIRECT QUERY  
DIMENSION
   [ProductID],
   [AW2012].[Production].[Product].[Name] as [Product Name],
   [AW2012].[Production].[ProductSubcategory].[Name] as [Sub Category Name],
   Color,
   [AW2012].[Production].[Product].ProductSubcategoryID as [SubcategoryID]
MEASURE
   [ListPrice]   
FROM [AW2012].[Production].[Product],
     [AW2012].[Production].[ProductSubcategory]
WHERE [AW2012].[Production].[Product].ProductSubcategoryID = 
      [AW2012].[Production].[ProductSubcategory].ProductSubcategoryID   ;
        
```

## Связывание таблиц Direct Discovery с помощью предложений Join On

Также можно использовать предложения Join On для связи таблиц Direct Discovery. В этом примере оператора выполняется присоединение таблицы SalesOrderHeader к таблице SalesOrderDetail с помощью поля SalesOrderID, а также присоединение таблицы Customer к таблице SalesOrderHeader с помощью поля Customer ID.

В этом примере мы создаем меры из одной логической таблицы, что означает, что их можно будет использовать в одной диаграмме. Например, можно создать диаграмму, используя в качестве мер значения SubTotal и OrderQty.

```
Sales_Order_Header_Join:
DIRECT QUERY
DIMENSION 
   AW2012.Sales.Customer.CustomerID as CustomerID,
   AW2012.Sales.SalesOrderHeader.SalesPersonID as SalesPersonID,
   AW2012.Sales.SalesOrderHeader.SalesOrderID as SalesOrderID,
   ProductID,
   AW2012.Sales.Customer.TerritoryID as TerritoryID,
   OrderDate,
   NATIVE('month([OrderDate])') as OrderMonth, 
   NATIVE('year([OrderDate])') as OrderYear 
MEASURE
   SubTotal,
   TaxAmt,
   TotalDue,
   OrderQty
DETAIL
   DueDate,
   ShipDate,
   CreditCardApprovalCode,
   PersonID,
   StoreID,
   AccountNumber,
   rowguid,
   ModifiedDate   
FROM AW2012.Sales.SalesOrderDetail 
   JOIN AW2012.Sales.SalesOrderHeader
   ON (AW2012.Sales.SalesOrderDetail.SalesOrderID = 
       AW2012.Sales.SalesOrderHeader.SalesOrderID)
   JOIN AW2012.Sales.Customer 
   ON(AW2012.Sales.Customer.CustomerID = 
      AW2012.Sales.SalesOrderHeader.CustomerID);
```