Total ejecutado por grupo SQL (Oracle)

Tengo una tabla en una base de datos Oracle que tiene los siguientes campos de interés: Ubicación, Producto, Fecha, Cantidad. Me gustaría escribir una consulta que obtenga un total acumulado por ubicación, producto y fecha. Pongo una tabla de ejemplo debajo de lo que me gustaría que fueran los resultados.

Puedo obtener un total acumulado pero no puedo restablecerlo cuando llego a una nueva Ubicación / Producto. Este es el código que tengo hasta ahora, cualquier ayuda sería muy apreciada, tengo la sensación de que esta es una solución simple.

select a.*, sum(Amount) over (order by Location, Product, Date) as Running_Amt
from Example_Table a

+----------+---------+-----------+------------+------------+
| Location | Product | Date      | Amount     |Running_Amt |
+----------+---------+-----------+------------+------------+
| A        | aa      | 1/1/2013  | 100        | 100        |
| A        | aa      | 1/5/2013  | -50        | 50         |
| A        | aa      | 5/1/2013  | 100        | 150        |
| A        | aa      | 8/1/2013  | 100        | 250        |
| A        | bb      | 1/1/2013  | 500        | 500        |
| A        | bb      | 1/5/2013  | -100       | 400        |
| A        | bb      | 5/1/2013  | -100       | 300        |
| A        | bb      | 8/1/2013  | 250        | 550        |
| C        | aa      | 3/1/2013  | 550        | 550        |
| C        | aa      | 5/5/2013  | -50        | 600        |
| C        | dd      | 10/3/2013 | 999        | 999        |
| C        | dd      | 12/2/2013 | 1          | 1000       |
+----------+---------+-----------+------------+------------+

Respuestas a la pregunta(3)

Su respuesta a la pregunta