我對整個MDX的東西很陌生,但以下只是驅使我batty。我使用的FILTER
聲明奇怪地表現了......。代碼示例,接着描述:MDX過濾器問題
SELECT
{
FILTER(
MEMBERS([Time].[5-4-4 Week Year]),
[Measures].[Ship Gross Units] > 0
)
}
ON COLUMNS,
{
FILTER(
MEMBERS([Group].[Alternate Hierarchies]),
[Measures].[Ship Gross Units] > 0
)
}
ON ROWS
FROM SBD.SBD
WHERE
(
[FiscalYear].[FY09],
[Scenario].[Actuals Total],
[Measures].[Ship Gross Units],
[Channel].[FOS]
)
我想拉總檯特定銷售渠道,通過本財年的一週(某些列稍微模糊)。所有這些過濾器都適用,因爲我經常需要在SKU級別分解這些過濾器,並且在我的機器上處理截斷的數據集更簡單(讓我們說數據庫完成工作)。
問題是,此查詢在FOS通道中返回0銷售量。這似乎很奇怪,所以我刪除了行篩選器:
SELECT
{
FILTER(
MEMBERS([Time].[5-4-4 Week Year]),
[Measures].[Ship Gross Units] > 0
)
}
ON COLUMNS,
MEMBERS([Group].[Alternate Hierarchies])
ON ROWS
FROM SBD.SBD
WHERE
(
[FiscalYear].[FY09],
[Scenario].[Actuals Total],
[Measures].[Ship Gross Units],
[Channel].[FOS]
)
突然之間,銷售額突然出現在FOS渠道中。這打擊了我的思想;以前,我認爲我過濾只是接收顯示銷售的行,而我沒有。現在我正在展示一切,並且有銷售行。用Perl或其他方法解決這個問題很簡單,但我寧願解決它「正確」。
我相當確定我只是誤解了一些小小的細節,但我厭倦了把我的頭撞向桌子。
謝謝!