Forum Discussion
Finding first date shared by multiple products
- 8 years ago
Thanks for all the help!
These are the formulas I used to reach my desired result.
FirstSharedDate = CALCULATE ( MAXX ( SUMMARIZE ( ALLSELECTED ( AllPerfMnthly[Portfolio] ), [Portfolio], "ABCD", MIN ( AllPerfMnthly[Date] ) ), [ABCD] ), ALLEXCEPT ( AllPerfMnthly, AllPerfMnthly[Portfolio] ) ) InceptionDate = CALCULATE ( FIRSTNONBLANK ( AllPerfMnthly[Date], AllPerfMnthly[Date] ), ALLEXCEPT ( AllPerfMnthly, AllPerfMnthly[Portfolio] ) )
Not exactly. If you replace your date "2/2/2017" with "4/1/2017", then you have 2 portfolios for the same date "4/1/2017". But Beta started before Charlie. Now I want to say "bring me the first date, where there is information for BOTH Beta and Charlie". That is, I want the result "4/1/2017"
I"m still not following the interaction between 'BOTH' and how that changes your request. Can you mock up some new data that clearly shows the overlaps and mock up how you want the data exported based on 'Both' requirements?
- Johnsnowlife8 years ago
Helper III
If my Data table looks like this
Date Fund Performance 31/01/2017 ALSI 1% 28/02/2017 ALSI 2% 31/03/2017 ALSI 3% 31/03/2017 Equity Fund 4% 30/04/2017 ALSI 5% 30/04/2017 Equity Fund 6%
I want to compare the return from inception of my "Equity Fund" against the "ALSI". ALSI starts in January but Equity Fund only starts in March.In April, I want to show the return since inception for both of them, but only STARTING from March, because that is the first month that both funds existed. I want to start from the latest start date between all the funds I'm comparing.
So ALSI = 8.15% and Equity Fund = 10.24%.
- v-huizhn-msft8 years ago
Microsoft Employee
Hi Johnsnowlife,
If my understanding is correct, you want to get the first date when both Funds appear. Please following the steps below and check if it works fine.
1. Create a measure using the formulaTotal distinct Funds=CALCULATE( DISTINCTCOUNT(Table[Fund]),ALL(Fund)))
2. Create a calculated column using the formula.Distinct Funds in each date=CALCULATE(CALCULATE(DISTINCTCOUNT(Table[Fund]),ALLEXCEPT(Table,Table[Date]))
3. Create a measure to get expected result.First date = CALCULATE ( FIRSTDATE ( Table1[Date] ), FILTER ( Table, Table[Distinct Funds in each date] = Table[Total distinct Funds] ) )
Please feel free to ask if you have any questions.
Best Regards,
Angelia- Johnsnowlife8 years ago
Helper III
I tried your recommendations without success.
First Measure
DistinctFunds = CALCULATE ( DISTINCTCOUNT ( AllPerfMnthly[Portfolio] ), ALL ( AllPerfMnthly[Portfolio] ) )Second Measure and also as a column
DistinctFundsDate = CALCULATE ( CALCULATE ( DISTINCTCOUNT ( AllPerfMnthly[Portfolio] ), ALLEXCEPT ( AllPerfMnthly, AllPerfMnthly[Date] ) ) )
DistinctFundsDateCol =
CALCULATE (
CALCULATE (
DISTINCTCOUNT ( AllPerfMnthly[Portfolio] ),
ALLEXCEPT ( AllPerfMnthly, AllPerfMnthly[Date] )
)
)
Expected Result measure
First date = CALCULATE ( FIRSTDATE ( AllPerfMnthly[Date] ), FILTER ( AllPerfMnthly, AllPerfMnthly[DistinctFundsDateCol] = [DistinctFunds] ) )Table of results
First Date doesn't return a result for any periods.
And I'd prefer to only use measures without calculated columns if possible.
- Ashish_Mathur8 years ago
Super User
Hi Johnsnowlife,
I think i have solved the problem. However, i need tocheck my result. Please paste a larger data set and also show your expected result for each fund. In your dataset, please show decimal numbers so that i can compare my result with yours.
- Johnsnowlife8 years ago
Helper III