Я пытаюсь запустить отчет с использованием SQL в произвольной форме в Microstrategy с использованием хранимых процедур. Это включает передачу ответов на приглашение или выбор из инструмента отчетности в базу данных DB2 с использованием параметров. Я смог выполнить эту операцию для чисели строка для одного выбора.
При передаче элементов с несколькими вариантами выбора DB2 требует ввода в виде Call SP1 ('CN1, LA1') или Call SP1 (“CN1”, ”LA1”) , где CN1 и LA1 - параметры, которые должны передаваться от конца MSTR в качестве подсказок.
В MSTR, если мы передаем подсказки, он разрешается как Call SP1 (''CN1 ',' LA1 '') или вызов SP1 ("CN1", "LA1").MSTR передает быстрый ответ в одинарных кавычках, который не принимается DB2.Причина, по которой MSTR разрешает запросы как таковые, заключается в том, что CN1 и LA1 являются текстом, а не числами.Мы попробовали описанные ниже подходы, но не смогли найти способ удалить дополнительные одинарные кавычки из строки.
- Мы пытались использовать функцию Replace для замены одинарных кавычек с помощью escape-символов при передачепараметры в приглашениях, использующие функцию сквозного прохода ApplySimple, но у нас это не сработало.
- Мы также пытались использовать сквозную функцию на уровне атрибутов, но при разрешении приглашения значения были заключены в одинарные кавычки, что также не помогло.
- Мы также пытались добавить кавычки при передаче параметров, как указано ниже: Call SP1 ('Prompt1'), но в MSTR этот синтаксис был разрешен как Call SP1 ('' CN1 ',' LA1 ''), которыйбыло неприемлемо для DB2.
- Мы также пытались объединить одинарные кавычки на уровне атрибутов, чтобы получить выходные данные как SP1 ("CN1", "LA1"), но мы не смогли получить то же самое.
- Мы попытались изменить тип данных и псевдоним столбца атрибута на Number, это работало в Developer, но в сети выдавало ошибку.
Iпросто нужно, чтобы выбор строки был как-то передан в базу данных.Мы можем разрешить и разделить выборки в DB2.Проблема заключается в передаче подсказки в базу данных.