|
Функция IFF входящая в SSRS, 2008 SQL-server
|
|||
---|---|---|---|
#18+
Здравствуйте. Наткнулся на непонимание встроенной в репортинг функции IIF(). В отчете есть сводная таблица, у которой значение области DATA определяется формулой: =IIF(Fields!Category_ORD.Value <> 7, Sum(Fields!Value1.Value), Sum(Fields!V1.Value)/Sum(Fields!Value1.Value)) То есть формула меняется в зависимости от значения поля Fields!Category_ORD.Value Загвоздка заключается в Sum(Fields!V1.Value)/Sum(Fields!Value1.Value), так как возможно деление на 0. Когда происходит деление на 0, выскакивает ошибка не только для Fields!Category_ORD.Value = 7, но и для Fields!Category_ORD.Value = 6 Скриншоты прилагаются. Из-за чего может происходить сбой формулы? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 18:51 |
|
Функция IFF входящая в SSRS, 2008 SQL-server
|
|||
---|---|---|---|
#18+
Yagrus2, ск2 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 18:51 |
|
Функция IFF входящая в SSRS, 2008 SQL-server
|
|||
---|---|---|---|
#18+
Yagrus2, ск3 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 18:52 |
|
Функция IFF входящая в SSRS, 2008 SQL-server
|
|||
---|---|---|---|
#18+
Yagrus2, Я попытался исключить деление на 0 конструкцией: =IIF(Fields!Category_ORD.Value <> 7, Sum(Fields!Value1.Value), IIF(Sum(Fields!Value1.Value) = 0, Sum(Fields!Value1.Value), Sum(Fields!V1.Value)/Sum(Fields!Value1.Value))) Второй вопрос почему не работает такая конструкция? Результат отчета как в последнем скриншоте ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 18:58 |
|
Функция IFF входящая в SSRS, 2008 SQL-server
|
|||
---|---|---|---|
#18+
Yagrus2, Вот таблица с которой работаю ManagementTerritoryID ManagementRegionID CityID StoreId YR MN YR_MN WK1 Category_ORD Value V11 5 173 582 2014 1 2014-01 1 6 0.00 NULL1 5 173 582 2014 1 2014-01 2 6 0.00 NULL1 5 173 582 2014 1 2014-01 3 6 0.00 NULL1 5 173 582 2014 1 2014-01 4 6 0.00 NULL1 5 173 582 2014 2 2014-02 1 6 0.00 NULL1 5 173 582 2014 2 2014-02 2 6 0.00 NULL1 5 173 582 2014 2 2014-02 3 6 0.00 NULL1 5 173 582 2014 2 2014-02 4 6 0.00 NULL1 5 173 582 2014 1 2014-01 1 7 0.00 0.001 5 173 582 2014 1 2014-01 2 7 0.00 0.001 5 173 582 2014 1 2014-01 3 7 0.00 0.001 5 173 582 2014 1 2014-01 4 7 0.00 0.001 5 173 582 2014 2 2014-02 1 7 0.00 0.001 5 173 582 2014 2 2014-02 2 7 0.00 0.001 5 173 582 2014 2 2014-02 3 7 0.00 0.001 5 173 582 2014 2 2014-02 4 7 0.00 0.00 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 19:19 |
|
Функция IFF входящая в SSRS, 2008 SQL-server
|
|||
---|---|---|---|
#18+
Yagrus2, потому что iif сначала вычисляет значения всех аргументов, поэтому вне зависиости от условия, пытаться выполнить деление будет всегда. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 19:37 |
|
Функция IFF входящая в SSRS, 2008 SQL-server
|
|||
---|---|---|---|
#18+
papalexi, Ок, но почему он Category_ORD = 6 выводит результат деления? Ведь по формуле должно быть просто Value1? Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 19:40 |
|
Функция IFF входящая в SSRS, 2008 SQL-server
|
|||
---|---|---|---|
#18+
Yagrus2, тоже недавно мучился с делением на ноль. Помог этот совет из гугла Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2014, 20:53 |
|
|
start [/forum/topic.php?fid=31&fpage=27&tid=1533779]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 159ms |
0 / 0 |