Forum Discussion

fishboneox's avatar
fishboneox
Frequent Visitor
8 years ago
Solved

Finding minimum value in a row with several columns

Probably a simple Question but I struggle for a while now to find a solution.

In a Table with several columns I want to find out the smallest value in a row and fill in the columns name.

In Excel quite an easy task but using PowerBI I can't find a solution.

To complicate the task I just want to select the columns name if the content is bigger than 0/null

 

 

Any idea how to create the formula or the column "NextAnchor"?

 

Since I'm relatively new to PowerBI and PowerQuery I'd appreciate also some step-by-step approach and hope to understand and learn :)

  • HI fishboneox

     

    Please try this calculated column. replace Table1 with your Table Name

     

    Column =
    VAR temp = {
            ( "Anchor1", Table1[Anchor_1] ),
            ( "Anchor2", Table1[Anchor_2] ),
            ( "Anchor3", Table1[Anchor_3] ),
            ( "Anchor4", Table1[Anchor_4] ) }
    VAR MinValue =
        MINX ( FILTER ( temp, [Value2] <> 0 ), [Value2] )
    RETURN
        MINX ( FILTER ( temp, [Value2] = MinValue ), [Value1] )
    

4 Replies

  • Zubair_Muhammad's avatar
    Zubair_Muhammad
    Icon for Community Champion rankCommunity Champion

    HI fishboneox

     

    Please try this calculated column. replace Table1 with your Table Name

     

    Column =
    VAR temp = {
            ( "Anchor1", Table1[Anchor_1] ),
            ( "Anchor2", Table1[Anchor_2] ),
            ( "Anchor3", Table1[Anchor_3] ),
            ( "Anchor4", Table1[Anchor_4] ) }
    VAR MinValue =
        MINX ( FILTER ( temp, [Value2] <> 0 ), [Value2] )
    RETURN
        MINX ( FILTER ( temp, [Value2] = MinValue ), [Value1] )
    
    • Zubair_Muhammad's avatar
      Zubair_Muhammad
      Icon for Community Champion rankCommunity Champion

      fishboneox

       

      if there are 2 or more columns that meet the criteria and you want to get the names of both... then you can use this formula :smileytongue:

       

      Column 2 =
      VAR temp = {
              ( "Anchor1", Table1[Anchor_1] ),
              ( "Anchor2", Table1[Anchor_2] ),
              ( "Anchor3", Table1[Anchor_3] ),
              ( "Anchor4", Table1[Anchor_4] ) }
      VAR MinValue =
          MINX ( FILTER ( temp, [Value2] <> 0 ), [Value2] )
      RETURN
          CONCATENATEX ( FILTER ( temp, [Value2] = MinValue ), [Value1], ", " )
      
    • fishboneox's avatar
      fishboneox
      Frequent Visitor

      thanks a lot for your amazing answer. The provided solution works as is should.

      Also thank you for the further information you have provided. :)