|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
Добрый день. Необходимо в matrix сделать отображение всех столбцов из запроса, не зависимо от того есть или нет данные по этому срезу. DimProduct строки DimAccount и DimTime столбцы(DimTime родительская группа для DimAccount) MGFact.Value область данных вот запрос: Код: sql 1. 2. 3. 4. 5. 6.
Подскажите пожалуйста как сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 13:28 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
Che0, данных для анализа маловато будет :( Возможно вместо inner join использовать Left Join Или как-то хитро скобки в джойнах расставить. Или через подзапрос... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 17:17 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
user89, в том то и дело что несмотря на то я использую full join все равно не выводит. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2012, 18:56 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
Che0, у меня простой SQL - без SSAS но наверно, проблема такая же делаю так допустим нужны данные по некому ID за все месяцы периода и месяцы - это колонки нашего отчета я принудительно добавляю в результирующий dataset (в хранимой процедуре) данные за те нужные месяцы, когда данных нет НО С НУЛЕВЫМ ID и нулевыми значениями строки, относящиеся к нулевому ID потом прямо в matrix делаю hidden про условию ID = 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2012, 09:17 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
Che0, в прошлом году я купил книгу "Ицик Бен-Ган Microsoft SQL Server 2008. Основы T-SQL" Купите/скачайте обязательно. Выручит много раз. В ней также хорошо написано, что Left/Full join не стоит перемешивать с inner join . Вот накидал простенький пример. Если Left Join заменить на Full, результат не изменится Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2012, 09:28 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
Andrews25, а как/где поставить условие на hiden ячейки? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2012, 11:01 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
Che0, в моем случае hide-ться вся строка выбирается строка и в контекстном меню Row visibility пишу условие для hidden =Fields!ID.Value = 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2012, 13:04 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
Всем привет! Что-то из всего вышесказанного не понял как все таки сделать отображение в матрице полей для которых нет значений. У меня есть таблица со столбцами ID,Text1,Text2,Date. Я сделал отчет в RS2008 следующего вид с помощью Matrix. Знач21 Знач22 Знач23 Знач11 1 1 Знач12 2 Знач13 1 3 Он отображает слева значения из столбца Текст1 в заголовке значения из столбца Текст2, а на пересечении считает count(id). Отчет строится за определенный интервал дат и может получиться так, что в этот промежуток каких то из значений не попало. ТОгда этот столбец иили строка не отображается, а нужно сделать так чтобы она отображалась. Например вот так Знач21 Знач22 Знач23 Знач24 Знач11 1 1 Знач12 2 Знач13 1 3 Знач14 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2016, 23:08 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
jeddite, если за интервал дат, то я сначала строю таблицу с датами, затем cross join с периодом, а потом вешаю данные через left join. Для примера возьмем таблицу, где есть Февраль и Апрель, а надо вывести с Февраля по Май. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Репортинг в матрице развернет и отобразит выбранный нами период, даже с пустыми ячейками за Май месяц. Поля p.yy, p.mm нужны для правильной сортировки в отчете. Здесь для получения последовательности дат, я использовал рекурсию , но лучше иметь готовую таблицу натуральных чисел 9911016 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2016, 14:59 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
user89, я немного ошибся, мне не по датам нужно, а по датам и времени делать выборку, так же делать таблицу со всеми возможными вариантами времени? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 22:49 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
jedditeuser89, я немного ошибся, мне не по датам нужно, а по датам и времени делать выборку, так же делать таблицу со всеми возможными вариантами времени?Ага. Надо сделать все комбинации через cross join, а потом на эту сетку уже вешать данные через left join. Чтобы не было дубликатов, я в примере делал cross join через distinct. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2016, 16:31 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
user89, попробовал запрос, при увеличении интервала выдается сообщение : Msg 530, Level 16, State 1, Line 11 Выполнение инструкции прервано. Максимальная рекурсия 100 была использована до завершения инструкции. если я буду делать табличку с минутами на ближайшие лет 5, как победить эту ошибку? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2016, 22:17 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
jeddite, Таблицу лучше сделайте, занимает очень мало места, а пригодится много раз Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
jedditeMsg 530, Level 16, State 1, Line 11 Выполнение инструкции прервано. Максимальная рекурсия 100 была использована до завершения инструкции. если я буду делать табличку с минутами на ближайшие лет 5, как победить эту ошибку?Напишите в самом конце, даже после order by, такую фразу Код: sql 1.
Примеров полно здесь на форуме и в гугле Но если запрос написан с ошибкой, то выборка может уйти в вечный цикл.... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2016, 09:34 |
|
RS matrix отбражение столбцов даже при отсутсвии данных в этой области
|
|||
---|---|---|---|
#18+
user89, Я пока экспериментировал, у меня получилось сделать через union, столбцов и строк у меня не много, поэтому добавил просто нужные комбинации, а значение даты для этих записей в null установил. В select для матрицы добавил дополнительное условие через or date == NULL. Наверно не самый изящный способ, но работает.... Спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2016, 19:10 |
|
|
start [/forum/topic.php?fid=31&msg=39369289&tid=1533132]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 250ms |
total: | 371ms |
0 / 0 |