Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Virtual Table to classify Chanels

Hello! I have a data base with the following columns (also attached in this link: DB PBI ) Year Quarter Week Country Product Group Product Sub-Group Sales Quantity Channels Stock ...
  • v-luwang-msft's avatar
    4 years ago

    Hi Anonymous ,

    The following output is like your xlsx,but not roll up:

    And if you need roll up,see the below:

     

    Import data ,then create change many column form text to whole number ,then create the below column ,and measure:

    sumsale = CALCULATE(SUM(DB1[Sales]),FILTER(ALL(DB1),DB1[Year]=MAX(DB1[Year])&&DB1[Quarter]=MAX(DB1[Quarter])&&DB1[Channels]=MAX(DB1[Channels])&&DB1[Stock]="Not Stock"))

    column:

    sumsale1 = 
    CALCULATE (
        SUM ( DB1[Sales] ),
        FILTER (
            ALL ( DB1 ),
            DB1[Year] = EARLIER ( DB1[Year] )
                && DB1[Quarter] = EARLIER ( DB1[Quarter] )
                && DB1[Channels] = EARLIER ( DB1[Channels] )
                && DB1[Stock] = "Not Stock"
        )
    )

    measure:

    Channel = 
    IF (
        MAX ( DB1[sumsale1] ) >= 25000
            && CALCULATE (
                MAX ( DB1[sumsale1] ),
                FILTER (
                    ALL ( DB1 ),
                    DB1[Channels] = MAX ( DB1[Channels] )
                        && IF (
                            MAX ( DB1[Quarter] ) >= 2,
                            DB1[Quarter]
                                = MAX ( DB1[Quarter] ) - 1
                                && DB1[Year] = MAX ( DB1[Year] ),
                            DB1[Quarter] = 4
                                && DB1[Year]
                                    = MAX ( DB1[Year] ) - 1
                        )
                )
            ) >= 25000
            && CALCULATE (
                MAX ( DB1[sumsale1] ),
                FILTER (
                    ALL ( DB1 ),
                    DB1[Channels] = MAX ( DB1[Channels] )
                        && IF (
                            MAX ( DB1[Quarter] ) >= 3,
                            DB1[Quarter]
                                = MAX ( DB1[Quarter] ) - 2
                                && DB1[Year] = MAX ( DB1[Year] ),
                            IF (
                                MAX ( DB1[Quarter] ) = 2,
                                DB1[Quarter] = 4
                                    && DB1[Year]
                                        = MAX ( DB1[Year] ) - 1,
                                DB1[Quarter] = 3
                                    && DB1[Year]
                                        = MAX ( DB1[Year] ) - 1
                            )
                        )
                )
            ) >= 25000,
        "Big Channel",
        "Small channel"
    )

     

    And you could download my pbix file if you need!

     

     

    Did I answer your question? Mark my post as a solution!


    Best Regards

    Lucien