Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
manishakar
Frequent Visitor

Average of First 2 months (Text Type)

Hi!

I am quite new to Power BI and trying to get Average #ECO of first 2 months data (Jan & Feb) from below given data and calculate % Difference of current months from Jan-Feb Average:

Sample data is as below:

 

CATEGORYMONTHRSMASMSOTEAMISR/DSM IDISR/DSM NAMERETAIL ENVIRONMENTTOTAL OUTLETS#ECO

TOT BUSINESSFeb-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY5547
TOT BUSINESSJan-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY5550
TOT BUSINESSMar-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY5538
TOT BUSINESSApr-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY552
TOT BUSINESSMTD 5TH MAYMAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY550
FACEWASHJan-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY5549
TOT BUSINESSMTD 13TH MAYMAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY550
FACEWASHMTD 13TH MAYMAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY550
DEEP CLEANSINGMTD 13TH MAYMAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY550
DEEP CLEANSINGJan-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY558
DEEP CLEANSINGFeb-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY5537
DEEP CLEANSINGMar-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY5531
DEEP CLEANSINGApr-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY550
FACEWASHFeb-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY5543
FACEWASHMar-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY5537
FACEWASHApr-20MAYANK SINGHBHATT SACHINKUMAR DUSHYANTKUMARMANOJ KUMAR SHARMAFCAD100844ASIF MEMONGROCERY552

 

Would be grateful for the help.

1 ACCEPTED SOLUTION
nandukrishnavs
Super User
Super User

@manishakar 

 

Try this

Measure = 
var _avg=AVERAGEX(FILTER(ALL('Table'),'Table'[MONTH]="Feb-20"|| 'Table'[MONTH]="Jan-20"),'Table'[ECO])
var _diff= _avg-CALCULATE(SELECTEDVALUE('Table'[ECO]))
return _diff

 

Did I answer your question? Mark my post as a solution!
Appreciate with a kudos
🙂


Regards,
Nandu Krishna

View solution in original post

8 REPLIES 8
manishakar
Frequent Visitor

Want to have Month-wise % Ratio Vs Jan-Feb AvgWant to have Month-wise % Ratio Vs Jan-Feb Avg

Dears, 

Really need help with given Chart. I have my Column Chart in Power BI but also want to have a Table of Ratio of Month's #ORDERS  Vs Jan-Feb Avg. 

 

Sample Data is as below:

 

 

 

 

 


CATEGORYMONTHREGIONRSMASMSOTEAMISR/DSM IDISR/DSM NAMERETAIL ENVIRONMENTTOTAL OUTLETS#ECO%ECOTOTAL CALLS#ORDERS%PROD.AVG. LINES /OTL# LINESLPPC# LINES2VALUE/OTLVALUE/ ORDERSEC SALESSEC SALES ORDERSTATETOWNTOWN CLASSCOVID-19 ZONE

TOT BUSINESSFeb-20WESTMANOJ KUMARSANDEEP S KUKREATIVARGHIES RAJA NADARDCAD100652AJAY PANDAYSELF SERVICE2150%8113%222282828282MAHARASHTRABHAYANDERMETRORED
TOT BUSINESSFeb-20WESTMANOJ KUMARSANDEEP S KUKREATIVARGHIES RAJA NADARDCAD100652AJAY PANDAYSELF SERVICE55100%28829%7.6384.75388,9895,61844,94544,944MAHARASHTRABHAYANDERMETRORED
TOT BUSINESSJan-20WESTMANOJ KUMARSANDEEP S KUKREATIVARGHIES RAJA NADARDCAD100652AJAY PANDAYSELF SERVICE22100%9333%3.572.336.996644431,3281,329MAHARASHTRABHAYANDERMETRORED
TOT BUSINESSJan-20WESTMANOJ KUMARSANDEEP S KUKREATIVARGHIES RAJA NADARDCAD100652AJAY PANDAYSELF SERVICE55100%321031%8.6434.74725721128601,28,6051,28,600MAHARASHTRABHAYANDERMETRORED
TOT BUSINESSMar-20WESTMANOJ KUMARSANDEEP S KUKREATIVARGHIES RAJA NADARDCAD100652AJAY PANDAYSELF SERVICE2150%1119%121212128,8938,8938,8938,893MAHARASHTRABHAYANDERMETRORED
TOT BUSINESSMar-20WESTMANOJ KUMARSANDEEP S KUKREATIVARGHIES RAJA NADARDCAD100652AJAY PANDAYSELF SERVICE5360%28311%6.33196.3318.998196819624,58824,588MAHARASHTRABHAYANDERMETRORED
TOT BUSINESSMTD 13TH MAYWESTMANOJ KUMARSANDEEP S KUKREATIVARGHIES RAJA NADARDCAD100652AJAY PANDAYSELF SERVICE200%400%00000000MAHARASHTRABHAYANDERMETRORED
TOT BUSINESSMTD 13TH MAYWESTMANOJ KUMARSANDEEP S KUKREATIVARGHIES RAJA NADARDCAD100652AJAY PANDAYSELF SERVICE500%1000%00000000MAHARASHTRABHAYANDERMETRORED

Dear Experts,

Kindly, help with the solution. 

 

All the Headers in Sample data have mora than one Unique values. Because of lack of space, I have provided only unique data.

v-shex-msft
Community Support
Community Support

Hi @manishakar,

You can try to use the following measure formula to find out the first two months from text value and calculate the diff between them:

Measure =
VAR _min =
    MINX (
        ADDCOLUMNS ( ALLSELECTED ( 'Table' ), "Date", DATEVALUE ( "1-" & [MONTHR] ) ),
        [Date]
    )
VAR _next =
    DATE ( YEAR ( _min ), MONTH ( _min ) + 1, 1 )
VAR _diff =
    CALCULATE (
        AVERAGE ( 'Table'[#ECO] ),
        FILTER ( ALLSELECTED ( 'Table' ), [MONTHR] = FORMAT ( _min, "mmm-yy" ) )
    )
        - CALCULATE (
            AVERAGE ( 'Table'[#ECO] ),
            FILTER ( ALLSELECTED ( 'Table' ), [MONTHR] = FORMAT ( _next, "mmm-yy" ) )
        )
RETURN
    _diff

Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.
amitchandak
Super User
Super User

@manishakar , Try like

Measure =
var _min = date(year(today()),1,1)
var _max = eomonth(date(year(today()),1,1),1)
var _avg=AVERAGEX(FILTER(ALL('Table'),'Table'[Date]>= _min&& 'Table'[Date]<=_max ),'Table'[ECO])

return
calculate(sum('Table'[ECO]) -_avg)

Hi!

The full  data contains month including Jan-May'20. So, looking to get an average of First 2 months only at TOTAL MONTH level. 

@manishakar , try like

Measure =
var _min = date(year(today()),1,1)
var _max = eomonth(date(year(today()),1,1),1)
var _avg=AVERAGEX(summarize(FILTER(ALL('Table'),'Table'[Date]>= _min&& 'Table'[Date]<=_max ),table[Month Year],"_1",sum('Table'[ECO])),[_1])

return
calculate(sum('Table'[ECO]) -_avg)

nandukrishnavs
Super User
Super User

@manishakar 

 

Try this

Measure = 
var _avg=AVERAGEX(FILTER(ALL('Table'),'Table'[MONTH]="Feb-20"|| 'Table'[MONTH]="Jan-20"),'Table'[ECO])
var _diff= _avg-CALCULATE(SELECTEDVALUE('Table'[ECO]))
return _diff

 

Did I answer your question? Mark my post as a solution!
Appreciate with a kudos
🙂


Regards,
Nandu Krishna

Thanks for quick reply , Bro! I was able to run the Query successfully. However, It's giving Average #ECO of 10.21 at month level which is not right.

FYI, There are multile ISR/DSM & RETAIL ENVIRONMENT in the full document. Your query is probably giving avergae #ECO per ISR/DSM per RETAIL ENVIRONMENT

However, I am looking at Average of Total #ECO at Month level. 

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.