我是SSAS多维数据集的新手,需要一些帮助。我有一个从事实表创建的多维数据集和一个度量,让我们称之为金额,包含零。此度量是作为SUM创建的。 现在我也有SSAS设计师添加的Count测量。 我需要的是所有非零金额的计数。 我试图将计算出的度量添加为
`IIF([Measures].[amount] > 0,[Measures].[RowCount],null)`
也试过了
FILTER([Measures].[RowCount],[Measures].[Amount] > 0)
这两个都返回计数,包括金额= 0。
我通过SSMS sql查询验证它
SELECT count(*)
FROM [dbo].[Fact_Session]
where SiteKey = 5 and DateKey = 20170201
and Amount >0
任何帮助表示赞赏。我的假设是IIF / Filter语句将在Cubing之前对各行进行操作,因为一旦聚合到维度中,由于聚合,该量将不为0。请帮助。
答案 0 :(得分:0)
要计算非零,您可以使用此方法:
WITH
MEMBER [Measures].[IsNotEmpty] AS
IIf(
Not(IsEmpty([Measures].[Amount]))
,1
,Null
)
但最好在一个特定集合的SUM中执行此操作 - 因此以下计算有多少子类别不为空:
WITH
MEMBER [Measures].[SubCategory_IsNotEmpty] AS
SUM(
[Product].[Product Categories].[SubCategory].members
,IIf(
Not(IsEmpty([Measures].[Amount]))
,1
,Null
)
)