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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
NelioKucharski
Frequent Visitor

Support with DAX to create a measure column from another table

Hi all,

I'm stuck with this formula from few days. Tried the MS Copilot but still getting the below error:

DAX comparison operations do not support comparing values of type Integer with values of type Text. Consider using the VALUE or FORMAT function to convert one of the values.

I've 2 tables:

1) FiT4 Initiative All where I've a column with text value named Phase__c. 

2) Initiative benefit, where I've a column with a Latest Estimate (LE) value (decimal number). 

I would like to have a formula that shows, in example, that if the Phase__c is "L0" then the Latest Estimate is equal to zero. This is for L0-L2. Then L3 the latest Estimate is *0.5, L4 is *0.9 and L5 and L6 equals Latest Estimate.

I've used several approaches to it, however for all of them I got the same error. Below are the formulas I've used.

Kindly appreciate if someone could provide a solution for this.

Many thanks in advance,

 

PoS LE =

IF (
    ISBLANK ( [Year__c] ) || [Year__c] = "",
    0,
    SWITCH (
        TRUE (),
        RELATED('FiT4 Initiative ALL'[Phase__c]) = "L0", [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[Phase__c]) = "L1", [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[Phase__c]) = "L2", [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[Phase__c]) = "L3", [Latest Estimate (LE)] * 0.5,
        RELATED('FiT4 Initiative ALL'[Phase__c]) = "L4", [Latest Estimate (LE)] * 0.9,
        RELATED('FiT4 Initiative ALL'[Phase__c]) = "L5", [Latest Estimate (LE)],
        RELATED('FiT4 Initiative ALL'[Phase__c]) = "L6", [Latest Estimate (LE)],
        0
    )
)

 I've also created a new measure extracting the "L" and changing to value the Phase__c (renamed to 6Phase__c):

 

PoS LE = 
IF (
    ISBLANK ( [Year__c] ) || [Year__c] = "",
    0,
    SWITCH (
        TRUE (),
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 0, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 1, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 2, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 3, [Latest Estimate (LE)] * 0.5,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 4, [Latest Estimate (LE)] * 0.9,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 5, [Latest Estimate (LE)],
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 6, [Latest Estimate (LE)],
        0
    )
)

 

And based on IF formula:

 

PoS LE =
IF (ISBLANK ( [Year__c] ) || [Year__c] = "",
    0,
    IF (
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 0, [Latest Estimate (LE)] * 0,
        IF (
          RELATED('FiT4 Initiative ALL'[6Phase__c]) = 1, [Latest Estimate (LE)] * 0,
            IF (
                RELATED('FiT4 Initiative ALL'[6Phase__c]) = 2, [Latest Estimate (LE)] * 0,
                IF (
                    RELATED('FiT4 Initiative ALL'[6Phase__c]) = 3, [Latest Estimate (LE)] * 0.5,
                    IF (
                        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 4, [Latest Estimate (LE)] * 0.9,
                        IF (
                            RELATED('FiT4 Initiative ALL'[6Phase__c]) = 5, [Latest Estimate (LE)],
                            IF (
                                RELATED('FiT4 Initiative ALL'[6Phase__c]) = 6, [Latest Estimate (LE)],
                                0
                            )
                        )
                    )
                )
            )
        )
    )
)

And finally trying to use the "value sintax" which the error was referring to:

PoS LE = 
IF (
    ISBLANK ( [Year__c] ) || [Year__c] = "",
    0,
    SWITCH (
        TRUE (),
        VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 0, [Latest Estimate (LE)] * 0,
        VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 1, [Latest Estimate (LE)] * 0,
        VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 2, [Latest Estimate (LE)] * 0,
        VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 3, [Latest Estimate (LE)] * 0.5,
        VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 4, [Latest Estimate (LE)] * 0.9,
        VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 5, [Latest Estimate (LE)],
        VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 6, [Latest Estimate (LE)],
        0
    )
)  

 

1 ACCEPTED SOLUTION
NelioKucharski
Frequent Visitor

Hi all,

I just have found the error and is working fine now. Thanks for spending the time to view it. The correct formula is:

PoS LE = 
    SWITCH (
        TRUE (),
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 0, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 1, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 2, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 3, [Latest Estimate (LE)] * 0.5,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 4, [Latest Estimate (LE)] * 0.9,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 5, [Latest Estimate (LE)],
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 6, [Latest Estimate (LE)],
        0
    )
)

View solution in original post

3 REPLIES 3
NelioKucharski
Frequent Visitor

Hi all,

I just have found the error and is working fine now. Thanks for spending the time to view it. The correct formula is:

PoS LE = 
    SWITCH (
        TRUE (),
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 0, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 1, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 2, [Latest Estimate (LE)] * 0,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 3, [Latest Estimate (LE)] * 0.5,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 4, [Latest Estimate (LE)] * 0.9,
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 5, [Latest Estimate (LE)],
        RELATED('FiT4 Initiative ALL'[6Phase__c]) = 6, [Latest Estimate (LE)],
        0
    )
)
bhanu_gautam
Super User
Super User

@NelioKucharski , Try using

DAX
PoS LE =
IF (
ISBLANK ( [Year__c] ) || [Year__c] = "",
0,
SWITCH (
TRUE (),
VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 0, [Latest Estimate (LE)] * 0,
VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 1, [Latest Estimate (LE)] * 0,
VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 2, [Latest Estimate (LE)] * 0,
VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 3, [Latest Estimate (LE)] * 0.5,
VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 4, [Latest Estimate (LE)] * 0.9,
VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 5, [Latest Estimate (LE)],
VALUE(RELATED('FiT4 Initiative ALL'[Phase__c])) = 6, [Latest Estimate (LE)],
0
)
)




Did I answer your question? Mark my post as a solution! And Kudos are appreciated

Proud to be a Super User!




LinkedIn






Hi, this is the last formula I've posted in my message... also doesn't work

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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