I have data in a Data Source but when I refresh the Datamart, some fields are missing. Those are often money fields. It is an existing Datamart, I did full truncate and full refresh (no source or target filter). The incremental option is not enabled in the Refresh Data Load.
Make sure you have currency conversion rates filled in the Currency (ccy) Data Source with a valid date. The currency field shows the currency of the Data Source row, i.e., original currency, and the target is the Datamart base currency which you can see in the Datamarts editor, above the fields list. In the Ccy DS you must have the rate for the appropriate from/to combination, the application doesn't just compute the inverse rate if it is missing.