Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

How this Dax is working ?

Hi,

I don't have experience with DAX and I'm trying to understand a DAX which is used in a workbook.

Here is the link to workbook. https://community.tableau.com/servlet/JiveServlet/download/847360-289331/SampleData.xlsx


This is the formula which is used to calculate earned exposure.

=SUMX (
SUMMARIZE (
Table2,
Table2[InceptionDate],
Table2[ExpiryDate],
"Earned Exposure",
COUNTA(Table2[Policy Name])
* COUNTROWS (
CALCULATETABLE ('Table1',
KEEPFILTERS(
DATESBETWEEN (
Table1[DateKey],Table2[InceptionDate], Table2[ExpiryDate]
)
)
)
)
/ COUNTROWS (
DATESBETWEEN (
Table1[DateKey],Table2[InceptionDate], Table2[ExpiryDate]

)
)
),
[Earned Exposure]
)



Please help me to understand how earned exposure is calculated in Sheet1 for each month using above formulae.

MonthEarned Exposure
10.855191257
20.765027322
30.846994536


Regards,
Ombir

  • Anonymous's avatar
    Anonymous
    7 years ago

    Hi Anonymous,

     

    Description of formula segmentation:

     

    SUMMARIZE ( Table2, Table2[InceptionDate], Table2[ExpiryDate],"Earned Exposure",expressions)

    Summarize table based on two date columns and add custom column with following expressions.

     

    COUNTA(Table2[Policy Name])

    Calculate related 'policy name' count based on summarize columns.

     

    COUNTROWS (CALCULATETABLE ('Table1',KEEPFILTERS (DATESBETWEEN ( Table1[DateKey], Table2[InceptionDate], Table2[ExpiryDate] ))))

     Filtered table1 row count based condition 'datekey' field in date range which defined by current row 'InceptionDate' and 'ExpiryDatefunction'.

     

    COUNTROWS ( DATESBETWEEN ( Table1[DateKey], Table2[InceptionDate], Table2[ExpiryDate] ) )

    Filtered datekey fields count in current date range.

     

    SUMX (SummarizeTable,[Earned Exposure])

    Get summarize of new column based on category fields in table visual.

     

    Regards,

    Xiaoxin Sheng

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous,

     

    Description of formula segmentation:

     

    SUMMARIZE ( Table2, Table2[InceptionDate], Table2[ExpiryDate],"Earned Exposure",expressions)

    Summarize table based on two date columns and add custom column with following expressions.

     

    COUNTA(Table2[Policy Name])

    Calculate related 'policy name' count based on summarize columns.

     

    COUNTROWS (CALCULATETABLE ('Table1',KEEPFILTERS (DATESBETWEEN ( Table1[DateKey], Table2[InceptionDate], Table2[ExpiryDate] ))))

     Filtered table1 row count based condition 'datekey' field in date range which defined by current row 'InceptionDate' and 'ExpiryDatefunction'.

     

    COUNTROWS ( DATESBETWEEN ( Table1[DateKey], Table2[InceptionDate], Table2[ExpiryDate] ) )

    Filtered datekey fields count in current date range.

     

    SUMX (SummarizeTable,[Earned Exposure])

    Get summarize of new column based on category fields in table visual.

     

    Regards,

    Xiaoxin Sheng