Resolución del ejercicio

Este ejercicio parece fácilmente resoluble con lo que sabemos: Debemos usar la función AVERAGEX para obtener el valor medio de la frecuencia media de compra de nuestros clientes, para lo que habrá que iterar la tabla de clientes. En pseudo-código sería algo como:

Avg time between purchases =
AVERAGEX(
    Customers,
    frecuencia-media-de-compra-por-cliente
)

La frecuencia media de compra por cliente es el cociente entre el número de compras y el número de días transcurridos entre la primera y la última compra:

Avg time between purchases =
AVERAGEX(
    Customers,
    DIVIDE(
       Nº de compras,
       Nº de días transcurridos entre primera y última compra
    )
)

El número de compras coincide con el número de filas de la tabla Sales asociadas a cada cliente, la fecha de la primera compra es la fecha más antigua de dichas compras (obtenible usando la función MIN aplicada al campo Sales[Order Date]), la fecha de la última compra puede ser obtenida de forma análoga usando la función MAX, y el número de días transcurridos entre dichas fechas podemos obtenerlo con la función DATEDIFF:

Avg time between purchases =
AVERAGEX(
    Customers,
    DIVIDE(
        COUNTROWS(Sales),
        DATEDIFF(
            MIN(Sales[Order Date]),
            MAX(Sales[Order Date]),
            DAY
        )
    )
)

En todo este desarrollo lo único que estamos ignorando es el hecho de que el numerador y el denominador de nuestro cociente son valores que tienen que estar asociados al cliente que estemos iterando en la tabla Customers, y con la función AVERAGEX estamos trabajando en contexto de fila, lo que supone que el modelo de datos no se va a filtrar salvo que se ejecute la transición de contexto. En nuestro código no estamos haciendo referencia a ninguna medida, por lo que la transición de contexto no se va a producir salvo que hagamos uso de la función CALCULATE que, tras la selección de cada cliente tendría que forzar que el cociente en cuestión se calcule con el modelo de datos filtrado para el cliente siendo iterado. Es decir, nuestro código tendría que ser el siguiente:

Avg time between purchases = 
AVERAGEX(
    Customers,
    CALCULATE(
        DIVIDE(
            COUNTROWS(Sales),
            DATEDIFF(
                MIN(Sales[Order Date]),
                MAX(Sales[Order Date]),
                DAY
            )
        )
    )
)

El valor obtenido, llevado a una tarjeta, sería el que se muestra a continuación:

Avg time between purchases