BookmarkSubscribeRSS Feed
SASGT
Calcite | Level 5

Hi. I'm trying to use a sankey diagram to visualize and calculate a flow of patients between 5 different treatment centers.

Data data is structured as follows

ID     TreatmentCenter     Contact_number     TransactionID

1       A                           1                            111

1       B                            2                            111

1       A                            3                            111

1       A                           1                            222

1       B                            2                            222

2       C                            1                            333

2       D                            2                            333

2       A                            3                            333

where ID is a uniqe identifier for each individual, TreatmentCenter is the place where the patient has been treated, Contact_number is the order of which treatments were carried out. If a new treatment episode i started for the same ID, contact_number is reset to 1 and transactionID is changed. TransactionID is used to group transactions.

For the Sankey diagram I use:

Event = TreatmentCenter

Sequence Order = Contact_number

Transaction Identifier = TransactionID

I want to use the diagram to see how patients flow between treatment centers and to calculate for example how many instances with contact number 2, treated in treatment center B, were treated before in  in treatment center A. Somethinng like this:

Treatment Center A                Contact number 2

Contact number 1          to      Treatment center A

                                             Treatment center B

                                             Treatment center C

                                             Treatment center D

                                             Treatment center E

Treatment Center B                Contact number 2

Contact number 1          to      Treatment center A

                                             Treatment center B

                                             Treatment center C

                                             Treatment center D

                                             Treatment center E

                                           

The problem I run in to is that I have to much data, around 20 000 000 rows and the longest path is 2 800 contact numbers long. The most frequents paths are 1-5 contact numbers long.

Visual analytics will only show the top 300 most frequent paths. Data is thus missing. Is it possible to do this calculation in an other way or in some way get the sankey diagram to work? I don't have to see the longest paths, only have them in the "summation".

Kind regards

1 REPLY 1
Sam_SAS
SAS Employee

Hello and thanks for your question!

Someone else might have a better solution, but have you tried adding a filter on your TreatmentCenter data item?

For example, if your filter selects only treatment centers A and B, then that should dramatically reduce the number of rows and paths in the diagram, but you could still determine how often a patient at center B had been to center A before.

Also, you are probably already aware of this, but you can increase the number of paths selected in the Path Ranking field on the Properties tab.

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

Register now!

Tips for filtering data sources in SAS Visual Analytics

See how to use one filter for multiple data sources by mapping your data from SAS’ Alexandria McCall.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 1012 views
  • 0 likes
  • 2 in conversation