我正在尝试基于p_region,状态码,日期范围和美元金额对金额列求和。*
当我尝试使用CALCULATE(SUM())时,无法获得所需的所有子句。
<TextBox x:Name="SearchBox"
Grid.Row="0"
style="{StaticResource SearchBox}" />
以上缺少日期范围子句。
<£50k =
CALCULATE (
SUM ( tsg_enquiries[tsg_quoteprice_base] ),
tsg_enquiries[statuscode] = 866120000
|| tsg_enquiries[statuscode] = 866120007,
tsg_enquiries[tsg_quoteprice_base] <= 49999
)
当我尝试SUMX()时,我无法评估金额。
tsg_enquiries[createdon] >= 'LTM Live'[xxxBegin] &&`
tsg_enquiries[createdon] <= 'LTM Live'[xxxEnd]`
以上内容缺少金额条款。
£ALL =
SUMX (
FILTER (
tsg_enquiries,
tsg_enquiries[pc_regionno] = 'LTM Live'[pc_regionno]
&& tsg_enquiries[statuscode] = 866120000
|| tsg_enquiries[statuscode] = 866120007
&& tsg_enquiries[statuscode] = 'LTM Live'[pc_regionno]
&& tsg_enquiries[createdon] >= 'LTM Live'[xxxBegin]
&& tsg_enquiries[createdon] <= 'LTM Live'[xxxEnd]
),
tsg_enquiries[tsg_quoteprice_base]
)
我如何得到我想要的结果?
答案 0 :(得分:1)
如果在过滤器功能中使用复杂条件,则每个条件应仅作用于一列。您可以使用CalculateTable函数。以下是一个示例:
SUMX( CALCULATETABLE('InternetSales_USD', 'DateTime'[CalendarYear]=2002)
, [SalesAmount_USD])
答案 1 :(得分:1)
如果我的理解正确,您正在尝试将tsg_enquiries[tsg_quoteprice_base]<=49999
添加到第二个查询(使用SUMX
的条件中吗?您可以使用AND
函数,将初始的一组过滤器作为第一个参数,将tsg_enquiries[tsg_quoteprice_base]<=49999
作为第二个参数。出于不必要的考虑,虽然不是必需的,但您可能还需要考虑替换&&
和||
。
£ALL =
SUMX (
FILTER (
tsg_enquiries,
AND (
tsg_enquiries[pc_regionno] = 'LTM Live'[pc_regionno]
&& tsg_enquiries[statuscode] = 866120000
|| tsg_enquiries[statuscode] = 866120007
&& tsg_enquiries[statuscode] = 'LTM Live'[pc_regionno]
&& tsg_enquiries[createdon] >= 'LTM Live'[xxxBegin]
&& tsg_enquiries[createdon] <= 'LTM Live'[xxxEnd],
tsg_enquiries[tsg_quoteprice_base] <= 49999
)
),
tsg_enquiries[tsg_quoteprice_base]
)