2017-07-14 26 views
0

對於我而言,我無法弄清楚爲什麼SSAS中的MDX不接受我的日期參數。我有一個數據集,它運行的MDX有一個月和一年的月份參數(請參閱包含的屏幕截圖)。我有一個輸出多個月/年的sql語句,所以用戶可以選擇一個月/年,但是當你去運行報告並選擇它給strtoset函數違反錯誤的月份。我不確定我在這裏錯過了什麼。 MDX statement taking in the sql supplied variable違反了strtoset函數中約束標誌的限制 - 在mdx中插入sql字符串

的SQL輸出(這是要到參數看起來像這樣(下圖)......

2017年4月 2017年5月 2017年6月 2017年7月 .... 它完美匹配在MDX日期的值被格式化

回答

0

的方式是參數多選擇?看起來你有要附加到一個日期成員多月。

我猜想Time.calendar months.April 2017會自行工作嗎?不知道你的MDX有多好,但受到限制的錯誤是說你的維度成員無效。

如果是多選擇你需要像

StrToSet ( Time.calendar months.april 2017年, Time.calendar months.may 2017年, ..... )

+0

這是多選擇似乎是問題。謝謝。我切換它,所以你只能選擇一個值。如果我想讓它再次多選,我會用strtoset()函數包裝整個參數代碼嗎?我不確定如何在這種情況下正確使用該功能。 – MattyKluch

0

我試着看看SSR的JOIN功能。這將多值參數值與分隔符組合在一起。

假設你的帕拉姆值也像Time.calendar months.blah那麼你可以有類似

StrToSet(加入(param.value, 「」))

可能並非確切的語法,但值得戲劇。