在多行上选择不同计数的最大值
selecting max of distinct count when on multiple rows
我有一个查询根据 CB 分数对帐户进行不同计数。我遇到的问题是一个帐户可以经常切换信用评分。所以我想获取特定帐户的最高信用评分。
由于 CB 分数的切换,这是我所拥有的回报高于我想要的。
因此,例如帐户 1234 最初的 cb 分数为 500,后来的 cb 分数为 550。帐户 1234 现在在两个 cb 分数范围内,但我只想计算一次。
WITH
MEMBER mem1 AS
Count
(
NonEmpty
(
[AccountID].[Account ID].[Account ID].MEMBERS
,measures.[Transaction Amount]
)
)
SELECT
NON EMPTY
{mem1} ON 0
,[CB Score].[RANGE].[RANGE] ON 1
FROM [CUBE]
WHERE [PROMO].[PROMO].&24
试试这个:
WITH
MEMBER mem1 AS
Sum
(
[AccountID].[Account ID].[Account ID].MEMBERS
,IIF(
Not IsEmpty([Measures].[Transaction Amount])
And IsEmpty(Sum({[CB Score].[RANGE].CurrentMember.NextMember : null}, [Measures].[Transaction Amount])),
1,
Null
)
)
SELECT
NON EMPTY
{mem1} ON 0
,[CB Score].[RANGE].[RANGE] ON 1
FROM [CUBE]
WHERE [PROMO].[PROMO].&24
基本上逻辑是,如果他们在该切片中有交易并且没有更大的 CB 分数范围有交易,则计算帐户。
我有一个查询根据 CB 分数对帐户进行不同计数。我遇到的问题是一个帐户可以经常切换信用评分。所以我想获取特定帐户的最高信用评分。 由于 CB 分数的切换,这是我所拥有的回报高于我想要的。
因此,例如帐户 1234 最初的 cb 分数为 500,后来的 cb 分数为 550。帐户 1234 现在在两个 cb 分数范围内,但我只想计算一次。
WITH
MEMBER mem1 AS
Count
(
NonEmpty
(
[AccountID].[Account ID].[Account ID].MEMBERS
,measures.[Transaction Amount]
)
)
SELECT
NON EMPTY
{mem1} ON 0
,[CB Score].[RANGE].[RANGE] ON 1
FROM [CUBE]
WHERE [PROMO].[PROMO].&24
试试这个:
WITH
MEMBER mem1 AS
Sum
(
[AccountID].[Account ID].[Account ID].MEMBERS
,IIF(
Not IsEmpty([Measures].[Transaction Amount])
And IsEmpty(Sum({[CB Score].[RANGE].CurrentMember.NextMember : null}, [Measures].[Transaction Amount])),
1,
Null
)
)
SELECT
NON EMPTY
{mem1} ON 0
,[CB Score].[RANGE].[RANGE] ON 1
FROM [CUBE]
WHERE [PROMO].[PROMO].&24
基本上逻辑是,如果他们在该切片中有交易并且没有更大的 CB 分数范围有交易,则计算帐户。