Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago

Filtrar dos tablas de hechos

Tengo dos tablas de hechos que están relacionadas con una tabla de dimensiones, así:

'Clics de campaña' *<--1 'Clientes' 1 --> * 'Llamadas entrantes'

Necesito crear una medida que muestre el número promedio de llamadas entrantes por cliente (total de llamadas / total de clientes) para los clientes que llamaron dentro de los 7 días posteriores a hacer clic en la campaña.

No puedo cambiar la dirección de las relaciones ni crear otras nuevas, por lo que tendrán que ser codificadas en medida. Intenté usar TREATAS, pero no me da los resultados que necesito. Propagación de filtros mediante TREATAS en DAX - SQLBI

¿Algún consejo?

6 Replies

  • @MightyMicrobe , Pruebe una medida como

    Medida =
    var _min = calculate(Min('Campaign Clicks'[Start DAte]), allexcept(Customers[Customers]))
    devolución
    calculate(sumx(values(Customers[Customers]) , count('Inbound Calls'[Call ID]), Filter('Inbound Calls', 'Inbound Calls'[Date] >= _min && 'Inbound Calls'[Date] <=_max)))

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Lo sentimos, esto no funciona. El último FILTRO de la cláusula RESULTADO lo hace tropezar.

      MightyMicrobe_0-1637620503867.png

  • ¿@MightyMicrobe

    ¿Puede proporcionar algunos datos ficticios sobre las tres tablas, así como el resultado esperado? Desea contar los clientes que llamaron dentro de los 7 días posteriores a hacer clic en la campaña, ¿solo hacen clic en la campaña una vez? ¿Cuántas campañas se incluyen en la tabla "Clics de campaña"? Los datos de muestra nos ayudarán a comprender más sobre lo que desea.

    Saludos
    Equipo de soporte de la comunidad _ Jing

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola @v-jingzhang gracias por recoger esto.

      A continuación se muestra la captura de pantalla de la parte del modelo en cuestión, las tres tablas están vinculadas en el ID de cliente, pero no hay relación entre las dos tablas de hechos.

      MightyMicrobe_0-1639003085790.png

      Un cliente puede hacer clic en un número ilimitado de campañas, pero por simplicidad, estoy trabajando con solo el último episodio de clics / llamadas, por lo que algo como MAXX servirá.

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        ¿@MightyMicrobe

        Todavía no está muy claro. ¿Puedo considerar que en la tabla 'Clics de campaña', necesitamos obtener la última hora de un clic para cada cliente? Si un cliente realizó una llamada / llamada después de ese tiempo, necesitamos extraer el tiempo de llamada más temprano y calcular si la duración entre "último clic" y "tiempo de llamada más temprano" es inferior a 7 días. Si son menos de 7 días, entonces contamos a este cliente y contamos cuántas llamadas hizo desde la tabla 'Llamadas entrantes'?

        Si mi comprensión anterior es correcta, ¿es posible que un cliente vuelva a hacer clic en las campañas después de haber realizado una llamada? Si es así, solo obtener la última hora de clic no es apropiado, ya que las llamadas perdidas ocurrieron antes de eso.

        ¿Puede proporcionar algunos datos de muestra para ayudarme a comprender mejor el problema?

        Saludos

        Jing