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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
praveenjujare
Helper I
Helper I

Need help creating new column

1000074641.png

 Share adjustment price =

 

VAR _INDEX = MAX('Investment'[Index])  

 

VAR _INDEX_1 = _INDEX - 1  

 

VAR a = SUMX('Investment', 'Investment'[Qty])  

 

VAR b = SUMX('Investment', 'Investment'[Price])  

 

VAR c = [Closing Share]  

 

VAR d =

 

    CALCULATE (

 

        [Closing Share],

 

        'Investment'[Index] = _INDEX_1  

 

    )

 

VAR e = (b * a) / c  

 

RETURN

 

    RETURN

 

    SWITCH(

 

        TRUE(),

 

'Investment', 'Investment'[Transaction Type] = "Shares Adjustment", e,

 

        0

 

    )

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @praveenjujare ,

 

Pease try:

Column = 
IF(
    'Investment'[Transaction Type] = "Shares Adjustment",
    VAR PreviousRowPrice = CALCULATE(
        MAX('Investment'[Price]),
        FILTER(
            'Investment',
            'Investment'[Index] = EARLIER('Investment'[Index]) - 1
        )
    )
    VAR PreviousRowClosingShare = CALCULATE(
        MAX('Investment'[Closing Share]),
        FILTER(
            'Investment',
            'Investment'[Index] = EARLIER('Investment'[Index]) - 1
        )
    )
    RETURN
        (PreviousRowPrice * PreviousRowClosingShare) / 'Investment'[Closing Share],
    BLANK()
)

vbofengmsft_0-1731567889000.png

 

Best Regards,

Bof

 

View solution in original post

5 REPLIES 5
Anonymous
Not applicable

Hi @praveenjujare ,

 

Based on the DAX you provided, I’m not able to fully understand the calculation logic for this new column. Could you please describe the calculation logic for this column in words?

 

Best Regards,

Bof

When transaction type = share adjustment then (previous row of price * previous row of closing share )/ present row of closing share

 

Example:   (65.4 * 273000)/2730000

Anonymous
Not applicable

Hi @praveenjujare ,

 

Pease try:

Column = 
IF(
    'Investment'[Transaction Type] = "Shares Adjustment",
    VAR PreviousRowPrice = CALCULATE(
        MAX('Investment'[Price]),
        FILTER(
            'Investment',
            'Investment'[Index] = EARLIER('Investment'[Index]) - 1
        )
    )
    VAR PreviousRowClosingShare = CALCULATE(
        MAX('Investment'[Closing Share]),
        FILTER(
            'Investment',
            'Investment'[Index] = EARLIER('Investment'[Index]) - 1
        )
    )
    RETURN
        (PreviousRowPrice * PreviousRowClosingShare) / 'Investment'[Closing Share],
    BLANK()
)

vbofengmsft_0-1731567889000.png

 

Best Regards,

Bof

 

Thanks sir

123abc
Community Champion
Community Champion

please shere more detail or pbix file.

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Users online (2,999)