Forum Discussion

Libin7963's avatar
Libin7963
Helper II
1 year ago
Solved

Unique values in calculated column

In direct query how can I achieve this calculated column using dax please

Product NumberColour IDCalculated Column
12311
12321
12331
12341
12351
12361
256AA
256CA
256dA
256eA
256fA
256gA
256hA
  • freginier's avatar
    freginier
    1 year ago

    Hey! Sorry to hear that, maybe try this Dax measure: 

    Calculated_Column_Measure =
    VAR FirstValue =
    CALCULATE(
    MIN('Table'[Colour ID]),
    ALLEXCEPT('Table', 'Table'[Product Number])
    )
    RETURN
    FirstValue

     

    ----- CALCULATE(MIN('Table'[Colour ID])...) finds the minimum Colour ID per Product Number.
     and ALLEXCEPT('Table', 'Table'[Product Number]) ensures that the calculation is performed only within each Product Number group.

     

    Tell me if this works! 😁😁

3 Replies

  • freginier's avatar
    freginier
    Solution Sage

    Hey there!

     

    If I understand correctly, you want to create a calculated column in DirectQuery mode that assigns the same value to all rows with the same Product Number group.

     

    I think you could use this DAX formula:

    Calculated_Column =
    VAR FirstValue =
    MINX(
    FILTER(
    'Table',
    'Table'[Product Number] = EARLIER('Table'[Product Number])
    ),
    'Table'[Colour ID]
    )
    RETURN
    FirstValue

     

    It will identify the First Colour ID within each Product Number group. Use MINX to find the first unique value in Colour ID for each Product Number. And assign that value to all rows where Product Number is the same.

     

    Hope this works!

    😁😁

    • Libin7963's avatar
      Libin7963
      Helper II

      Function 'MINX' is not allowed as part of calculated column DAX expressions on DirectQuery models. I am getting this message

      • freginier's avatar
        freginier
        Solution Sage

        Hey! Sorry to hear that, maybe try this Dax measure: 

        Calculated_Column_Measure =
        VAR FirstValue =
        CALCULATE(
        MIN('Table'[Colour ID]),
        ALLEXCEPT('Table', 'Table'[Product Number])
        )
        RETURN
        FirstValue

         

        ----- CALCULATE(MIN('Table'[Colour ID])...) finds the minimum Colour ID per Product Number.
         and ALLEXCEPT('Table', 'Table'[Product Number]) ensures that the calculation is performed only within each Product Number group.

         

        Tell me if this works! 😁😁