2016-10-25 3 views
0

나는 테이블을 필드 판매 있습니다 날짜, 수익통화 코드를DAX 두 테이블 간의 환율을 어떻게 계산합니까?

나는 테이블이 환율 검색 필드 ValidFrom, ValidTo, 환율 검색통화 코드.

은 내가 환율 검색에 의해 수익를 곱해야 할 때 ValidTo와 두 테이블의 경기에서 통화 코드 ValidFrom 사이 폭포 판매 날짜.

+0

귀하의 모델은 CurrencyRate와 Sales 사이의 CurrencyCode 열을 사용하여 관계가 있습니까? –

+0

아니요, 고유 한 CurrencyCodes가있는 브리지 테이블을 만들 수 있습니다. – ronrule

+0

나는 그것이 꼭 필요한 것은 아니지만 일을 더 쉽게 만들어야한다고 생각합니다. 내 대답을 시도해보십시오. 관계를 추가하지 않고도 효과가있을 수 있습니다. –

답변

0

당신은 다중 Rate 추가 열 또는 측정에 Revenue 값으로 다음 RateExchangeRate에서 테이블을 적용하려면 Sales 테이블에서 계산 열을 만들 수 있습니다.

RevenueXRateMeasure = SUM(Sales[Revenue])*SUM(Sales[ExchangeRate]) 

을 아니면 열을 선호하는 경우 :

사용은 Sales 계산 된 열이 표현은, 나는 이제 Revenune하여 비율을 곱하여에 대한 측정을 만들 수 있습니다

ExchangeRate = 
CALCULATE (
    MAX (ExchangeRate[ExchangeRate]), 
    FILTER (
     FILTER (ExchangeRate, [CurrencyCode] = EARLIER (Sales[CurrencyCode])), 
     [ValidFrom] <= EARLIER (Sales[Date]) 
      && [ValidTo] >= EARLIER (Sales[Date]) 
    ) 
) 

ExchangeRate 이름 사용 :

RevenueXRateColumn = [Revenue]*[ExchangeRate] 

이것은 도움이됩니다.

+0

EARLIER 기능은 완전히 새로운 것이 었습니다. 또한 중첩 필터를 사용하는 목적은 무엇입니까? – ronrule

+0

@ronrule, EARLIER 함수를 사용하면 ExchangeRate 테이블 컨텍스트에서 Sales 테이블의 열에 액세스 할 수 있습니다. 내부 FILTER는 Currency 테이블의 CurrencyCode가 Sales 테이블의 CurrencyCode와 동일한 행만 남기고 두 번째 FILTER는 해당 행을 가져 와서 날짜 범위에있는 행을 필터링합니다. –