Я новичок в службах отчетности, поэтому этот вопрос может быть безумным.Я ищу способ создать пустой «шаблонный» отчет (который в основном представляет собой письмо в форме), а не создавать его для каждого клиента в нашей системе.Часть этой формы письма представляет собой раздел, который имеет любое количество из 25 определенных полей.Раздел устроен так:
Name: Jesse James
Date of Birth: 1/1/1800
Address: 123 Blah Blah Street
Anywhere, USA 12345
Another Field: Data
Another Field2: More Data
Те (и любые другие поля, которые указывает клиент) могут быть расположены в любом порядке, а метка слева может быть любой, какой решит клиент (пример: 'DOB »вместо« Дата рождения »).ИДЕАЛЬНО, я бы хотел иметь веб-интерфейс, в котором вы можете щелкнуть по нужным полям, указать порядок, в котором они будут отображаться, и указать, что это за пользовательская метка.Я нашел способ указать метки и упорядочить их (и загрузить их «динамически» в отчете), но я хотел сделать еще один шаг вперед, если бы мог, и разрешить выбор и упорядочение динамического поля (справа).Суть в том, что я хочу сделать это без использования динамического SQL.Я пошел по пути, чтобы иметь таблицу конфигурации, которая содержит порядковый номер, пользовательский текст метки и фактическое имя столбца, и пытаться соединить эту таблицу с таблицей, которая на самом деле содержит данные через information_schema.columns.Возможно, запросив ВСЕ потенциальные поля и выполнив ВНУТРЕННЕЕ СОЕДИНЕНИЕ, выполните фильтрацию (если есть совпадение из таблицы «конфигурации» и т. Д.).Это не работает так, как я думал :) Я думаю, я думал, что смогу смоделировать функциональность набора данных (в котором значение и имя поля запечены в объекте).Я понимаю, что это не оптимальный инструмент для попытки такого подвига, это просто то, с чем я вынужден работать.
Таблица конфигурации будет содержать конфигурацию для многих клиентов / отчетов, и я буду фильтровать по идентификатору клиента.Таблица конфигурации будет выглядеть примерно так:
CustID LabelText ColumnName Порядковый номер 1 Имя FName 1 1 Фамилия LName 2 1 Дата рождения DOBirth 3 2 Идентификатор клиента ClientID 1 2 Фамилия LName 2 2 Адрес 1 Address1 32 Адрес 2 Адрес2 4
Все, что сказать:
- Есть ли способ выполнить вышеупомянутый запрос?
- Я слишком разборчив виспользование динамического SQL в качестве рассматриваемого раздела будет тянуть только одну строку?Однако есть сотни клиентов, которые запускают этот отчет (письмо) два или три раза в день.
Кроме того, имейте в виду, что я не пытаюсь динамически создавать текстовые поля в отчете.Я либо просто объединю поля в одну строку и добавлю их в текстовое поле, либо получу несколько отчетов, каждый из которых содержит определенное количество текстовых полей, ожидающих общего имени поля («field1» и т. Д.).Чем больше я печатаю, тем безумнее это звучит ... Если нет способа сделать это, я, скорее всего, что-то найду в пользовательском коде;но моя сторона OCD хочет верить, что есть SQL вне моих нынешних полномочий, который может сделать это более изящным способом.