|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Добрый день, прошу вашей помощи. Есть набор данных DataSet с полями id_ReportElement, id_Exchange, id_Period и Value (значение). В матриксе реализованы группы строк по id_ReportElement (внешняя группа), id_Period (вложенная группа) и группы столбцов по id_Exchange. В матриксе настроены все подитоги, но мне необходимо отображать общий итог внизу, но не по всем id_ReportElement и id_Period, а общую сумму, включая только id_Period = 1 (не все значения группы) Я думаю что нужно применять функции Lookup, LookupSet или MultiLookup, но только никак не могу понять как их применить. Прошу вашей помощи, помогите пожалуйста составить формулу для такого итога. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 13:11 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
rsolanov, может так Sum(IIF(FIelds!id_Period.Value = 1, Fields!Value.Value, Nothing)) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 16:33 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Andrews25rsolanov, может так Sum(IIF(FIelds!id_Period.Value = 1, Fields!Value.Value, Nothing)) ?Почему то в группе столбцов id_Exchange с id_Exchange = 1 это не работает, не понимаю почему ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 17:50 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Скриншот бы, а то не понятно что получается и что ты ожидаешь увидеть. А Lookup используется для связи различных датасетов, тут он не причем. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 18:44 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
rsolanov, непонятно,что значит "не работает"??? вроде работает - вот такой пример искомая сумма в левой нижней ячейке - она не входит ни в группу по строкам, ни в группу по столбцам Код: xml 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. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2013, 20:01 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
rsolanovAndrews25rsolanov, может так Sum(IIF(FIelds!id_Period.Value = 1, Fields!Value.Value, Nothing)) ?Почему то в группе столбцов id_Exchange с id_Exchange = 1 это не работает, не понимаю почемуПрошу прощения, все верно, работает, это что называется "заработался" )) Сейчас у меня поле "Доля" рассчитывается по следующему выражению: Код: vbnet 1.
Мне еще нужно реализовать итог по долям, но опять же для id_Period = 1. В выражении Код: vbnet 1.
вместо Код: vbnet 1.
я подставлял Код: vbnet 1.
но пишет ошибку что выражение Value для текстового поля содержит параметр области, недопустимый для статической функции. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 10:50 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
rsolanov, на какую ячейку ругается?? скорее всего Вы использовали в строке итогов имя группы RowGroup (если у Вас "matrix1_id_Period", как я предполагаю) т.е. в этой ячейке не Sum(Fields!T.Value, "matrix1_id_Period") надо писать а Sum(Fields!T.Value) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 11:11 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Andrews25rsolanov, на какую ячейку ругается?? скорее всего Вы использовали в строке итогов имя группы RowGroup (если у Вас "matrix1_id_Period", как я предполагаю) т.е. в этой ячейке не Sum(Fields!T.Value, "matrix1_id_Period") надо писать а Sum(Fields!T.Value)Ругается на ячейку, указанную зеленым, а так как вы сказали писать нельзя, поскольку если не написать Код: vbnet 1.
то тогда доля для каждого столбца от общей суммы объема (Fields!T.Value) не посчитается. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 11:53 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
rsolanov, я имела в виду, что в Total row нельзя ссылаться на child (RowGroup) scope я правильно понимаю, что Ваша RowGroup называется matrix1_id_period?? рассуждаем дальше, в предположении, что это так допустим , ColumnGroup назвается matrix1_id_Exchange а tablix называется matrix1 попробуйте вместо =IIf(IsNothing(Sum(Fields!T.Value, "matrix1_id_Period")), Nothing, Sum(Fields!T.Value)/Sum(Fields!T.Value, "matrix1_id_Period")) В СТРОКЕ ИТОГОВ написать =IIf(IsNothing(Sum(Fields!T.Value, "matrix1")), Nothing, Sum(Fields!T.Value, "matrix1_id_Exchange")/Sum(Fields!T.Value, "matrix1")) Sum(Fields!T.Value, "matrix1") - сумма по ВСЕМ Sum(Fields!T.Value, "matrix1_id_Exchange") - сумма только по текущей ColumnGroup ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 12:45 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Andrews25rsolanov, я имела в виду, что в Total row нельзя ссылаться на child (RowGroup) scope я правильно понимаю, что Ваша RowGroup называется matrix1_id_period?? рассуждаем дальше, в предположении, что это так допустим , ColumnGroup назвается matrix1_id_Exchange а tablix называется matrix1Все, так и есть ) Но ваша формула вычисляет данные неверно, по скриншоту видно, чтобы найти долю, выделенную зеленым, необходимо значение в среднем синем квадратике разделить на сумму всех значений, выделенных синим: 17020/(217245 + 17020 + 14306) ~ 6,8 % , а не 3,84% как вычисляет ваша формула. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 18:16 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
rsolanov, Ну , я , надеялась, что Вы не забудете, что Вам надо еще вместо Код: vbnet 1.
подставить Код: vbnet 1.
Подставите (как Вы и делали раньше) - и все правильно будет считать - избирательно ( чем короче формула, тем понятнее :) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2013, 20:13 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Andrews25, огромное вам спасибо, все работает! ) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2013, 10:14 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Andrews25, еще вопрос чтобы уже все было понятно: есть например набор данных DataSet, который возвращает множество данных по каждой компании (id_Company). Например, общее количество строк 500, а количество самих компаний 20. В строке итогов необходимо отобразить количество компаний. Выражение Код: vbnet 1.
выдает 500, а не 20. Как в этом случае написать выражение? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 11:14 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
CountDistinct ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 11:31 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Разобрался, CountDistinct ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2013, 11:35 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Andrews25, помогите посчитать разницу между Доля(месяц1) -Доля(месяц2) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2013, 11:49 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Alla05, а группировка по месяцу в column group?? хм... Я бы это сделала на стороне SQL - просто еще несколько полей , в которых лежат данные за предыдущий месяц ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2013, 14:30 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Andrews25, спасибо за "feedback" ) эту проблему уже решила! Проблема заключалась в том, что я настойчиво группировала по "Month" и поэтому не могла посчитать разницу между месяцами в рамках группы "Month". Сделала группировку по "валюте", месяцы определила жестко - расчетным путем, и посчитала "прирост доли тек. мес. к началу года". Но теперь у меня появилась другая проблема: Можно ли скрыть @Parameter2 при выборе определенного значения другого параметра @Parameter2 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 12:04 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Alla05, речь идет об отчете на сервере доступном через URL access - (не через report viewer) - с панелью параметров ? нет, легальными методами нельзя скрыть параметр - можно только ограничить его значения - например, если обычно он представлен в виде dropdown c несколькими строчками , то показать только одну строку - например с Label (Параметр не применяется) Но, по опыту могу сказать, пользователи такого не понимают обычно, для них такое поведение эквивалентно ОШИБКЕ :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 12:21 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Alla05, если первый параметр (от которого зависит Parameter2) определяет тип отчета например в одном случае просматриваем в разрезе по отделам, а в другом в разрезе по группам товаров - то можно сделать Linked Report - для него можно указать дефолтное значение первого параметра и СПРЯТАТЬ ненужный параметр ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 12:27 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
Andrews25, , опишу: в @Регион выбираю "Регион1" и в др. параметре @Область выбирается список областей (Обл1, Обл2,...), а мне необходимо в @Регион выбрать "Все регионы", а параметр @Область должен при этом скрыться (т.е. по умолчанию во все регионы включены все области) Сейчас у меня реализовано: при выборе значения "Все регионы" пользователю доступен выбор Обл1, Обл2,... Или какие возможны варианты решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 13:19 |
|
SSRS Как вычислить сумму избирательно
|
|||
---|---|---|---|
#18+
alla_05, Я бы так сделала :) - показала бы в списке областей ОДНО ЗНАЧЕНИЕ что-нибудь типа value = 0 laBEL = ВСЕ ОБЛАСТИ - не мудрствуя лукаво - ну и обработала такой случай в фильтрах или там, где у Вас происходит отбор по областям ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2013, 14:52 |
|
|
start [/forum/topic.php?fid=31&fpage=32&tid=1534006]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
72ms |
get forum data: |
3ms |
get page messages: |
122ms |
get tp. blocked users: |
2ms |
others: | 268ms |
total: | 532ms |
0 / 0 |