BookmarkSubscribeRSS Feed
Rahim9
Fluorite | Level 6

Hello everyone,

I hope everyone is doing fine.

I have a challenge using SQL in SAS that I would really appreciate any assistance here.

Basically, I am querying a database and selecting specific columns, but I want to search one of the columns (containing provider IDs) for a multiple IDs. At the same time, I want to link the search to another column (containing facility IDs) for another list of multiple facility IDs, and then finally limit the search to exactly 2 years from a date provided in one of the columns.  Example of the fields/columns for my search is below. My actual table contains hundred’s of rows!

Prov_ID

Fac_id

                  Date

1111114441

670010

23-Jul-2020

2387501187

876500

3-Sep-2020

9016661166

761122

15-Sep-2020

6724980729

865110

25-Jun-2020

 

My challenge is finding a query/code to automate this search without having to write a new search query for each of my provider IDs, Facility IDs, and dates.

I used a code/query below and got results for the first facility ID and provider ID, but do not want to have to repeat for all the provider IDs and facility IDs I have.

 

 

%LET sql=%STR(CREATE TABLE &myschema..test AS
SELECT i.bene_clm_acnt_num,
i.clm_atndg_physn_npi_num,
i.clm_atndg_physn_srnm_name,
i.prvdr_num,

i.bene_race_cd,

i.clm_from_dt AS clm_from_dt1,

i.bene_rsdnc_ssa_std_state_cd,
i.bene_birth_dt,
i.clm_pmt_amt,
i.org_npi_num,
i.clm_from_dt as clm_admsn_dt,
i.clm_thru_dt as discharge_dt,
i.mbi_id,
b.first_name,
b.last_name,
b.claim_account_number,
b.beneficiary_identification_code as BeneHICN

FROM nch_part_a.ipsn_header i
join beneficiary_data.beneficiary_status b on b.claim_account_number =i.bene_clm_acnt_num
WHERE
fac-id ='190002' and
prov_id = '1265622732'
and DATE_FORMAT(clm_thru_dt, 'yyyyMMdd') >= '20180801'
and DATE_FORMAT(clm_thru_dt, 'yyyyMMdd') <= '20200801'
);

I will grateful if someone can help me with this.

1 REPLY 1
ChrisNZ
Tourmaline | Level 20

I'm unsure I understand. Have you tried the in() operator?

WHERE fac_id  IN ('190002' , '190001')
  and prov_id IN ('1265622732', '1265622730')

 

 

 

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
  • 537 views
  • 0 likes
  • 2 in conversation