Forum Discussion

Archana_31's avatar
Archana_31
New Member
5 years ago
Solved

reg explanation for DAX

Kindly let me know the explanation for the following DAX
 
PoInactive = IF(CALCULATE(COUNTROWS(new_revenuerecognitions),FILTER(ALLSELECTED(new_revenuerecognitions),'new_revenuerecognitions'[PO_Name] in FILTERS('new_revenuerecognitions'[PO_Name]) && 'new_revenuerecognitions'[Status]="Active" ))=0,1,-1
)
  • Anonymous's avatar
    Anonymous
    5 years ago

    Your Calculated column name is - "PoInactive".

    PoInactive return value 1 OR -1.

    if Count of rows in new_revenuerecognitions which having status " Active" and if count = 0 then return 1 else -1 value.


    CALCULATE: Evaluates an expression in a context modified by filters.

    COUNTROWS : function counts the number of rows in the specified table, or in a table defined by an expression

    FILTER: You can use FILTER to reduce the number of rows in the table that you are working with, and use only specific data in calculations

    ALLSELECTED : ALLSELECTED function gets the context that represents all rows and columns in the query, while keeping explicit filters and contexts other than row and column filters. This function can be used to obtain visual totals in queries



    PoInactive = 
    IF(
       CALCULATE(
         COUNTROWS(new_revenuerecognitions), 
         FILTER(
           ALLSELECTED(new_revenuerecognitions), 
           'new_revenuerecognitions' [PO_Name] in FILTERS(
             'new_revenuerecognitions' [PO_Name]
           ) && 'new_revenuerecognitions' [Status] = "Active"
         )
       )= 0, 
      1, 
      -1
    )

     

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Your Calculated column name is - "PoInactive".

    PoInactive return value 1 OR -1.

    if Count of rows in new_revenuerecognitions which having status " Active" and if count = 0 then return 1 else -1 value.


    CALCULATE: Evaluates an expression in a context modified by filters.

    COUNTROWS : function counts the number of rows in the specified table, or in a table defined by an expression

    FILTER: You can use FILTER to reduce the number of rows in the table that you are working with, and use only specific data in calculations

    ALLSELECTED : ALLSELECTED function gets the context that represents all rows and columns in the query, while keeping explicit filters and contexts other than row and column filters. This function can be used to obtain visual totals in queries



    PoInactive = 
    IF(
       CALCULATE(
         COUNTROWS(new_revenuerecognitions), 
         FILTER(
           ALLSELECTED(new_revenuerecognitions), 
           'new_revenuerecognitions' [PO_Name] in FILTERS(
             'new_revenuerecognitions' [PO_Name]
           ) && 'new_revenuerecognitions' [Status] = "Active"
         )
       )= 0, 
      1, 
      -1
    )