2016-09-30 1 views
1

Я пытаюсь использовать IntervalMatch функцию, чтобы соединить две таблицы вместе образуют нижеИспользование Intervalmatch без синтетического ключ

InvoiceData: 
    load Supplier 
    , SupplierName  
    , SupplierValue 
    , Invoice 
    , InvoiceDate 
    , DueDate 
    , OrigInvValue  
    , OrigDiscValue 
    , PaymentReference  
    , PaymentNumber 
    , PostValue 
    , Value 
    , MthInvBal1 
    , MthInvBal2 
    , MthInvBal3 
    , Currency  
    , ConvRate 
    , DatabaseName&'.'&Supplier&'.'&Invoice as SupplierInvoice 
    , DatabaseName as Company 
    ; 

    SQL Select ****; 

CurrencyRates: 
Load date(floor([StartDateTime])) as [StartDate] 
    ,date(floor([EndDateTime])) as [EndDate] 
    ,[Currency] as BaseCurrency 
    ,[CADDivision] 
    ,[CHFDivision] 
    ,[EURDivision] 
    ,[GBPDivision] 
    ,[JPYDivision] 
    ,[USDDivision] 
    ,[CADMultiply] 
    ,[CHFMultiply] 
    ,[EURMultiply] 
    ,[GBPMultiply] 
    ,[JPYMultiply] 
    ,[USDMultiply]; 
SQL SELECT [CR].[StartDateTime] 
    , [CR].[EndDateTime] 
    , [CR].[Currency] 
    , [CR].[CADDivision] 
    , [CR].[CHFDivision] 
    , [CR].[EURDivision] 
    , [CR].[GBPDivision] 
    , [CR].[JPYDivision] 
    , [CR].[USDDivision] 
    , [CR].[CADMultiply] 
    , [CR].[CHFMultiply] 
    , [CR].[EURMultiply] 
    , [CR].[GBPMultiply] 
    , [CR].[JPYMultiply] 
    , [CR].[USDMultiply] 
FROM [Lookups].[CurrencyRates] [CR]; 

IntervalMatch: 
IntervalMatch (InvoiceDate) 
Load distinct [StartDate],[EndDate] Resident CurrencyRates; 

Читая литературу, я не думаю, что должно быть синтетическим ключом между таблицей интервал и курсы валют, однако моя модель данных все еще показывает это. Это верно?

data model

ответ

2

Вы получаете синтетический ключ каждый раз любые две таблицы связаны с более чем одной области (в вашем случае StartDateTime и EndDateTime).

Глядя на статью из Хенрик Cronström на Qlik дизайн блога (https://community.qlik.com/blogs/qlikviewdesignblog/2013/04/04/intervalmatch) вы можете прочитать, что:

Кроме того, модель данных содержит составной ключ (на FromDate и Todate полей), которые будут проявляться в виде синтетический ключ QlikView. Но не бойтесь. Этот синтетический ключ должен быть там; это не только правильно, но и оптимально, учитывая модель данных. Вам не нужно его удалять.

Поэтому кажется, что вы получите только этот синтетический ключ.

+0

Идеально, не было этой ссылки раньше, но что-то основано на ней, не объясняя ссылку –

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