[英]How to display hierarchy member where measure is null (mdx)
我想在SSRS中顯示層次結構,其中包括具有零度量值的成員。 mdx查詢中的問題是,當我刪除NON EMPTY clouse時,由於時間,乘積和層次結構維度之間的交叉連接較大,因此出現了“ System.OutOfMemoryException”。 知道如何忍受嗎? 查詢如下:
SELECT
NON EMPTY { (
[Measures].[SOME MEASURE]
)} ON COLUMNS,
NON EMPTY { (
[Organization Structure].[Description].[Description].Allmembers
* [Organization Structure].[ID].[ID]
* [Organization Structure].[ParentID].[ParentID]
*[Products].[Name].[Name]
*[Time].[Hierarchy].[MothsAndDays]
)}
DIMENSION
PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME, PARENT_UNIQUE_NAME,
LEVEL_NUMBER ON ROWS
FROM [MyCube]
您可以使用NonEmpty(無間隙)功能來代替層次結構嗎? 因此,例如:
SELECT
//NON EMPTY
{ (
[Measures].[SOME MEASURE]
)} ON COLUMNS,
//NON EMPTY
{ (
[Organization Structure].[Description].[Description].Allmembers
* NONEMPTY([Organization Structure].[ID].[ID],[Measures].[SOME MEASURE])
* [Organization Structure].[ParentID].[ParentID]
* NONEMPTY([Products].[Name].[Name],[Measures].[SOME MEASURE])
* [Time].[Hierarchy].[MothsAndDays]
)}
DIMENSION
PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME, PARENT_UNIQUE_NAME,
LEVEL_NUMBER ON ROWS
FROM [MyCube]
假設您在Reporting Services服務器(而不是Analysis Services服務器)上出現了內存問題,則可以在ROWS
select部分的末尾使用HAVING
子句代替其開頭的NON EMPTY
來限制行:
SELECT
NON EMPTY { (
[Measures].[SOME MEASURE]
)} ON COLUMNS,
[Organization Structure].[Description].[Description].Allmembers
* [Organization Structure].[ID].[ID]
* [Organization Structure].[ParentID].[ParentID]
*[Products].[Name].[Name]
*[Time].[Hierarchy].[MothsAndDays]
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME, PARENT_UNIQUE_NAME, LEVEL_NUMBER
HAVING <whatever the condition is to display a row>
ON ROWS
FROM [MyCube]
由於您沒有確切說明要確定要顯示的行的方式,因此我將其保留為上面的<whatever the condition is to display a row>
。 這種工作方式是Analysis Services首先為所有行層次結構的完整叉積建立結果集,然后評估從中刪除行的條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.