Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago

Time intelligence Time Slicer

Hola, trabajo en una IMPORTANTE ONG y todavía soy relativamente nuevo en Power BI y DAX.

Tengo un analista que solicita un informe de Power BI que puede decirle a un donante mensual (es decir, alguien que nos da un regalo mensualmente. Ie. IsSustainerPayment=1) dentro de un año fiscal y un período fiscal/mes específicos (selección múltiple en el período fiscal, selección única en el año fiscal). Basado en la fecha mínima de regalo del primer pago del sostenedor en el conjunto de datos filtrado, el analista quiere un recuento de regalos en efectivo únicos (es decir, no regalos regulares del sostenedor, sino donaciones adicionales además de sus regalos mensuales recurrentes ... AKA IssustainerPayment =1). Me gusta resolver las cosas por mí mismo, pero estoy realmente atascado.

El analista quiere poder ver los cambios en los comportamientos de los donantes a intervalos específicos después de la fecha mínima de regalo del sostenedor (es decir, 3 meses después, 6 meses, etc.) y agrupados por el número de regalos en efectivo realizados (sin regalos en efectivo, 1 regalo en efectivo, 2-5 regalos en efectivo, etc.).

Es la combinación de las dos agrupaciones lo que está causando la mayor confusión, es decir, cómo aplicar un ALL después de una fecha específica más allá de un año fiscal y un mes donde el año fiscal puede excluir los regalos en efectivo únicos realizados en el año fiscal 20 (y 12 meses después del primer regalo del sustentador)

ajdn2023_0-1637076592371.png

Basándome en el filtro anterior, esperaría observar la cohorte de todos los regalos de donantes (o recuentos de donantes mismos) donde la fecha de regalo del sustentador está en algún lugar dentro de abril de 2019 y de esos donantes, cuántos hicieron donaciones en efectivo, cuántos regalos se hicieron y el valor de esos regalos (tanto la suma promedio como la total). La tabla debe reflejar los regalos MÁS ALLÁ del año fiscal = 2019 y el mes fiscal = abril (es decir, 18, 24, etc. meses después de la fecha mínima)

Aquí hay una muestra de datos de la tabla de origen ('Consulta de regalo')

ajdn2023_1-1637076592381.png

Señalaré que NO tengo una dimensión de calendario y necesito extraer todas las fechas necesarias de la tabla anterior, ya que estoy trabajando en un informe existente que no tiene una.

Aquí está el DAX que tengo hasta ahora para Gift Counts, pero sé que está mal:

Recuentos de regalos =

var selectDate = Calculate(Min('Gift Query'[GiftDate]),ALLSELECTED('Gift Query'[GiftDate]))

var selectedFunction = SELECTEDVALUE('Tabla de meses de regalo'[Orden de clasificación])

donde isSustainerTab =

ADDCOLUMNS(

DISTINCT('Gift Query'[AccountSFID]),

"Min_Date",

CALCULATE(MIN('Gift Query'[GiftDate]),'Gift Query'[IsSustainerPayment]=1),

"Max_Date",

CALCULATE(Max('Gift Query'[GiftDate]),'Gift Query'[IsSustainerPayment]=0),

"Gift_Count",

var t =

FILTER('Gift Query','Gift Query'[AccountSFID]=EARLIER('Gift Query'[AccountSFID]))

donde min_date =

CALCULATE(MIN('Gift Query'[GiftDate]),'Gift Query'[IsSustainerPayment]=1)

devolución

COUNTROWS(FILTER(t,'Gift Query'[IsSustainerPayment]=0 && 'Gift Query'[GiftDate] > min_date)) + 0

)

VAR GiftCount=

SWITCH(selectedFunction,

"1",CALCULATE(SUMX(FILTER(isSustainerTab,NOT ISBLANK([Min_Date]) && [Max_Date]>selectDate && [Max_Date] <=selectDate+90),[Gift_Count])),

"2",CALCULATE(SUMX(FILTER(isSustainerTab,NOT ISBLANK([Min_Date]) && [Max_Date]>selectDate && [Max_Date] <=selectDate+180),[Gift_Count])),

"3",CALCULATE(SUMX(FILTER(isSustainerTab,NOT ISBLANK([Min_Date]) && [Max_Date]>selectDate && [Max_Date] <=selectDate+365),[Gift_Count])),

"4",CALCULATE(SUMX(FILTER(isSustainerTab,NOT ISBLANK([Min_Date]) && [Max_Date]>selectDate && [Max_Date] <=selectDate+540),[Gift_Count])),

"5",CALCULATE(SUMX(FILTER(isSustainerTab,NOT ISBLANK([Min_Date]) && [Max_Date]>selectDate && [Max_Date] <=selectDate+730),[Gift_Count])))

Los interruptores representan el filtro chiclet de 3,6,12,18,24 meses en la pantalla.

Los rangos están aprovechando una tabla auxiliar que creé ('Grupo de regalos'):

ajdn2023_2-1637076592383.png

¡Gracias de antemano por su ayuda!

2 Replies

  • Hay @ajdn2023 ,

    En función de la información que proporcionó sin un archivo de muestra, es difícil darle el resultado esperado.

    ¿Puede compartir una maqueta de datos o una muestra de su archivo PBIX? Puede usar un enlace de onedrive, google drive, transferencia o similar para cargar sus archivos.

    Si la información es confidencial, compártala a través de un mensaje privado.

  • Hay @ajdn2023 ,

    No estoy muy seguro de si entiendo sus necesidades con precisión.
    Los datos de muestra sin información confidencial y con el resultado esperado ayudarían enormemente.
    Consulte esta publicación con respecto a: How-to-provide-sample-data-in-the-Power-BI-Forum

    Espero que ayude,


    Equipo de soporte de la comunidad _ Caitlyn

    Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.