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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Anonymous
Not applicable

Summation for Different Data Types in same Column !

Hi,

 

I am looking for the DAX function to calculate the column to make unique to get correct sum figure while preparing the visualization.

 

I need to prepare based on the the month total_data summation. Before that i need to convert the data into GB all of Data Type. Please suggest how to convert the data using the DAX , so that we can sum the Total_Data.

 

Formated YearData_typeTotal_data
Apr-19 B21285
Apr-19B0
Apr-19GB909866.69
Apr-19KB248615.01
Apr-19MB58876.97
Apr-19TB39519.41
Aug-19 B73742
Aug-19B0
Aug-19GB1147168.81
Aug-19KB6033.27
Aug-19MB74900.88
Aug-19TB28773.93
Dec-19 B73507
Dec-19B0
Dec-19GB152571.36
Dec-19KB14228.56
Dec-19MB135740.53
Dec-19TB25513.71
Feb-19 B73143
Feb-19B0
Feb-19GB370056.91
Feb-19KB

100.2

 

Please suggest.

 

Thanks,
Venugs

2 ACCEPTED SOLUTIONS
amitchandak
Super User
Super User

Try creating new column like

GB Value =
SWITCH (
        TRUE (),
        [Data_type] = "MB", Total_data/1024,
        [Data_type] = "KB", Total_data/1024/1024,
        [Data_type] = "TB",Total_data*1024,
        Total_data
    )

 

Appreciate your Kudos. In case, this is the solution you are looking for, mark it as the Solution.
In case it does not help, please provide additional information and mark me with @

Thanks. My Recent Blogs -Decoding Direct Query - Time Intelligence, Winner Coloring on MAP, HR Analytics, Power BI Working with Non-Standard TimeAnd Comparing Data Across Date Ranges
Connect on Linkedin

View solution in original post

v-alq-msft
Community Support
Community Support

Hi, @Anonymous 

 

Based on my description, you may create a calculated column as follows.

 

GB column 1 = 
IF(
    'Table'[Date_type] = "B",
    'Table'[Total_data]/1024/1024/1024,
    IF(
        'Table'[Date_type] = "KB",
        'Table'[Total_data]/1024/1024,
        IF(
            'Table'[Date_type] = "MB",
            'Table'[Total_data]/1024,
            IF(
                'Table'[Date_type] = "GB",
                'Table'[Total_data],
                IF(
                    'Table'[Date_type] = "TB",
                    'Table'[Total_data]*1024
                )
            )
        )
    )
)

OR

GB column 2 = 
SWITCH(
    TRUE(),
    'Table'[Date_type] = "B",'Table'[Total_data]/1024/1024/1024,
    'Table'[Date_type] = "KB",'Table'[Total_data]/1024/1024,
    'Table'[Date_type] = "MB",'Table'[Total_data]/1024,
    'Table'[Date_type] = "GB",'Table'[Total_data],
    'Table'[Date_type] = "TB",'Table'[Total_data]*1024,
    BLANK()
)

 

 

Then you could create a measure as below.

 

SumTotalData = 
CALCULATE(
    SUM('Table'[GB column 1]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Formated Year] = MAX('Table'[Formated Year])
    )
)

 

 

Result:

d2.png

 

Best Regards

Allan

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

2 REPLIES 2
v-alq-msft
Community Support
Community Support

Hi, @Anonymous 

 

Based on my description, you may create a calculated column as follows.

 

GB column 1 = 
IF(
    'Table'[Date_type] = "B",
    'Table'[Total_data]/1024/1024/1024,
    IF(
        'Table'[Date_type] = "KB",
        'Table'[Total_data]/1024/1024,
        IF(
            'Table'[Date_type] = "MB",
            'Table'[Total_data]/1024,
            IF(
                'Table'[Date_type] = "GB",
                'Table'[Total_data],
                IF(
                    'Table'[Date_type] = "TB",
                    'Table'[Total_data]*1024
                )
            )
        )
    )
)

OR

GB column 2 = 
SWITCH(
    TRUE(),
    'Table'[Date_type] = "B",'Table'[Total_data]/1024/1024/1024,
    'Table'[Date_type] = "KB",'Table'[Total_data]/1024/1024,
    'Table'[Date_type] = "MB",'Table'[Total_data]/1024,
    'Table'[Date_type] = "GB",'Table'[Total_data],
    'Table'[Date_type] = "TB",'Table'[Total_data]*1024,
    BLANK()
)

 

 

Then you could create a measure as below.

 

SumTotalData = 
CALCULATE(
    SUM('Table'[GB column 1]),
    FILTER(
        ALLSELECTED('Table'),
        'Table'[Formated Year] = MAX('Table'[Formated Year])
    )
)

 

 

Result:

d2.png

 

Best Regards

Allan

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

amitchandak
Super User
Super User

Try creating new column like

GB Value =
SWITCH (
        TRUE (),
        [Data_type] = "MB", Total_data/1024,
        [Data_type] = "KB", Total_data/1024/1024,
        [Data_type] = "TB",Total_data*1024,
        Total_data
    )

 

Appreciate your Kudos. In case, this is the solution you are looking for, mark it as the Solution.
In case it does not help, please provide additional information and mark me with @

Thanks. My Recent Blogs -Decoding Direct Query - Time Intelligence, Winner Coloring on MAP, HR Analytics, Power BI Working with Non-Standard TimeAnd Comparing Data Across Date Ranges
Connect on Linkedin

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.