MDX求和函数和空值 我试图使用基础SQL Server 2008 AnalysisServices数据库为Team Foundation Server 2010创建一些报告。多维数据集“团队系统”是TFS 2010报告中附带的系统

MDX求和函数和空值 我试图使用基础SQL Server 2008 AnalysisServices数据库为Team Foundation Server 2010创建一些报告。多维数据集“团队系统”是TFS 2010报告中附带的系统,mdx,ssas-2008,Mdx,Ssas 2008,我的问题是。我尝试使用StateChangeCount度量FactWorkItemHistory。 在某些时间段内,没有工作项状态更改,但有其他更改。 因此,我们有一些事实行具有空StateChangeCount,如后面所示 即使基础事实行包含空值,状态更改计数度量有时也会生成0的值。此度量值定义为[FactWorkItemHistory].[StateChangeCount]上的总和。是故意让空值之和返回0,还是我遗漏了什么? 问题时期为2013-03-01(3月)和2013-05-02(5月

我的问题是。我尝试使用StateChangeCount度量FactWorkItemHistory。 在某些时间段内,没有工作项状态更改,但有其他更改。 因此,我们有一些事实行具有空StateChangeCount,如后面所示

即使基础事实行包含空值,状态更改计数度量有时也会生成0的值。此度量值定义为[FactWorkItemHistory].[StateChangeCount]上的总和。是故意让空值之和返回0,还是我遗漏了什么? 问题时期为2013-03-01(3月)和2013-05-02(5月)

输出为:

DateSK                  COUNT SUM
---------------------------------------
2011-05-05 00:00:00.000 13    7
2012-03-01 00:00:00.000 2     NULL
2012-09-28 00:00:00.000 60    2
2013-05-02 00:00:00.000 16    NULL
2013-05-06 00:00:00.000 9     9
查询:

SELECT
  [DateSK],
  [StateChangeCount]
FROM
      [Tfs_Warehouse].[dbo].[FactWorkItemHistory]
WHERE
      [WorkItemSK] IN (SELECT [WorkItemSK] FROM [Tfs_Warehouse].[dbo].[DimWorkItem] WHERE [System_WorkItemType] = 'Bug')
ORDER BY   
      [DateSK]
给出:

DateSK                  StateChangeCount
---------------------------------------
2011-05-05 00:00:00.000 1
2011-05-05 00:00:00.000 NULL
2011-05-05 00:00:00.000 NULL
2011-05-05 00:00:00.000 1
2011-05-05 00:00:00.000 NULL
2011-05-05 00:00:00.000 1
2011-05-05 00:00:00.000 NULL
2011-05-05 00:00:00.000 1
2011-05-05 00:00:00.000 NULL
2011-05-05 00:00:00.000 1
2011-05-05 00:00:00.000 NULL
2011-05-05 00:00:00.000 1
2011-05-05 00:00:00.000 1
2012-03-01 00:00:00.000 NULL
2012-03-01 00:00:00.000 NULL
2012-09-28 00:00:00.000 1
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 1
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2012-09-28 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-02 00:00:00.000 NULL
2013-05-06 00:00:00.000 1
2013-05-06 00:00:00.000 1
2013-05-06 00:00:00.000 1
2013-05-06 00:00:00.000 1
2013-05-06 00:00:00.000 1
2013-05-06 00:00:00.000 1
2013-05-06 00:00:00.000 1
2013-05-06 00:00:00.000 1
2013-05-06 00:00:00.000 1
最后是MDX查询:

SELECT
 NON EMPTY { [Measures].[State Change Count] } ON COLUMNS,
NON EMPTY { ([Date].[Date].[Date].ALLMEMBERS * [Work Item].[System_State].    [System_State].ALLMEMBERS ) }
ON ROWS FROM (
            SELECT (
                  { [Work Item].[System_WorkItemType].&[Bug] }
                       )
          ON COLUMNS FROM [Team System])
            WHERE ( [Work Item].[System_WorkItemType].&[Bug] )
结果:

                              StateChangeCount
---------------------------------------------
2011-05-05  Assigned          4
2011-05-05  For verification  2
2011-05-05  In progress       1
2012-03-01  Assigned          0
2012-09-28  Assigned          2
2013-05-02  Assigned          0
2013-05-06  Assigned          9

是:

我可以看到,对于有问题的时段,存在一些事实行,但包含其他工作项数据更改。我希望这些项目不会对结果造成污染,尤其是对SUM而言。大家同意,对于COUNT来说,看到零值是可以的,但对于SUM来说不是

任何帮助都将不胜感激


谢谢

您是否尝试使用聚合而不是总和?
                              StateChangeCount
---------------------------------------------
2011-05-05  Assigned          4
2011-05-05  For verification  2
2011-05-05  In progress       1
2012-03-01  Assigned          0
2012-09-28  Assigned          2
2013-05-02  Assigned          0
2013-05-06  Assigned          9
SELECT
 NON EMPTY { [Measures].[State Change Count] } ON COLUMNS,
 NON EMPTY { ([Date].[Date].[Date].ALLMEMBERS * [Work Item].[System_State].    [System_State].ALLMEMBERS ) }
ON ROWS FROM (
        SELECT (
              { [Work Item].[System_WorkItemType].&[Bug] }
                   )
      ON COLUMNS FROM [Team System])
        WHERE ( [Work Item].[System_WorkItemType].&[Bug] )
                 State Change Count
------------------------------------
May 2011          7
June 2011         (null)
July 2011         (null)
August 2011       (null)
September 2011    (null)
October 2011      (null)
November 2011     (null)
December 2011     (null)
January 2012      (null)
February 2012     (null)
March 2012        0
April 2012        (null)
May 2012          (null)
June 2012         (null)
July 2012         (null)
August 2012       (null)
September 2012    2
October 2012      (null)
November 2012     (null)
December 2012     (null)
January 2013      (null)
February 2013     (null)
March 2013        (null)
April 2013        (null)
May 2013          9
June 2013         (null)
July 2013         (null)
August 2013       (null)
Unknown           (null)