Forum Discussion
Quickly DAX measure fix - Filter
- 6 years ago
hej pawelj795
W pliku ktory wyslales nie bylo tego obiektu wiec musiale go wylachys z formuly.
Zalaczylem plik z formua.
Best Regards,
Mariusz
If this post helps, then please consider Accepting it as the solution.
Mariusz
Niestety to nie pomoglo, nadal wartości są z kosmosu.
Czy możesz mi wytłumaczyć co w formule zmieniło dodanie ALL do ostatniego CALCULATE?
Moze w ten sposob bede w stanie zidentyfikowac problem.
Hi pawelj795
ALL( dimDate ) usunelow filtry z dimDate, to umozliwilo ( Running Total ) jak z DATESYTD tylko od pierwszej date w tabeli.
Mariusz
If this post helps, then please consider Accepting it as the solution.
Please feel free to connect with me.
- pawelj7956 years ago
Post Prodigy
Mariusz
A czy przypadkiem ALL nie wyczyscilo tez innych filtrow powiazanych z data?
Gdyz dodanie tej ostatniej czesci z poprzedniego posta nie spowodowalo zadnych zmian.
Nie ma innej mozliwosci zamiany DATESYTD?- pawelj7956 years ago
Post Prodigy
Mariusz
Spróbowałem rozwiązania z innego posta odnośnie liczenia narastająco dla większej ilości niż rok.
Chciałem połączyć ją z twoją, ale nie do końca to zadziałało.
Może znajdziesz błąd.
1. Na początku stworzyłem nową tabele dat, bez żadnych relacji do innych tabel.2. Następnie miara
SpoilerVAR LastYearFirstDate =IF(SELECTEDVALUE('Calendar'[Year]) = BLANK();DATE( YEAR(LASTDATE(WH_Invent_Trans[Date Physical] ) ) -1;1;1);DATE(YEAR(CALCULATE(LASTDATE( WH_Invent_Trans[Date Physical] );FILTER(DimDates; DimDates[Year] = SELECTEDVALUE('Calendar'[Year]) ))) -1; 1; 1))VAR CurrentDate =IF(SELECTEDVALUE('Calendar'[Year]) = BLANK();MAX(DimDates[Date]);CALCULATE(MAX(DimDates[Date]);FILTER(DimDates; DimDates[Year] = SELECTEDVALUE('Calendar'[Year]) )))VAR _tbl=FILTER(GROUPBY(CALCULATETABLE(WH_Invent_Trans;KEEPFILTERS(WH_Invent_Trans[TransType] IN {0;9} );KEEPFILTERS(WH_Invent_Trans[QTY]<> BLANK() );ALLEXCEPT(WH_Invent_Trans; WH_Invent_Trans[ItemID] ));WH_Invent_Trans[ItemID];"@maxDate"; MAXX(CURRENTGROUP(); WH_Invent_Trans[Date Physical] ));VAR _days = DATEDIFF( [@maxDate]; TODAY() -1; DAY)RETURN _days >= 0 && _days <=15)VAR _date = MAX(DimDates[Date])RETURNCALCULATE(SUM(WH_Invent_Trans[Inventory Value EUR]);TREATAS(SUMMARIZE(_tbl;WH_Invent_Trans[ItemID]);WH_Invent_Trans[ItemID]);FILTER(ALLSELECTED(DimDates);DimDates[Date] >= LastYearFirstDate&& DimDates[Date] <= CurrentDate))- pawelj7956 years ago
Post Prodigy
Mariusz
Ok, juz działa.
Był drobny błąd w znaku, powinien być >= zamiast =<.
Mam natomiast jeszcze jedną kwestię.
Muszę policzyć również wartość itemów, które nie miały od 1.1.2019 TransType 0 lub 9. -> czyli te wykluczone z miary,ale jednocześnie, żeby się nie dublowały z wartością uwzględnioną w wiekowaniu.
Jest to zrobione w tym celu, żeby całkowita wartość wiekowania magazynu była zgodna z prawdą.
Jak to moge zrobic?
- Mariusz6 years ago
Community Champion
Hi pawelj795
Tak ALL( CalendarTable ) usunie wszystkie filtry z tej tabeli, mozesz to zmienic uzywajac imion column zamiast tabeli.
Best Regards,
Mariusz
If this post helps, then please consider Accepting it as the solution.
Please feel free to connect with me.
LinkedIn