我有两张桌子:
RefundData
:包含退款详情(相关列名:RefundAmount
)Buckets
:3列:BucketLow
,BucketHigh
,CountOfRecords
退款金额介于0.01美元至25,000.00美元之间。
我试图计算RefundData
表格中退款金额,该金额属于Buckets
表格中每个Bucket级别。
一些示例数据:
RefundAmount
0.29
81.75
1000.25
1500.74
2154.55
125.52
BucketLow BucketHigh CountOfRecords
0 1000 3
1000 2000 2
2000 3000 1
我尝试过的事情:
在CountOfRecords
字段中,我尝试添加以下表达式来计算RefundAmount
出现的&gt; = BucketLow' AND <
BucketHigh`
=calculate(count('RefundData'[RefundAmount]),'RefundData'[RefundAmount]>=[BucketLow],'RefundData'[RefundAmount]<[BucketHigh])
PowerPivot给了我以下错误:
无法在此表达式中找到或未使用列BucketLow
。
我错过了什么?
我觉得我非常接近但却错过了一些简单的事情。
答案 0 :(得分:1)
我明白了。轻微的语法问题。 PowerPivot中的CALCULATE
函数至少需要1个参数
我原本以为我只能将过滤器要求放在CALCULATE
函数中,如下所示:
'RefundData'[RefundAmount]>=[BucketLow]
但是过滤器参数需要包含在另一个函数中:FILTER
所以不要这样:
=CALCULATE(
COUNT('RefundData'[RefundAmount]),
'RefundData'[RefundAmount]>=[BucketLow],
'RefundData'[RefundAmount]<[BucketHigh]
)
公式应如下所示:
=CALCULATE(
COUNT('RefundData'[RefundAmount]),
FILTER('RefundData','RefundData'[RefundAmount]>=[BucketLow]),
FILTER('RefundData','RefundData'[RefundAmount]<[BucketHigh])
)