blog3

Einstein Analytics – SAQL – 

#1 Year to Date Comparison from Current Year vs Previous Year SAQL : Einstein Analytics

if you are Einstein Analytics Developer you would have come across a Data visualization requirement to compare the revenues from current  Year to Date Vs Previous Year to Date. This is one of the important KPI for Leader dashboard .This can be done by customizing the SAQL . 


Last Year to Date (if invoice date is calendar  year)

r = load “Invoice_Data”;
r = filter r by date(‘INVOICEDATE_Year’, ‘INVOICEDATE_Month’, ‘INVOICEDATE_Day’) in [“1 year ago” .. “current day – 1 year”];
r = group r by (‘REGION’);
r = foreach r generate ‘REGION’ as ‘Region’, sum(‘revenue_amount’) as ‘Last Year to Date’;
r = limit r 2000;  

Current Year to Date (if invoice date is fiscal year)

r = load “Invoice_Data”;
r = filter r by date(‘INVOICEDATE_Year’, ‘INVOICEDATE_Month’, ‘INVOICEDATE_Day’) in [“current fiscal_year” .. “current day “];
r = group r by (‘REGION’);
r = foreach r generate ‘REGION’ as ‘Region’, sum(‘revenue_amount’) as ‘Current Year to Date’;
r = limit r 2000; 

Last  Year Month to Date
q = load “Invoice_Data”;
q = filter q by date(‘INVOICEDATE_Year’, ‘INVOICEDATE_Month’, ‘INVOICEDATE_Day’) in [“current month – 1 year”..”current day -1 year”];
q = foreach q generate ‘INVOICEDATE’ as ‘INVOICEDATE’;
q = order q by ‘INVOICEDATE’ desc;
q = limit q 2000;


#2 Filtering in SAQL using  equal to clause

q = load “Invoice_Data”;
q= filter q by ‘SF_Acco.RecordTypeId.Name’ == “Partner Account”;
q= group q by ‘SF_Acco.Name’;
q= foreach q generate count() as ‘Total Record’,’SF_Acco.Name’ as ‘Name’;
limit q 100;


#3 Filtering in SAQL using  In clause

q = load “Invoice_Data”;
q= filter q by ‘SF_Acco.RecordTypeId.Name’ == “Partner Account” and ‘FISCALYEAR’ in [“2017″,”2016”];
q= group q by (‘SF_Acco.Name’,’SF_Acco.RecordTypeId.Name’,’FISCALYEAR’);
q= foreach q generate count() as ‘Total Record’,’SF_Acco.Name’ as ‘Name’,’SF_Acco.RecordTypeId.Name’ as ‘RT Name’,’FISCALYEAR’ as ‘Current Year’,sum(‘revenue_amount’) as ‘Revenue’;
limit q 100;


#4 Co Grouping

a = load “Invoice_Data”;
a = filter a by ‘TERRITORYNAME’ matches “US”;
a = filter a by date(‘INVOICEDATE_Year’, ‘INVOICEDATE_Month’, ‘INVOICEDATE_Day’) in [“current year”..”current year”];
b = load “Invoice_Data”;
b = filter b by ‘TERRITORYNAME’ matches “US”;
b = filter b by date(‘INVOICEDATE_Year’, ‘INVOICEDATE_Month’, ‘INVOICEDATE_Day’) in [“1 year ago” .. “current day – 1 year”];
b = cogroup b by ‘REGION’, a by ‘REGION’;
c = foreach b generate b.REGION as ‘Region’, sum(a.revenue_amount) as ‘2017’, sum(b.revenue_amount) as ‘2016’;   

Post a Comment

Your email address will not be published. Required fields are marked *