Either works, but it depends on the situation. There are two possible scenarios to consider.
Scenario 1. You didn't prepare the report because you didn't have the data, but you might still prepare the report if you receive the data. You have two options in this scenario. If you say "because I don't have the data," it sounds like you might still prepare the report if you were to receive the data. If you say "because I didn't have the data," you are making a somewhat neutral statement about the past - you are giving the reason for not preparing the report, but you aren't indicating anything about how you will act if you receive the data now.
Scenario 2. You have no intention to prepare the report, even if you receive the data now. Perhaps the situation was years ago. Perhaps it was more recent and the time to prepare the report is simply past. In any case, in this scenario, you have to use "because I didn't have the data." If you say "don't," it has the implication described above.
(In English we never say "a data" - i.e., with the indefinite article. "A data point" is possible, though.)