1
我有2個年份提示。如果我在第一個提示中沒有選擇任何年份,則默認情況下,報告應該在同一年的一月份運行,在第二個提示中選擇。我的提示是值提示並具有字符串值。請幫我實現這個要求。我已經試過#提示宏,?提示?,情況等。我肯定,如果JavaScript會幫助。默認通過選定年份的1月份提示
我有2個年份提示。如果我在第一個提示中沒有選擇任何年份,則默認情況下,報告應該在同一年的一月份運行,在第二個提示中選擇。我的提示是值提示並具有字符串值。請幫我實現這個要求。我已經試過#提示宏,?提示?,情況等。我肯定,如果JavaScript會幫助。默認通過選定年份的1月份提示
我打算假設您的基礎日期字段不會作爲日期值類型存儲,因爲您正在使用字符串。這可能更容易分成4個提示:從月,從年,到月,到年。
過濾器將被隱含的,如果:
(
(?FROM_YEAR? = '' or ?FROM_MONTH? = '') and
[database_from_month] = '01' and
[database_from_year] = ?TO_YEAR? and
[database_to_month] = ?TO_MONTH? and
[database_to_year] = ?TO_YEAR?
)
OR
(
(?FROM_YEAR? <> '' or ?FROM_MONTH? <> '') and
[database_from_month] = ?FROM_MONTH? and
[database_from_year] = ?FROM_YEAR? and
[database_to_month] = ?TO_MONTH? and
[database_to_year] = ?TO_YEAR?
)
上面的樣式過濾優越的原因有很多:
你可能已經在過濾器中看到CASE語句會引發錯誤。 CASE語句被傳遞給SQL,而不是通過Cognos編譯成SQL語句。因此它不被視爲正確的語法。
,您的解決方案看起來非常好。但是,由於我們必須保持報表之間的一致性,因此我們必須提供YYYY-MM格式的日期提示(以時間維度的字符串格式)。我仍然會嘗試使用你的代碼來適應我的情況。非常感謝。 – Rashmi
對於FROM和TO可以使用單個提示符,這樣更容易解釋。解析它。如果這有幫助,請接受答案和upvote。 – toddsonofodin
考慮設置一個日曆表,其中年度級別爲'FIRST_DAY_OF_YEAR'字段,月份級別爲'YYYY-MM'字段。 – Damienknight