Filling in blanks, based on next value
I have a dataset in which a User ID will be identified during a session.... and then later change User IDs... and in between, there are rows of data in which the User ID is not identified - but I want to fill in those gaps with the next User ID that is identified during that session...
Row -- Session ID -- User ID -- Timestamp
001 -- 123 -- Null -- 10000...
002 -- 123 -- Null -- 10002...
003 -- 123 -- ABC -- 10004...
004 -- 987 -- Null -- 10006...
005 -- 123 -- Null -- 10005...
006 -- 123 -- DEF -- 10007....
007 -- 987 -- XYZ -- 10009...
I would want User ID value in rows 001 and 002 populated with 'ABC'
I would want User ID value in row 005 populated with 'DEF'
I would want User ID value in row 004 populated with 'XYZ'
Can anyone advise on how I can do this?
Answers
-
SELECT *, CASE WHEN `userID` IS NULL THEN (SELECT DISTINCT `userID` FROM `your_table` WHERE (`sessionID`=T.`sessionID`) AND (`userID` IS NOT NULL)) ELSE `userID` END AS "new_UserID" FROM `your_table` T
If I understood correctly, this should work.
Hope it helps!
0
Categories
- All Categories
- 1.7K Product Ideas
- 1.7K Ideas Exchange
- 1.5K Connect
- 1.2K Connectors
- 295 Workbench
- 6 Cloud Amplifier
- 8 Federated
- 2.8K Transform
- 97 SQL DataFlows
- 608 Datasets
- 2.1K Magic ETL
- 3.8K Visualize
- 2.4K Charting
- 710 Beast Mode
- 50 App Studio
- 39 Variables
- 668 Automate
- 170 Apps
- 446 APIs & Domo Developer
- 45 Workflows
- 7 DomoAI
- 33 Predict
- 13 Jupyter Workspaces
- 20 R & Python Tiles
- 391 Distribute
- 111 Domo Everywhere
- 274 Scheduled Reports
- 6 Software Integrations
- 116 Manage
- 113 Governance & Security
- Domo Community Gallery
- 31 Product Releases
- 9 Domo University
- 5.3K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 103 Community Announcements
- 4.8K Archive