207.ANALYZING |GLOBAL PARACETAMOL BRANDS MARKET TRENDS FORMULATIONS AVAILABILITY PRICING DOSAGE EFFICACY USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | PROC MACRO | DATA STEP | EXPORTING | IN SAS FOR INSIGHTS REPORTING
- Get link
- X
- Other Apps
ANALYZING |GLOBAL PARACETAMOL BRANDS MARKET TRENDS FORMULATIONS AVAILABILITY PRICING DOSAGE EFFICACY USING PROC PRINT | PROC SORT | PROC MEANS | PROC FREQ | PROC SQL | PROC MACRO | DATA STEP | EXPORTING | IN SAS FOR INSIGHTS REPORTING
/*Creating a unique dataset about different Paracetamol brands across the world*/
1. Dataset Creation: Paracetamol_Brands
data Paracetamol_Brands;
length Brand_Name $30 Country $20 Manufacturer $25 Strength_mg 8
Dosage_Form $20 Price_Per_Pack_USD 8 Available_OTC $3 Efficacy_Score 8;
input Brand_Name $ Country $ Manufacturer $ Strength_mg Dosage_Form $
Price_Per_Pack_USD Available_OTC $ Efficacy_Score;
datalines;
Crocin India GSK 500 Tablet 0.70 Yes 8.5
Calpol UK GSK 500 Suspension 1.50 Yes 9.0
Tylenol USA Johnson&Johnson 500 Tablet 3.20 Yes 8.8
Panadol UAE GSK 500 Tablet 2.80 Yes 9.2
Paralen Czech Zentiva 500 Tablet 1.00 Yes 8.0
Perfalgan France BristolMyers 1000 IV 5.50 No 9.5
Dolo India MicroLabs 650 Tablet 0.65 Yes 9.3
Tylenol_Extra USA Johnson&Johnson 650 Caplet 3.50 Yes 9.1
Tempra Mexico Reckitt 500 Suspension 1.10 Yes 8.2
Doliprane France Sanofi 1000 Tablet 2.20 Yes 8.9
Mapap USA MajorPharma 500 Tablet 1.60 Yes 7.5
Paramol UK AlliancePharma 500 Tablet 2.50 No 7.8
Panamax Australia Sanofi 500 Tablet 2.00 Yes 8.0
Actimol Nigeria Emzor 500 Syrup 0.80 Yes 7.6
Febrectal Peru Genfar 500 Tablet 0.90 Yes 8.1
Apotel Iran Exir 1000 IV 6.00 No 9.4
;
run;
proc print;run;
Output:
Obs | Brand_Name | Country | Manufacturer | Strength_mg | Dosage_Form | Price_Per_Pack_USD | Available_OTC | Efficacy_Score |
---|---|---|---|---|---|---|---|---|
1 | Crocin | India | GSK | 500 | Tablet | 0.70 | Yes | 8.5 |
2 | Calpol | UK | GSK | 500 | Suspension | 1.50 | Yes | 9.0 |
3 | Tylenol | USA | Johnson&Johnson | 500 | Tablet | 3.20 | Yes | 8.8 |
4 | Panadol | UAE | GSK | 500 | Tablet | 2.80 | Yes | 9.2 |
5 | Paralen | Czech | Zentiva | 500 | Tablet | 1.00 | Yes | 8.0 |
6 | Perfalgan | France | BristolMyers | 1000 | IV | 5.50 | No | 9.5 |
7 | Dolo | India | MicroLabs | 650 | Tablet | 0.65 | Yes | 9.3 |
8 | Tylenol_Extra | USA | Johnson&Johnson | 650 | Caplet | 3.50 | Yes | 9.1 |
9 | Tempra | Mexico | Reckitt | 500 | Suspension | 1.10 | Yes | 8.2 |
10 | Doliprane | France | Sanofi | 1000 | Tablet | 2.20 | Yes | 8.9 |
11 | Mapap | USA | MajorPharma | 500 | Tablet | 1.60 | Yes | 7.5 |
12 | Paramol | UK | AlliancePharma | 500 | Tablet | 2.50 | No | 7.8 |
13 | Panamax | Australia | Sanofi | 500 | Tablet | 2.00 | Yes | 8.0 |
14 | Actimol | Nigeria | Emzor | 500 | Syrup | 0.80 | Yes | 7.6 |
15 | Febrectal | Peru | Genfar | 500 | Tablet | 0.90 | Yes | 8.1 |
16 | Apotel | Iran | Exir | 1000 | IV | 6.00 | No | 9.4 |
2. Basic Exploration using PROC PRINT
title "All Available Paracetamol Brands Worldwide";
proc print data=Paracetamol_Brands;
run;
Output:
All Available Paracetamol Brands Worldwide |
Obs | Brand_Name | Country | Manufacturer | Strength_mg | Dosage_Form | Price_Per_Pack_USD | Available_OTC | Efficacy_Score |
---|---|---|---|---|---|---|---|---|
1 | Crocin | India | GSK | 500 | Tablet | 0.70 | Yes | 8.5 |
2 | Calpol | UK | GSK | 500 | Suspension | 1.50 | Yes | 9.0 |
3 | Tylenol | USA | Johnson&Johnson | 500 | Tablet | 3.20 | Yes | 8.8 |
4 | Panadol | UAE | GSK | 500 | Tablet | 2.80 | Yes | 9.2 |
5 | Paralen | Czech | Zentiva | 500 | Tablet | 1.00 | Yes | 8.0 |
6 | Perfalgan | France | BristolMyers | 1000 | IV | 5.50 | No | 9.5 |
7 | Dolo | India | MicroLabs | 650 | Tablet | 0.65 | Yes | 9.3 |
8 | Tylenol_Extra | USA | Johnson&Johnson | 650 | Caplet | 3.50 | Yes | 9.1 |
9 | Tempra | Mexico | Reckitt | 500 | Suspension | 1.10 | Yes | 8.2 |
10 | Doliprane | France | Sanofi | 1000 | Tablet | 2.20 | Yes | 8.9 |
11 | Mapap | USA | MajorPharma | 500 | Tablet | 1.60 | Yes | 7.5 |
12 | Paramol | UK | AlliancePharma | 500 | Tablet | 2.50 | No | 7.8 |
13 | Panamax | Australia | Sanofi | 500 | Tablet | 2.00 | Yes | 8.0 |
14 | Actimol | Nigeria | Emzor | 500 | Syrup | 0.80 | Yes | 7.6 |
15 | Febrectal | Peru | Genfar | 500 | Tablet | 0.90 | Yes | 8.1 |
16 | Apotel | Iran | Exir | 1000 | IV | 6.00 | No | 9.4 |
3. Sorting Data using PROC SORT
proc sort data=Paracetamol_Brands out=Sorted_Brands;
by descending Efficacy_Score;
run;
title "Top Paracetamol Brands by Efficacy Score";
proc print data=Sorted_Brands (obs=5);
run;
Output:
Top Paracetamol Brands by Efficacy Score |
Obs | Brand_Name | Country | Manufacturer | Strength_mg | Dosage_Form | Price_Per_Pack_USD | Available_OTC | Efficacy_Score |
---|---|---|---|---|---|---|---|---|
1 | Perfalgan | France | BristolMyers | 1000 | IV | 5.50 | No | 9.5 |
2 | Apotel | Iran | Exir | 1000 | IV | 6.00 | No | 9.4 |
3 | Dolo | India | MicroLabs | 650 | Tablet | 0.65 | Yes | 9.3 |
4 | Panadol | UAE | GSK | 500 | Tablet | 2.80 | Yes | 9.2 |
5 | Tylenol_Extra | USA | Johnson&Johnson | 650 | Caplet | 3.50 | Yes | 9.1 |
4. Statistical Summary using PROC MEANS
title "Summary Statistics of Paracetamol Brand Prices and Strength";
proc means data=Paracetamol_Brands mean std min max;
var Price_Per_Pack_USD Strength_mg Efficacy_Score;
run;
Output:
Summary Statistics of Paracetamol Brand Prices and Strength |
Variable | Mean | Std Dev | Minimum | Maximum | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
5. Frequency Analysis using PROC FREQ
title "Distribution of Brands by Country";
proc freq data=Paracetamol_Brands;
tables Country;
run;
Output:
Distribution of Brands by Country |
Country | Frequency | Percent | Cumulative Frequency |
Cumulative Percent |
---|---|---|---|---|
Australia | 1 | 6.25 | 1 | 6.25 |
Czech | 1 | 6.25 | 2 | 12.50 |
France | 2 | 12.50 | 4 | 25.00 |
India | 2 | 12.50 | 6 | 37.50 |
Iran | 1 | 6.25 | 7 | 43.75 |
Mexico | 1 | 6.25 | 8 | 50.00 |
Nigeria | 1 | 6.25 | 9 | 56.25 |
Peru | 1 | 6.25 | 10 | 62.50 |
UAE | 1 | 6.25 | 11 | 68.75 |
UK | 2 | 12.50 | 13 | 81.25 |
USA | 3 | 18.75 | 16 | 100.00 |
title "OTC Availability Status";
proc freq data=Paracetamol_Brands;
tables Available_OTC;
run;
Output:
OTC Availability Status |
Available_OTC | Frequency | Percent | Cumulative Frequency |
Cumulative Percent |
---|---|---|---|---|
No | 3 | 18.75 | 3 | 18.75 |
Yes | 13 | 81.25 | 16 | 100.00 |
6. Using SQL in SAS with PROC SQL
proc sql;
title "Average Price and Efficacy by Country";
select Country, count(*) as Brand_Count,
mean(Price_Per_Pack_USD) as Avg_Price,
mean(Efficacy_Score) as Avg_Efficacy
from Paracetamol_Brands
group by Country
order by Avg_Efficacy desc;
quit;
Output:
Average Price and Efficacy by Country |
Country | Brand_Count | Avg_Price | Avg_Efficacy |
---|---|---|---|
Iran | 1 | 6 | 9.4 |
UAE | 1 | 2.8 | 9.2 |
France | 2 | 3.85 | 9.2 |
India | 2 | 0.675 | 8.9 |
USA | 3 | 2.766667 | 8.466667 |
UK | 2 | 2 | 8.4 |
Mexico | 1 | 1.1 | 8.2 |
Peru | 1 | 0.9 | 8.1 |
Australia | 1 | 2 | 8 |
Czech | 1 | 1 | 8 |
Nigeria | 1 | 0.8 | 7.6 |
7. SAS Macro for Filtering Brands by Strength
%macro filter_by_strength(strength);
title "Paracetamol Brands with &strength.mg Strength";
proc print data=Paracetamol_Brands;
where Strength_mg = &strength;
run;
%mend;
%filter_by_strength(500);
Output:
Paracetamol Brands with 500mg Strength |
Obs | Brand_Name | Country | Manufacturer | Strength_mg | Dosage_Form | Price_Per_Pack_USD | Available_OTC | Efficacy_Score |
---|---|---|---|---|---|---|---|---|
1 | Crocin | India | GSK | 500 | Tablet | 0.7 | Yes | 8.5 |
2 | Calpol | UK | GSK | 500 | Suspension | 1.5 | Yes | 9.0 |
3 | Tylenol | USA | Johnson&Johnson | 500 | Tablet | 3.2 | Yes | 8.8 |
4 | Panadol | UAE | GSK | 500 | Tablet | 2.8 | Yes | 9.2 |
5 | Paralen | Czech | Zentiva | 500 | Tablet | 1.0 | Yes | 8.0 |
9 | Tempra | Mexico | Reckitt | 500 | Suspension | 1.1 | Yes | 8.2 |
11 | Mapap | USA | MajorPharma | 500 | Tablet | 1.6 | Yes | 7.5 |
12 | Paramol | UK | AlliancePharma | 500 | Tablet | 2.5 | No | 7.8 |
13 | Panamax | Australia | Sanofi | 500 | Tablet | 2.0 | Yes | 8.0 |
14 | Actimol | Nigeria | Emzor | 500 | Syrup | 0.8 | Yes | 7.6 |
15 | Febrectal | Peru | Genfar | 500 | Tablet | 0.9 | Yes | 8.1 |
%filter_by_strength(650);
Output:
Paracetamol Brands with 650mg Strength |
Obs | Brand_Name | Country | Manufacturer | Strength_mg | Dosage_Form | Price_Per_Pack_USD | Available_OTC | Efficacy_Score |
---|---|---|---|---|---|---|---|---|
7 | Dolo | India | MicroLabs | 650 | Tablet | 0.65 | Yes | 9.3 |
8 | Tylenol_Extra | USA | Johnson&Johnson | 650 | Caplet | 3.50 | Yes | 9.1 |
%filter_by_strength(1000);
Output:
Paracetamol Brands with 1000mg Strength |
Obs | Brand_Name | Country | Manufacturer | Strength_mg | Dosage_Form | Price_Per_Pack_USD | Available_OTC | Efficacy_Score |
---|---|---|---|---|---|---|---|---|
6 | Perfalgan | France | BristolMyers | 1000 | IV | 5.5 | No | 9.5 |
10 | Doliprane | France | Sanofi | 1000 | Tablet | 2.2 | Yes | 8.9 |
16 | Apotel | Iran | Exir | 1000 | IV | 6.0 | No | 9.4 |
8. Macro to Calculate Country-wise Stats
%macro country_stats(country_name);
proc sql;
title "Statistics for &country_name";
select Manufacturer, Brand_Name, Strength_mg, Price_Per_Pack_USD, Efficacy_Score
from Paracetamol_Brands
where Country = "&country_name";
quit;
%mend;
%country_stats(India);
Output:
Statistics for India |
Manufacturer | Brand_Name | Strength_mg | Price_Per_Pack_USD | Efficacy_Score |
---|---|---|---|---|
GSK | Crocin | 500 | 0.7 | 8.5 |
MicroLabs | Dolo | 650 | 0.65 | 9.3 |
%country_stats(USA);
Output:
Statistics for USA |
Manufacturer | Brand_Name | Strength_mg | Price_Per_Pack_USD | Efficacy_Score |
---|---|---|---|---|
Johnson&Johnson | Tylenol | 500 | 3.2 | 8.8 |
Johnson&Johnson | Tylenol_Extra | 650 | 3.5 | 9.1 |
MajorPharma | Mapap | 500 | 1.6 | 7.5 |
9. Advanced SQL Use – Top 3 Brands Per Country
proc sql;
create table Top_Brands_Per_Country as
select *, monotonic() as Rank
from Paracetamol_Brands
order by Country, Efficacy_Score desc;
quit;
data Filtered_Top;
set Top_Brands_Per_Country;
if Rank <= 45; /* assuming 15 countries x top 3 */
run;
proc sort data=Filtered_Top;
by Rank;
run;
title "Top 3 Paracetamol Brands Per Country by Efficacy";
proc print data=Filtered_Top(obs=3);
run;
Output:
Top 3 Paracetamol Brands Per Country by Efficacy |
Obs | Brand_Name | Country | Manufacturer | Strength_mg | Dosage_Form | Price_Per_Pack_USD | Available_OTC | Efficacy_Score | Rank |
---|---|---|---|---|---|---|---|---|---|
1 | Crocin | India | GSK | 500 | Tablet | 0.7 | Yes | 8.5 | 1 |
2 | Calpol | UK | GSK | 500 | Suspension | 1.5 | Yes | 9.0 | 2 |
3 | Tylenol | USA | Johnson&Johnson | 500 | Tablet | 3.2 | Yes | 8.8 | 3 |
10. Output Presentation Format – PDF/Excel
ods pdf file="Paracetamol_Analysis_Report.pdf";
*Insert all procedures here again or just summary ones*;
ods pdf close;
/*OR*/
proc export data=Paracetamol_Brands
outfile="Paracetamol_Brands.csv"
dbms=csv
replace;
run;
Log:
- Get link
- X
- Other Apps
Comments
Post a Comment