Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Pre & Post Analysis

Hello All,

I am trying to count the number of calls before and after a particular date: I have the following tables
All calls Table(It has dates(from 2018 to Date), Incident numbers,patient names,age etc)

Patient Table(It has patient names(ABOUT 61), Date of enrollment into a program(September 15, 2021, same for all 61 patients), and DOB)

I have linked the two tables together in the data model.

End Goal: I am trying to get a count of calls 6 months before and after the date of enrollment for the patients in the second table relative to the first table

Second Goal: Is to get a percentage count of the patient table to the general call volume in the Call Table.

 

Any Ideas are welcome. Thank You. Cannot share the main data due to the sensitive nature

 

  • Hi Anonymous ,

     

    6 months before and after date of enrollment.

    You need a table contains a column which used to be the Axis like line chart you provided. I create a table like this:

    Then create a measure via this code:

    Measure =
    VAR _d =
        CALCULATE (
            SELECTEDVALUE ( Patients[Date of Review] ),
            ALLNOBLANKROW ( Patients )
        )
    VAR _diff =
        SELECTEDVALUE ( 'Axis'[value] )
    VAR _datestart =
        DATE ( YEAR ( _d ), MONTH ( _d ) + _diff, 1 )
    VAR _dateend =
        DATE ( YEAR ( _d ), MONTH ( _d ) + _diff + 1, 1 ) - 1
    RETURN
        IF (
            SELECTEDVALUE ( Patients[Full Name] ) = BLANK (),
            COUNTROWS (
                FILTER (
                    ALL ( 'Calls' ),
                    [Incident Date Time] >= _datestart
                        && [Incident Date Time] <= _dateend
                )
            ),
            COUNTROWS (
                FILTER (
                    'Calls',
                    [Incident Date Time] >= _datestart
                        && [Incident Date Time] <= _dateend
                )
            )
        )
    

    Before you use this measure correctly, a relationship between calls and patients on name need to be created.

     

    And result:

     

     

     

    Best Regards!

    Community Support Team _ chenwu zhu

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • Hi Anonymous ,

     

    Response of your questions.

    2. The Axis table ( dimmonth ) was created by enter data, so just remove -6 month and others you do not want, but keep the [value] is right due to the [value] is identified as parameter for the DAX formula.

     

    1. Sort the column(dimmonth) by [value] column.

     

    3 If there are different review date for each patient, please use this code:

     

    Measure =
    VAR _diff =
        SELECTEDVALUE ( 'Axis'[value] )
    VAR _s =
        SUMMARIZE (
            'Patients',
            Patients[Full Name],
            Patients[Date of Review],
            "COUNT",
                COUNTROWS (
                    FILTER (
                        'Calls',
                        [Incident Date Time]
                            >= DATE ( YEAR ( EARLIER ( Patients[Date of Review] ) ), MONTH ( EARLIER ( Patients[Date of Review] ) ) + _diff, 1 )
                            && [Incident Date Time]
                                <= (
                                    DATE ( YEAR ( EARLIER ( Patients[Date of Review] ) ), MONTH ( EARLIER ( Patients[Date of Review] ) ) + _diff + 1, 1 ) - 1
                                )
                    )
                )
        )
    RETURN
        SUMX ( _s, [COUNT] )
    

     

    Pbix in the end you can refer.

    Best Regards

    Community Support Team _ chenwu zhu

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

11 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      Greetings Sir,

       

      I am following up on the formula you help me with earlier this year.

      The formula has worked well so far but I have a new scenario I want to try to add to the chart:

       

      When I select a patient to view their pre-post calls, I noticed that some patients do not have any calls after 3 months so the chart ends on the 3-month post. However, I would like that chart to show either a flat line or indicate zero calls so readers of the chat will know that the patient has stopped calling after, let's say, the 3rd month.

       So far I have tried to increase the Axis with two additional months after the 6-Month but it doesn't seem to be showing a flat line but rather the looking downwards.

       

      Any ideas to tweak the formula to achieve this just like the picture I share earlier with you??

       

      Your help is greatly appreciated.

       

      Regards

  • Anonymous's avatar
    Anonymous
    Not applicable

    lbendlin , Many thanks for your readiness to help. I am attaching the tables and expected results to this post. Feel free to ask questions about the data you might have:

     

    Incident NumberDateAgeDispositionDescriptionLocationZIPPatient Name
    G2100560101/1/201814SickCant walkAccra23345Baba,Kosi
    G2100560111/2/201815Painsleep walkNairobi23346Melic,Konan
    G2100560121/3/201816neck issuered stoolCapetown23347Babe,Roon
    G2100560131/4/201817scratchesdiarhheaLusaka23348Musa,Traore
    G2100560141/5/201818itchescoughBrazzaville23349Tonga,Managa
    G2100560151/6/201819COPDCant walkAccra23350Haya,Wakubo

     

    Full NameDOBDate of Review
    Baba,Kosi8/16/19489/15/2021
    Melic,Konan5/31/19859/15/2021
    Tonga,Managa2/19/19819/15/2021
    • lbendlin's avatar
      lbendlin
      Super User

      You say that date of enrollment is September 15, 2021 for all.  Your sample incident data only has calls before that date, and none of the calls are within six months.  

       

      Without sample data that matches the request it is hard to come up with a meaningful proposal.

      • Anonymous's avatar
        Anonymous
        Not applicable

        lbendlin The incident data is such a huge one it will be tedious to mask the names and may not attach them as a file. What I was hoping is that we could use the sample to come up with a solution. What do you recommend??