2016-06-09 24 views
1

我試圖使用SSAS表格模型作爲數據源來構建一個簡單的報表。模型中有兩個不同的維度 - 應該用作第一個參數的UserGroups和作爲第二個參數的區域。這些維度與模型中的M2M相關。使用表格模型的M2M技巧計算出的簡單度量可以在Excel和PBID中正常工作。SSRS的SSRS級聯參數SQL Server 2014中的維度之間的M2M關係的表格數據源BI

我需要這些參數在SSRS報告中級聯。即在UserGroups下拉列表中選擇一個或多個(Allow multiple values參數選項爲ON)值後,應該過濾區域下拉菜單。

在將查詢設計器中的兩個維都放到篩選器窗格中後,我會收到帶有隱藏數據集的兩個參數。一切看起來都很好,但第一個參數(UserGroups)實際上不會過濾Regions下拉列表。

我想我明白這個問題的性質。在將與M2M相關的維放置在相同的行/列窗格上時,我們在其他客戶端工具(如Excel)中看到相同的圖片 - 在我們檢查數據透視表字段中的度量之前,第二維將顯示在數據透視表中的所有成員。第二個維度(我的案例中的區域)的所有成員都會在衡量進入時立即消失 - 如果度量值爲空,則Excel足夠聰明,可以消除維度成員。但是這在SSRS中不會發生。

所有「自動」級聯參數創建在單個維度的層次結構內都可以正常工作。我希望這可以與一對多的相關維度一起工作。但是,如何擴展/修改自動創建的MDX查詢,以便將第二個參數數據集過濾掉?在這種情況下,看起來SELECT (StrToSet (@[UserGroupsUserGroups], CONSTRAINED)) ON COLUMNS是不夠的。我還需要檢查度量值以篩選出區域列表。不幸的是,我不是MDX專家。請幫我將這個檢查注入查詢。

回答

0

你在正確的軌道上,並給出了一個很好的解釋。正如你發現的那樣,沒有自動的方法來使參數級聯。您需要將MDX過濾器添加到第二個參數才能實現此目的。

就實際查詢而言,沒有足夠的信息來給你一個確切的查詢。但是,您將使用StrToSet來傳遞第一個參數,並使用FILTER函數來限制範圍。正如你所說,包括一個度量是一種獲得兩個參數的「非空」組合的方法。如果遇到示例查詢的特定問題,請隨時提供更多詳細信息。