2016-10-05 2 views
0

J'ai lié une liste de soldes de clôture à un ensemble de taux de change en utilisant la date du solde et le MatchInterval du moment où le taux de conversion était valide. J'ai plusieurs devises dans les deux champs, donc je veux revenir quand les deux devises correspondent et appliquer le taux de change correct.Définir une analyse comparant deux champs

sum({$ <BalanceAutoNumber={"=BalanceCurrency=Currency"}>} ClosingBalance*CADMultiply) 

Comme par un guide en ligne, j'ai ajouté le BalanceAutoNumber de champ à la table des soldes ma dimension sur laquelle pour sélectionner le. Cependant, je n'obtiens des résultats que lorsque je sélectionne manuellement dans les deux champs.

Je peux y parvenir avec une instruction IF comme ci-dessous

sum(if(CompanyCurrency=Currency,ClosingBalance*CADMultiply,0)) 

Répondre

0

Comme solution provisoire, j'ai modifié mon modèle de données afin que l'intervalle des liens de correspondance entre la force de cette relation les données.

CurrencyIntervalMatchRaw: 
IntervalMatch(DateForCurrencyRates) 
Load distinct StartDateTime, EndDateTime 
Resident CurrencyRates; 

join(CurrencyIntervalMatchRaw) 
Load Distinct Currency 
Resident CurrencyRates; 


CurrencyIntervalMatch: 
Load date(DateForCurrencyRates,'YYYYMMDD')&'_'&Currency as %Join_CurrencyRates, 
    Currency, 
    StartDateTime, 
    EndDateTime 
Resident CurrencyIntervalMatchRaw; 

Drop Table CurrencyIntervalMatchRaw; 
Drop Field DateForCurrencyRates From Balances; 

Avec ce modèle révisé, je n'ai pas besoin d'une analyse définie pour limiter les données affichées.