Ok probably worth going back to first principles - note the below is based on Single Book Accounting, and Automatic Close:
When you post a transaction in Netsuite, you specify a currency for that transaction, and the system will guess at an exchange rate based on the date of the transaction you have posted (this guess can be overridden with appropriate permissions). For advanced intercompany journals, this exchange rate is stored at the transaction line level. This exchange rate is set in stone once you save the transaction. This exchange rate describes the exchange rate to go from the transaction currency to the currency of the subsidiary.
You can see the rates Netsuite will guess at by searching for "page: Currency Exchange Rates"
Consolidated exchange rates are what Netsuite uses when it runs a report across multiple subsidiaries with different currencies, and these conversions happen at run time. Every account gets assigned a general rate type:
• "current" - which means the entire balance is dynamically translated each period end based on the rate (this is used for balance sheet non-equity accounts, typically)
• "historical" - which means the net movement in each period gets translated at the rate for that period (this is used for balance sheet equity accounts, typically)
• "average" - the net movement in each period gets translated at the rate for that period (this is used for profit and loss accounts, typically).
Note historical and average use exactly the same logic, they just have two different rates they use.
Netsuite will attempt to calculate the translation rates for each subsidiary as part of the period close process, based on the weighted average of transactions in each account type in each subsidiary. Which means, depending on your subsidiary hierarchy, each subsidiary may have a different rate for each account type. You can override these rates but once the period is closed, you can't amend them without re-opening the period.
So the above works really well and really consistently when running Reports in Netsuite - the final difference after applying the rates goes to a notional Foreign Currency Translation Reserve - because the trial balance has to balance.
However, saved searches have a bit of a problem when trying to apply this logic on Current account types. This is because there's no guarantee a saved search will contain the entire balance of an account. It might contain only one month; in which case the saved search will translate that month in isolation. This can give weird outcomes: say for example you have an account with a balance of 100, and last month it was translated at 1.5 (so 150 in consolidated currency). Then there is a net movement of 100 in this period, but the rate is now 2. The saved search will show a net movement of 100 * 2 = 200, but the actual movement in total on the account was 250 (it's gone from (100 * 1.5 =) 150 to (200 * 2 =) 400.
Now I've not fully tested what happens with Current account types in saved search (it's hard for us because of the way we do our consols), but from what I have seen the saved search gives a "best guess" at which period is the focus of the saved search (based on your criteria), and will use that rate. I don't know if it varies the period it has picked per subsidiary. Probably the best way is to run the saved search with consolidated exchange rate = None, then run it with Per Account, and look up the implied exchange rate in each case.