Forum Discussion
TOPN with variable table
- 2 years ago
Maybe, you can try these measures, any of them:test_topn :=
VAR PN_PO =
SUMMARIZE (
'TEST_',
'TEST_'[PN],
'TEST_'[PO],
'TEST_'[Qty]
)
VAR PN_PO_Count =
ADDCOLUMNS (
SUMMARIZE (
PN_PO,
'TEST_'[PN]
),
"@PO_Count", CALCULATE ( COUNT ( 'TEST_'[PO] ) ),
"@SUM", CALCULATE ( SUM ( 'TEST_'[Qty] ) )
)
VAR PN_Filtered =
FILTER (
PN_PO_Count,
[@PO_Count] > 2
)
VAR TopPNs =
TOPN (
2,
PN_Filtered,
[@SUM],
DESC
)
RETURN
CALCULATE (
SUM ( 'TEST_'[Qty] ),
KEEPFILTERS ( TopPNs )
)
or that one:
test_topn :=
VAR top2 =
TOPN (
2,
SUMMARIZE (
ALLSELECTED('TEST_'),
'TEST_'[PN],
"QtySum", SUM ( 'TEST_'[Qty] ),
"PO_Count", COUNT ( 'TEST_'[PO] )
),
[QtySum],
DESC
)
RETURN
CALCULATE (
SUM ( 'TEST_'[Qty] ),
KEEPFILTERS ( top2 ),
FILTER (
ALLSELECTED('TEST_'),
[PO_Count] > 2
)
)
or that one:test_topn :=
VAR PN_PO =
SUMMARIZE (
'TEST_',
'TEST_'[PN],
'TEST_'[PO],
"QtySum", SUM('TEST_'[Qty])
)
VAR PN_PO_Count =
SUMMARIZE (
PN_PO,
'TEST_'[PN],
"PO_Count", COUNT('TEST_'[PO]),
"QtyTotal", SUM('TEST_'[QtySum])
)
VAR PN_Filtered =
FILTER (PN_PO_Count, [PO_Count] > 2)
VAR Top2 =
TOPN(2, PN_Filtered, [QtyTotal], DESC)
RETURN
CALCULATE (
SUM('TEST_'[Qty]),
KEEPFILTERS(Top2)
) Try each of them maybe this gives you a way to better solution for power pivot in excel
twi1
Thank you for responding quckly! I copied and tried it right away,but unfortunately
result was the same..(I'm using PowerPivot for Excel,sorry for inconvenience.)
alternated formula to confirm the operation as follows was successed,but couldn't apply to "PN_Filtered"
Could you give me some more solutions..?
top3:=var top3=topn(3,allselected('TEST_'),'TEST_'[Qty],DESC)
return calculate(sum('TEST_'[Qty]),keepfilters(top3))
Best regards,
Maybe, you can try these measures, any of them:test_topn :=
VAR PN_PO =
SUMMARIZE (
'TEST_',
'TEST_'[PN],
'TEST_'[PO],
'TEST_'[Qty]
)
VAR PN_PO_Count =
ADDCOLUMNS (
SUMMARIZE (
PN_PO,
'TEST_'[PN]
),
"@PO_Count", CALCULATE ( COUNT ( 'TEST_'[PO] ) ),
"@SUM", CALCULATE ( SUM ( 'TEST_'[Qty] ) )
)
VAR PN_Filtered =
FILTER (
PN_PO_Count,
[@PO_Count] > 2
)
VAR TopPNs =
TOPN (
2,
PN_Filtered,
[@SUM],
DESC
)
RETURN
CALCULATE (
SUM ( 'TEST_'[Qty] ),
KEEPFILTERS ( TopPNs )
)
or that one:
test_topn :=
VAR top2 =
TOPN (
2,
SUMMARIZE (
ALLSELECTED('TEST_'),
'TEST_'[PN],
"QtySum", SUM ( 'TEST_'[Qty] ),
"PO_Count", COUNT ( 'TEST_'[PO] )
),
[QtySum],
DESC
)
RETURN
CALCULATE (
SUM ( 'TEST_'[Qty] ),
KEEPFILTERS ( top2 ),
FILTER (
ALLSELECTED('TEST_'),
[PO_Count] > 2
)
)
or that one:test_topn :=
VAR PN_PO =
SUMMARIZE (
'TEST_',
'TEST_'[PN],
'TEST_'[PO],
"QtySum", SUM('TEST_'[Qty])
)
VAR PN_PO_Count =
SUMMARIZE (
PN_PO,
'TEST_'[PN],
"PO_Count", COUNT('TEST_'[PO]),
"QtyTotal", SUM('TEST_'[QtySum])
)
VAR PN_Filtered =
FILTER (PN_PO_Count, [PO_Count] > 2)
VAR Top2 =
TOPN(2, PN_Filtered, [QtyTotal], DESC)
RETURN
CALCULATE (
SUM('TEST_'[Qty]),
KEEPFILTERS(Top2)
) Try each of them maybe this gives you a way to better solution for power pivot in excel
- ohnothimagain2 years agoHelper I
thank you so much for considering some patterns!
I'm afraid to say that each of them was unsucess,but one of my trial seems to be successed.I have no idea why it works... anyway,I deal with it as solved.
test_topn:=
VAR PN_PO =
SUMMARIZE (allselected('TEST_'),