Forum Discussion
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.
| Month | Earned Exposure |
| 1 | 0.855191257 |
| 2 | 0.765027322 |
| 3 | 0.846994536 |
Regards,
Ombir
- Anonymous7 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
- AnonymousNot 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