Ssas 在多行上选择最大不同计数
我有一个查询,它根据CB分数对帐户进行不同的计数。我的问题是,一个账户可以经常转换信用评分。因此,我想为一个特定的帐户取最大信用分数。 这是我所拥有的,由于CB分数的转换,它的回报比我想要的要高 例如,账户1234最初的cb分数为500,之后的cb分数为550。帐户1234现在在两个cb分数范围内,但我只想计算一次Ssas 在多行上选择最大不同计数,ssas,mdx,ssas-2012,Ssas,Mdx,Ssas 2012,我有一个查询,它根据CB分数对帐户进行不同的计数。我的问题是,一个账户可以经常转换信用评分。因此,我想为一个特定的帐户取最大信用分数。 这是我所拥有的,由于CB分数的转换,它的回报比我想要的要高 例如,账户1234最初的cb分数为500,之后的cb分数为550。帐户1234现在在两个cb分数范围内,但我只想计算一次 WITH MEMBER mem1 AS Count ( NonEmpty ( [AccountID].[Account
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分数范围有交易,则对账户进行计数。尝试以下方法:
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分数范围有交易,则计算帐户。太棒了!谢谢。非常好的mdx:这种结构使它比sql更有吸引力。(抱歉我有点福音主义)太棒了!谢谢。非常好的mdx:这种结构使它比sql更有吸引力。(抱歉,我有点福音主义了)