这里的DAX有几个问题。
TOPN
,您的排序表达式(第3个参数)只能引用您正在操作的表中的行(第2个参数),因此只能使用
[ExpirationDate]
那里的柱子不起作用。我想你可能想要
fact_Premium
ALL ( fact_Premium[ExpirationDate] )
.
第二,市场
函数返回一个表而不是单个值,因此需要以某种方式访问所需的列。一种选择是使用迭代器,比如
SUMX
MAXX
MAXX( TOPN(...), fact_Premium[ExpirationDate] )
你也可以用
SELECTCOLUMNS
SELECTCOLUMNS( TOPN(...), "ExpirationDate", fact_Premium[ExpirationDate] )
我不能保证这会很好地工作,但它会让你更接近你的目标:
Premium =
CALCULATE (
SUM ( fact_Premium[Premium] ),
FILTER (
fact_Premium,
fact_Premium[EffectiveDate] <= TODAY () &&
SUMX( TOPN ( 1, fact_Premium, fact_Premium[QuoteID], DESC ),
fact_Premium[ExpirationDate] )
>= TODAY ()
)
)