【问题标题】:How to not count the null value from a fact table in SSAS?如何不计算 SSAS 中事实表中的空值?
【发布时间】:2014-02-14 09:38:09
【问题描述】:

我在一个多维数据集中有许多不同计数的度量。我的问题是这些措施也计算空值。我找到了两种消除空值的解决方案:

  1. 我已经在数据源视图中为每个度量创建了命名查询,我在其中放置了我需要的列不包含 null [其中列不为 null] 的条件(但这个解决方案并不实用,因为如果您有许多度量,则不需要计算空值,您必须将大量事实表作为命名查询来消除空值)

  2. 我在事实表中创建了一个额外的列作为命名计算,我在其中测试了我需要的列是否包含 null 以放置 1 以放置 0(CASE WHEN Column IS NULL THEN 1 ELSE 0) .之后,我在这个附加列上创建了一个最大值度量,并在我需要的列上创建了一个不同计数的度量。最后,我创建了一个计算,我在其中测试了以下内容:IIF([我需要的度量]-[附加列的最大值]

两种解决方案都有效,但我的问题是,是否有比上述两个更简单的解决方案,或者 SSAS 中是否有选项。 如果有人知道,请分享信息。

【问题讨论】:

  • 您不能使用 WHERE 子句消除 NULL 值吗?
  • 您提出的两种解决方案都是常用的。如果要计算不同值的列是维度的外键,则可以使用 nonempty()。

标签: sql sql-server ssas


【解决方案1】:

在Sql中可以使用

select count(column_name) from table.

这不计算空值。

count(*) 确实计算空值。

【讨论】:

  • 我需要分析服务
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多