У меня есть 2-месячные подсказки. Если я не выберет год-месяц в первом приглашении, отчет должен по умолчанию запускаться с января того же года, выбранного во втором приглашении. Мои подсказки представляют собой подсказки значений и имеют строковые значения. Пожалуйста, помогите мне материализовать это требование. Я уже пробовал # prompt macro,? Prompt ?, case, когда и т. Д. Я не уверен, если javascript поможет.переход Янв выбранного года по умолчанию в подсказке
1
A
ответ
0
Я собираюсь предположить, что ваши базовые поля даты не сохраняются как типы значений DATE, так как вы используете строки. Это может быть проще разделено на 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?
)
выше фильтр стиль превосходит по многим причинам:
- Более вероятно sargeable
- Легко понять
- Использует простые встроенные функции Cognos; скорее всего, не будет кросс-версии, совместимые
- Нет с поддержкой кросс-браузерной вопросы вы получите с Javascript
- Фрагмент кода будет работать в других студиях Cognos (Business Insight и т.д.)
Вы вероятно замеченные операторы CASE в фильтрах вызывают ошибку. Оператор CASE передается SQL, а не компилируется в оператор SQL через Cognos. Следовательно, это не рассматривается как правильный синтаксис.
, ваше решение выглядит очень хорошо. Но поскольку мы должны поддерживать согласованность между отчетами, мы должны предоставлять подсказки даты в формате YYYY-MM (в формате строки, который находится во временном измерении). Я бы по-прежнему пытался разместить свою ситуацию, используя ваш код. Спасибо. – Rashmi
Можно использовать одно приглашение для FROM и TO, это было просто проще объяснить именно так. Просто проанализируйте его. Если это поможет, пожалуйста, примите ответ и подтвердите. – toddsonofodin
Рассмотрите возможность создания таблицы календаря с полем FIRST_DAY_OF_YEAR на уровне YEAR, поле «YYYY-MM» на уровне месяца. – Damienknight