powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Report Builder 3.0 расположение таблицы
21 сообщений из 21, страница 1 из 1
Report Builder 3.0 расположение таблицы
    #38566223
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать так, чтобы продолжение таблицы не переходило на новую страницу, а переходило на свободное место справа от начала этой таблицы?
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566302
SuperBolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честно не уверен что такое возможно. Есть вариант, все на одну страницу: ПКМ на области за отчетом -> свойства отчета -> и там задать высоту и ширину нестандартного "размера бумаги"
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566316
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А есть возможность перевернуть таблицу: я создал таблицу с двумя группами строк, идентичную таблицу с двумя группами столбцом не создать?
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566347
SuperBolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
its_me, на сколько знаю - нет. Даже толкового копирования нет)

Проще создать новую таблицу).
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566384
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SuperBoltЧестно не уверен что такое возможно. Есть вариант, все на одну страницу: ПКМ на области за отчетом -> свойства отчета -> и там задать высоту и ширину нестандартного "размера бумаги"

Что то никак..
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566416
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SuperBoltits_me, на сколько знаю - нет. Даже толкового копирования нет)

Проще создать новую таблицу).

Могут быть нулевые таблицы, если их не отображать то соседняя будет там где она поставлена, да и по ширине не входит всё равно.
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566450
SuperBolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
its_meЧто то никак..

Файл приложение

its_meМогут быть нулевые таблицы, если их не отображать то соседняя будет там где она поставлена, да и по ширине не входит всё равно.


сталкивался с подобным
1) так же как ты говоришь, но там одна из двух показывались - позиционирование (0,0) ставил и не парился
2) если нулевая таблица идет второй и далее, то вроде данной ошибки нет.
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566493
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SuperBoltits_meЧто то никак..

Файл приложение

its_meМогут быть нулевые таблицы, если их не отображать то соседняя будет там где она поставлена, да и по ширине не входит всё равно.


сталкивался с подобным
1) так же как ты говоришь, но там одна из двух показывались - позиционирование (0,0) ставил и не парился
2) если нулевая таблица идет второй и далее, то вроде данной ошибки нет.

Что за позиционирование?
Новая ширина с длиной не помогает...
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566498
Madmech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу только сказать, как сделать так, чтобы вся таблица целиком помещалась на одной странице - надо поместить таблицу в компонент Rectangle (прямоугольник).

Ну, или как вариант, только что придумал решение, можно изощриться и:
1. Предварительно посчитать, сколько записей таблицы помещается на одной странице (пусть это будет N).
2. Создать в головном отчете отчете матричную таблицу.
3. Результаты выполнения запроса для нашей таблицы, во-первых, занумеровать, создав виртуальное поле; а во-вторых, записать в промежуточную таблицу.
4. Посчитать кол-во записей в таблице из п.3 и записать их в параметр, например, S.
5. Поделить нацело S на N и добавить к полученному единицу. Результат записать в параметр M.
6. Создать хранимку с таким кодом, в которую передавать параметр M:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
declare @M1 int = 1
declare @M int = 5 -- в случае отчета этот параметр уже будет известен

create table #tmp (M int)

while @M1 <= @M
begin
	insert into #tmp
		select @M1

	SET @M1 += 1
end

select M AS X
	  ,1 AS Y
from #tmp


drop table #tmp


7. Таблицу из п.2 завязать на некий фиктивный DataSet, в который надо поместить запуск этой хранимки. В строках - поле Y, в столбцах - X.
8. Таким образом, на данном этапе мы получим пустую матричную табличку размера M x 1.
9. В ячейку этой таблицы погружаем подотчет.
10. Подотчет у нас представляет из себя ту самую основную, первоначальную табличку, которую и хотим расчленить на части, каждую из которых надо поместить слева-направо одну за другой. Но теперь мы в этот подотчет передаем значение Y. Y принимает значения от 1 до M. Подотчет осуществляет забор N-тили данных из таблицы п.3., используя суррогатный ключ. Т.е. на первом шаге мы вытаскиваем из таблицы первую часть записей (N штук), на втором - вторую (N штук), и т.д. до M-го шага (вытаскиваем "хвост" в кол-ве <= N).
11. В итоге мы и получим искомый набор таблиц, расположенный так, как нам надо.
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566508
Madmech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, только сейчас увидел небольшой огрех в моем алгоритме. В п.5 если остаток от деления равен 0, то единицу к частному добавлять не надо. :)
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566513
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MadmechМогу только сказать, как сделать так, чтобы вся таблица целиком помещалась на одной странице - надо поместить таблицу в компонент Rectangle (прямоугольник).

Ну, или как вариант, только что придумал решение, можно изощриться и:
1. Предварительно посчитать, сколько записей таблицы помещается на одной странице (пусть это будет N).
2. Создать в головном отчете отчете матричную таблицу.
3. Результаты выполнения запроса для нашей таблицы, во-первых, занумеровать, создав виртуальное поле; а во-вторых, записать в промежуточную таблицу.
4. Посчитать кол-во записей в таблице из п.3 и записать их в параметр, например, S.
5. Поделить нацело S на N и добавить к полученному единицу. Результат записать в параметр M.
6. Создать хранимку с таким кодом, в которую передавать параметр M:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
declare @M1 int = 1
declare @M int = 5 -- в случае отчета этот параметр уже будет известен

create table #tmp (M int)

while @M1 <= @M
begin
	insert into #tmp
		select @M1

	SET @M1 += 1
end

select M AS X
	  ,1 AS Y
from #tmp


drop table #tmp


7. Таблицу из п.2 завязать на некий фиктивный DataSet, в который надо поместить запуск этой хранимки. В строках - поле Y, в столбцах - X.
8. Таким образом, на данном этапе мы получим пустую матричную табличку размера M x 1.
9. В ячейку этой таблицы погружаем подотчет.
10. Подотчет у нас представляет из себя ту самую основную, первоначальную табличку, которую и хотим расчленить на части, каждую из которых надо поместить слева-направо одну за другой. Но теперь мы в этот подотчет передаем значение Y. Y принимает значения от 1 до M. Подотчет осуществляет забор N-тили данных из таблицы п.3., используя суррогатный ключ. Т.е. на первом шаге мы вытаскиваем из таблицы первую часть записей (N штук), на втором - вторую (N штук), и т.д. до M-го шага (вытаскиваем "хвост" в кол-ве <= N).
11. В итоге мы и получим искомый набор таблиц, расположенный так, как нам надо.

До второго пункта я еще что то понимал...
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566519
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И таблица у меня и так в прямоугольнике.
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566574
Madmech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
its_me,

Что конкретно непонятно?

Поясняю на пальцах. Идем по пунктам:

1. Допустим, мы узнали, что на странице помещается только 5 записей, остальные залазят уже на др. страницу(-ы). Тогда N = 5.
2. Делаем
3. Допустим, наш запрос вовзращает 13 записей. Записи нумеруем, например, с помощью DENSE_RANK и записываем во временную табличку.
4. S = 13.

Т.е. в итоге нам надо получить такую таблицу, разбитую на части:


5. S mod N = 13 mod 5 = 3.
3 <> 0 => M = (13 div 5) + 1 = 3
3 - это кол-во субтаблиц, на которые разбилась наша главная таблица (см. скриншот выше).

6. Делаем
7. Делаем
8. Имеем матричную таблицу размера 3 х 1:

9. Делаем
10. Теперь подотчет на первом шаге вытаскивает из временной таблицы записи с 1-й по 5-ю, на втором - с 6-й по 10-ю, и на последнем, завершающем шаге - оставшиеся 3 записи.
11. Вуаля:



P.S. Если даже так непонятно, то извините, я и так на вашу задачу уйму своего рабочего времени истратил. Но спортивный интерес-то есть. :)
P.P.S. Извините за пару нескромных вопросов: Вы давно с SSRS и SQL Server работаете? Какое у Вас образование (техническое/естественно-научное/гуманитарное)? Потому как, может быть, я тут зря распинаюсь...
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566590
SuperBolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Madmech,

Как минимум не зря =) Интересная реализация.
Но на реальных данных, не вижу смысла особого... На страницу А4 особо много не влезет, а если влезет 2 таблицы по ширине - это будет хорошо)

Но это чисто мое мнение, никому его не навязываю =)
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38566625
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Madmechits_me,
.....

P.S. Если даже так непонятно, то извините, я и так на вашу задачу уйму своего рабочего времени истратил. Но спортивный интерес-то есть. :)
P.P.S. Извините за пару нескромных вопросов: Вы давно с SSRS и SQL Server работаете? Какое у Вас образование (техническое/естественно-научное/гуманитарное)? Потому как, может быть, я тут зря распинаюсь...

Технарь я. Проблема в "захлёбывании" некоторых слов, и то что я похожий вариант рассматривал, но не пробовал, так как лучше для меня было "перевернуть таблицу" как я уже спрашивал. Буду пробовать, спасибо за время и интерес.
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38567130
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не владею я SSRS, для меня объяснение надо подробное(недавно узнал только куда можно код отчета писать).
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38567135
Madmech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда мое объяснение, скорее всего, что мертвому припарки, поскольку для реализации этого алгоритма надо быть продвинутым пользователем SSRR. Без обид.
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38567158
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Madmech,

Никаких обид, только голые факты)...да DENSE_RANK мне не применить, у меня не явный источник набора данных и думаю можно проще сделать мне будет, пробую...
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38567174
Madmech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
its_me,

А что за неявный источник данных, что нельзхя применить ранжирующие функции, можно поподробнее?

P.S. Работали бы вместе, в одной команде, я бы показал реализацию этого алгоритма на практике. А так могу только порекомендовать на Вашем нынешнем уровне владения SSRS заказчику этой хотелки сказать, что SSRS не позволяет делать такие вещи. Это проще всего, тем более, что наверняка все знают, что Вы только начали работать с отчетностью. + SSRS на самом деле очень негибкий и для реализации многих не особо сложных вещей надо постоянно делать "финты ушами".
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38567184
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Madmechits_me,

А что за неявный источник данных, что нельзхя применить ранжирующие функции, можно поподробнее?

P.S. Работали бы вместе, в одной команде, я бы показал реализацию этого алгоритма на практике. А так могу только порекомендовать на Вашем нынешнем уровне владения SSRS заказчику этой хотелки сказать, что SSRS не позволяет делать такие вещи. Это проще всего, тем более, что наверняка все знают, что Вы только начали работать с отчетностью. + SSRS на самом деле очень негибкий и для реализации многих не особо сложных вещей надо постоянно делать "финты ушами".

Есть прога которая делает отчеты из данных неизвестного бинарника, в отчете есть определенный набор данных(dummy) в котором прописаны только поля(несколько таблиц). Задача поместить одну такую определенную табличку на одной страничке и это приказ(не имеет значения чего я знаю а чего нет).
...
Рейтинг: 0 / 0
Report Builder 3.0 расположение таблицы
    #38567190
its_me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В настоящий момент проблема в нумерации строк для этой таблички, пока так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
Public MyName3 as Int32 = 0

Public  Function Num()

               MyName3=MyName3+1
	Return MyName3

End Function



всего строк 48(примерно) и нумерует почему то с 48...
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Report Builder 3.0 расположение таблицы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]