BookmarkSubscribeRSS Feed
Neil19
Calcite | Level 5

Hi,

 

I'm quite new to SAS and I'm trying to perfrom a sumif function on a data set in DI, but I cant find an equivalent procedure / code that would help me with this. I have the data set below.

 

Bucket ABucket BValue
11010
2106
3103
1209
2205
3202
1308
2304
3301

 

I want to add a column to sum the values >= Bucket A, but also to exclude the values of the previous row, so I've used a SUMIF with reative referencing.  For example, the fourmula in cel D2 is, =SUMIF(A2:A10,">="&A2,C2:C10) = 48.

 

Bucket ABucket BValuesumif (>=A)
1101048
210621
31036
120929
220512
32023
130813
23045
33011

 

Is there a way to recreate this in SAS and DI?

 

Many thanks,

Neil

1 REPLY 1
LinusH
Tourmaline | Level 20

Hi,

I can understand you might have problems grasping DI if you use Excel as a reference.

DI Studio is used for standardised ETL, where the target are detail data layers, data marts and similar.

 

But your requirement doesn't look like a generic table structure, feels like a report to me. Or what is the application? Sorry, I can't the logic/use of the caclulated column. Please elaborate about the data flow and use.

Perhaps this is better suited for a report tool, like a stored process.

 

If you need to perform this in DI, my gut feeling is that you need some kind of user written code.

Data never sleeps

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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