Summary:
Generally Project Reports and Time Reports that help us report Billable Hours and Non Billable Hours display those hours in column format. There could be scenarios where we may need them in row format and also get the data on weekly basis.

Solution:
The following are some of the examples that show how Project Reports and Time Reports can be customized to show billable hours and non-billable hours in row format.

Customizing TimeSheet Detail report:
Fields to be enabled: Billable / Non-Billable Hours, User Name and Week (Entry Date)
Group the report by: Week(Entry Date), select Week(Entry Date) in the Columns Group By filter.

The billable hours will be displayed in row format though the row name is not displayed. It is understood that they are Billable Hours as we have only enabled Billable Hours in report settings.

A similar configuration can be set up for Non-Billable Hours by enabling Non-Billable Hours instead of Billable Hours in report settings (refer image).

Note:
You can customize Project Time Analysis report after enabling the same fields in report settings, as mentioned earlier. Here also a separate report has to be created for Billable Hours and Non-Billable Hours.