The rate matrix is to allow users to select rate for day instead of for a date range. Once the rates generated, they will be stored in NBI_PROJ_RES_RATES_AND_COSTS table.
The logic behind how the rows created into NBI_PROJ_RES_RATES_AND_COSTS is:
It creates date blocks for the project-resources(team)-tasks combination based on the rate matrix's from date. The from date includes all ppa_matrix values' from_date which falls between project_from_date and project_to_date for the rate matrix assigned to that project. The dates are sliced and put into table NBI_PRJ_MATRIX_DATES table. Dates/rows in nbi_prj_matrix_dates table are generated based on algorithm with the combination dates of project, task, assignment and rate matrix dates. After creating the date blocks, it uses the from_date in date block and role to get the matching cost and updates it in the NBI_PROJ_RES_RATES_AND_COSTS.