Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.25 KB | None | 0 0
  1. USE [BI_Extracomptabel]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[Transacties_toevoegen_toekomstige_jaren] Script Date: 01/17/2017 14:54:34 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author: <Janneke Inia>
  10. -- Create date: <20160209>
  11. -- Description: <Jaarlijkse transacties toevoegen voor dashboards met vaste prognoses in de toekomst>
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[Transacties_toevoegen_toekomstige_jaren]
  14. AS
  15. BEGIN
  16.  
  17. /*
  18. 20160208 Janneke Inia
  19. STAP 1 TOEVOEGEN KENGETALLEN VOOR PROGNOSES TOEKOMSTIGE JAREN
  20. Deze query levert de kengetallen op die je moet toevoegen aan de transactietabel.
  21. Dat zijn de kengetallen behorende bij een bepaald dashboard waarbij:
  22. - de indicator gebruikt wordt;
  23. - het kengetal gebruikt wordt;
  24. - het kengetal niet geautomatiseerd is;
  25. - het type 'Prognose' is;
  26. - de naam een jaartal bevat.
  27. Stappenplan:
  28. 1. Vul de verschillende waarden in de query.
  29. 2. Kopieer alle rijen naar excel en voeg nieuwe BI_kengetal_ID's toe.
  30. 3. Kopieer vervolgens alle rijen zonder headers en plak deze in BI_Extracomptabel.dbo.BI_dashboard_kengetal.
  31. */
  32.  
  33. select null BI_dashboard_kengetal_ID
  34. , left(ken.BI_kengetal_naam,len(ken.BI_kengetal_naam)-4)+'2019' BI_kengetal_naam
  35. --Vul hier het jaar in waarvoor het kengetal gemaakt moet worden
  36. , cast('01-01-2017' as date) BI_kengetal_startdatum
  37. --Vul hier de startdatum van het nieuwe kengetal in
  38. , null BI_kengetal_einddatum
  39. , ken.BI_kengetal_label
  40. , ken.BI_kengetal_type
  41. , ken.BI_kengetal_subtype
  42. , ken.BI_kengetal_periode
  43. , ken.BI_kengetal_soort
  44. , ken.BI_kengetal_geautomatiseerd_JN
  45. , ken.BI_kengetal_definitie_functioneel
  46. , ken.BI_kengetal_definitie_technisch
  47. , null BI_kengetal_laatst_gewijzigd
  48. , null BI_kengetal_laatst_gewijzigd_door
  49. from (
  50. select distinct(transactie.BI_dashboard_transactie_kengetal_ID)
  51. from BI_Extracomptabel.dbo.BI_dashboard_transactie transactie
  52. inner join (
  53. select k.*
  54. from BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel koppeltabel
  55. inner join (
  56. select indicator.BI_indicator_ID
  57. , indicator.BI_indicator_naam
  58. from BI_Extracomptabel.dbo.BI_dashboard_indicator indicator
  59. where indicator.BI_indicator_einddatum is null
  60. --and indicator.BI_indicator_dashboard = 'Tertiaaldashboard Directie'
  61. --Vul hier het dashboard waarvoor het kengetal aangemaakt moet worden in
  62. ) i
  63. on koppeltabel.BI_dashboard_indicator_ID = i.BI_indicator_ID
  64. inner join (
  65. select kengetal.BI_kengetal_ID
  66. , kengetal.BI_kengetal_naam
  67. , kengetal.BI_kengetal_type
  68. from BI_Extracomptabel.dbo.BI_dashboard_kengetal kengetal
  69. where kengetal.BI_kengetal_einddatum is null
  70. and kengetal.BI_kengetal_geautomatiseerd_JN = 0
  71. ) k
  72. on koppeltabel.BI_dashboard_kengetal_ID = k.BI_kengetal_ID
  73. ) koppel
  74. on transactie.BI_dashboard_transactie_kengetal_ID = koppel.BI_kengetal_ID
  75. where transactie.BI_dashboard_transactie_invulperiode like '2016%'
  76. --Vul hier het afgelopen jaar in
  77. and koppel.BI_kengetal_type = 'Prognose'
  78. and koppel.BI_kengetal_naam like '%2016'
  79. --Vul hier het afgelopen jaar in
  80. ) trans
  81. left join (
  82. select *
  83. from BI_Extracomptabel.dbo.BI_dashboard_kengetal
  84. ) ken
  85. on trans.BI_dashboard_transactie_kengetal_ID = ken.BI_kengetal_ID
  86. order by trans.BI_dashboard_transactie_kengetal_ID
  87.  
  88.  
  89. /*
  90. 20160208 Janneke Inia
  91. STAP 2 TOEVOEGEN KOPPELINGEN VOOR PROGNOSES TOEKOMSTIGE JAREN
  92. Deze query levert de rijen op die je moet toevoegen aan de koppeltabel.
  93. Stappenplan:
  94. 1. Vul de verschillende waarden in de query (gelijk aan de waarden uit stap 1).
  95. 2. Kopieer alle rijen naar excel en kopieer de BI_kengetal_ID's uit stap 1 naar de tweede kolom.
  96. 3. Kopieer vervolgens alle rijen zonder headers en plak deze in BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel.
  97. */
  98.  
  99. select ken.BI_dashboard_indicator_ID
  100. , null BI_dashboard_kengetal_ID
  101. from (
  102. select distinct(transactie.BI_dashboard_transactie_kengetal_ID)
  103. from BI_Extracomptabel.dbo.BI_dashboard_transactie transactie
  104. inner join (
  105. select k.*
  106. from BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel koppeltabel
  107. inner join (
  108. select indicator.BI_indicator_ID
  109. , indicator.BI_indicator_naam
  110. from BI_Extracomptabel.dbo.BI_dashboard_indicator indicator
  111. where indicator.BI_indicator_einddatum is null
  112. --and indicator.BI_indicator_dashboard = 'Tertiaaldashboard Directie'
  113. --Vul hier het dashboard waarvoor het kengetal aangemaakt moet worden in
  114. ) i
  115. on koppeltabel.BI_dashboard_indicator_ID = i.BI_indicator_ID
  116. inner join (
  117. select kengetal.BI_kengetal_ID
  118. , kengetal.BI_kengetal_naam
  119. , kengetal.BI_kengetal_type
  120. from BI_Extracomptabel.dbo.BI_dashboard_kengetal kengetal
  121. where kengetal.BI_kengetal_einddatum is null
  122. and kengetal.BI_kengetal_geautomatiseerd_JN = 0
  123. ) k
  124. on koppeltabel.BI_dashboard_kengetal_ID = k.BI_kengetal_ID
  125. ) koppel
  126. on transactie.BI_dashboard_transactie_kengetal_ID = koppel.BI_kengetal_ID
  127. where transactie.BI_dashboard_transactie_invulperiode like '2016%'
  128. --Vul hier het afgelopen jaar in
  129. and koppel.BI_kengetal_type = 'Prognose'
  130. and koppel.BI_kengetal_naam like '%2016'
  131. --Vul hier het afgelopen jaar in
  132. ) trans
  133. left join (
  134. select *
  135. from BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel
  136. ) ken
  137. on trans.BI_dashboard_transactie_kengetal_ID = ken.BI_dashboard_kengetal_ID
  138. order by trans.BI_dashboard_transactie_kengetal_ID
  139.  
  140.  
  141. /*
  142. 20160208 Janneke Inia
  143. STAP 3 TOEVOEGEN TRANSACTIES VOOR PROGNOSES TOEKOMSTIGE JAREN
  144. Deze query levert de rijen op die je moet toevoegen aan de transactietabel.
  145. Stappenplan:
  146. 1. Vul de verschillende waarden in de query (gelijk aan de waarden uit stap 1).
  147. 2. Kopieer alle rijen zonder headers en plak deze in BI_Extracomptabel.dbo.BI_dashboard_transactie.
  148. */
  149.  
  150. select ikk2.kengetal_ID_nieuw BI_dashboard_transactie_kengetal_ID
  151. , case when len(ken.BI_dashboard_transactie_invulperiode) = 4
  152. then ken.BI_dashboard_transactie_invulperiode + 1
  153. when len(ken.BI_dashboard_transactie_invulperiode) = 5
  154. then ken.BI_dashboard_transactie_invulperiode + 10
  155. when len(ken.BI_dashboard_transactie_invulperiode) = 6
  156. then ken.BI_dashboard_transactie_invulperiode + 100
  157. end BI_dashboard_transactie_invulperiode
  158. , case when len(ken.BI_dashboard_transactie_periode) = 4
  159. then ken.BI_dashboard_transactie_periode + 1
  160. when len(ken.BI_dashboard_transactie_periode) = 5
  161. then ken.BI_dashboard_transactie_periode + 10
  162. when len(ken.BI_dashboard_transactie_periode) = 6
  163. then ken.BI_dashboard_transactie_periode + 100
  164. end BI_dashboard_transactie_periode
  165. , null BI_dashboard_transactie_waarde
  166. , null BI_dashboard_transactie_gewijzigd_op
  167. , null BI_dashboard_transactie_gewijzigd_door
  168. from (
  169. select distinct(transactie.BI_dashboard_transactie_kengetal_ID)
  170. from BI_Extracomptabel.dbo.BI_dashboard_transactie transactie
  171. inner join (
  172. select k.*
  173. from BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel koppeltabel
  174. inner join (
  175. select indicator.BI_indicator_ID
  176. , indicator.BI_indicator_naam
  177. from BI_Extracomptabel.dbo.BI_dashboard_indicator indicator
  178. where indicator.BI_indicator_einddatum is null
  179. --and indicator.BI_indicator_dashboard = 'Tertiaaldashboard Directie'
  180. --Vul hier het dashboard waarvoor het kengetal aangemaakt moet worden in
  181. ) i
  182. on koppeltabel.BI_dashboard_indicator_ID = i.BI_indicator_ID
  183. inner join (
  184. select kengetal.BI_kengetal_ID
  185. , kengetal.BI_kengetal_naam
  186. , kengetal.BI_kengetal_type
  187. from BI_Extracomptabel.dbo.BI_dashboard_kengetal kengetal
  188. where kengetal.BI_kengetal_einddatum is null
  189. and kengetal.BI_kengetal_geautomatiseerd_JN = 0
  190. ) k
  191. on koppeltabel.BI_dashboard_kengetal_ID = k.BI_kengetal_ID
  192. ) koppel
  193. on transactie.BI_dashboard_transactie_kengetal_ID = koppel.BI_kengetal_ID
  194. where transactie.BI_dashboard_transactie_invulperiode like '2016%'
  195. --Vul hier het afgelopen jaar in
  196. and koppel.BI_kengetal_type = 'Prognose'
  197. and koppel.BI_kengetal_naam like '%2016'
  198. --Vul hier het afgelopen jaar in
  199. ) trans
  200. left join (
  201. select *
  202. from BI_Extracomptabel.dbo.BI_dashboard_transactie transactie
  203. where transactie.BI_dashboard_transactie_invulperiode like '2016%'
  204. --Vul hier het afgelopen jaar in
  205. ) ken
  206. on trans.BI_dashboard_transactie_kengetal_ID = ken.BI_dashboard_transactie_kengetal_ID
  207. left join (
  208. select koppeltabel.BI_dashboard_indicator_ID
  209. , koppeltabel.BI_dashboard_kengetal_ID kengetal_ID_oud
  210. from BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel koppeltabel
  211. ) ikk
  212. on trans.BI_dashboard_transactie_kengetal_ID = ikk.kengetal_ID_oud
  213. left join (
  214. select koppeltabel2.BI_dashboard_indicator_ID
  215. , max(koppeltabel2.BI_dashboard_kengetal_ID) kengetal_ID_nieuw
  216. from BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel koppeltabel2
  217. group by koppeltabel2.BI_dashboard_indicator_ID
  218. ) ikk2
  219. on ikk.BI_dashboard_indicator_ID = ikk2.BI_dashboard_indicator_ID
  220. order by trans.BI_dashboard_transactie_kengetal_ID
  221.  
  222.  
  223. /*
  224. 20160208 Janneke Inia
  225. STAP 4 TOEVOEGEN TRANSACTIES VOOR HET NIEUWE JAAR
  226. Deze query levert de rijen op die je wilt toevoegen aan de transactietabel.
  227. Dat zijn de transacties behorende bij een bepaald dashboard waarbij:
  228. - de indicator gebruikt wordt;
  229. - het kengetal gebruikt wordt;
  230. - het kengetal niet geautomatiseerd is.
  231. Vul hiervoor twee waarden in:
  232. 1. Het dashboard waarvoor de transacties moeten worden toegevoegd.
  233. 2. Het afgelopen jaar.
  234. Kopieer vervolgens alle rijen zonder headers en plak deze in BI_Extracomptabel.dbo.BI_dashboard_transactie
  235. */
  236.  
  237. select transactie.BI_dashboard_transactie_kengetal_ID
  238. , case when len(transactie.BI_dashboard_transactie_invulperiode) = 4
  239. then transactie.BI_dashboard_transactie_invulperiode + 1
  240. when len(transactie.BI_dashboard_transactie_invulperiode) = 5
  241. then transactie.BI_dashboard_transactie_invulperiode + 10
  242. when len(transactie.BI_dashboard_transactie_invulperiode) = 6
  243. then transactie.BI_dashboard_transactie_invulperiode + 100
  244. end BI_dashboard_transactie_invulperiode
  245. , case when len(transactie.BI_dashboard_transactie_periode) = 4
  246. then transactie.BI_dashboard_transactie_periode + 1
  247. when len(transactie.BI_dashboard_transactie_periode) = 5
  248. then transactie.BI_dashboard_transactie_periode + 10
  249. when len(transactie.BI_dashboard_transactie_periode) = 6
  250. then transactie.BI_dashboard_transactie_periode + 100
  251. end BI_dashboard_transactie_periode
  252. , null BI_dashboard_transactie_waarde
  253. , null BI_dashboard_transactie_gewijzigd_op
  254. , null BI_dashboard_transactie_gewijzigd_door
  255. from BI_Extracomptabel.dbo.BI_dashboard_transactie transactie
  256. inner join (
  257. select koppeltabel.BI_dashboard_kengetal_ID
  258. from BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel koppeltabel
  259. inner join (
  260. select indicator.BI_indicator_ID
  261. from BI_Extracomptabel.dbo.BI_dashboard_indicator indicator
  262. where indicator.BI_indicator_einddatum is null
  263. --and indicator.BI_indicator_dashboard = 'Tertiaaldashboard RvC'
  264. --Vul hier het dashboard waarvoor je transacties wilt aanmaken in
  265. ) i
  266. on koppeltabel.BI_dashboard_indicator_ID = i.BI_indicator_ID
  267. inner join (
  268. select kengetal.BI_kengetal_ID
  269. from BI_Extracomptabel.dbo.BI_dashboard_kengetal kengetal
  270. where kengetal.BI_kengetal_einddatum is null
  271. and kengetal.BI_kengetal_geautomatiseerd_JN = 0
  272. and kengetal.BI_kengetal_naam not like '%2016'
  273. --Vul hier het afgelopen jaar in
  274. ) k
  275. on koppeltabel.BI_dashboard_kengetal_ID = k.BI_kengetal_ID
  276. group by koppeltabel.BI_dashboard_kengetal_ID
  277. ) koppel
  278. on transactie.BI_dashboard_transactie_kengetal_ID = koppel.BI_dashboard_kengetal_ID
  279. where transactie.BI_dashboard_transactie_invulperiode like '2016%'
  280. --Vul hier het afgelopen jaar in
  281.  
  282.  
  283. /*
  284. 20160208 Janneke Inia
  285. STAP 5 TOEVOEGEN TRANSACTIES VOOR HET LAATSTE JAAR
  286. Deze query levert de rijen op die je wilt toevoegen aan de transactietabel.
  287. Dat zijn de transacties behorende bij een bepaald dashboard waarbij:
  288. - de indicator gebruikt wordt;
  289. - het kengetal gebruikt wordt;
  290. - het kengetal niet geautomatiseerd is.
  291. Vul hiervoor twee waarden in:
  292. 1. Het dashboard waarvoor de transacties moeten worden toegevoegd.
  293. 2. Het voorlaatste jaar.
  294. Kopieer vervolgens alle rijen zonder headers en plak deze in BI_Extracomptabel.dbo.BI_dashboard_transactie
  295. */
  296.  
  297. select transactie.BI_dashboard_transactie_kengetal_ID
  298. , case when len(transactie.BI_dashboard_transactie_invulperiode) = 4
  299. then transactie.BI_dashboard_transactie_invulperiode + 1
  300. when len(transactie.BI_dashboard_transactie_invulperiode) = 5
  301. then transactie.BI_dashboard_transactie_invulperiode + 10
  302. when len(transactie.BI_dashboard_transactie_invulperiode) = 6
  303. then transactie.BI_dashboard_transactie_invulperiode + 100
  304. end BI_dashboard_transactie_invulperiode
  305. , case when len(transactie.BI_dashboard_transactie_periode) = 4
  306. then transactie.BI_dashboard_transactie_periode + 1
  307. when len(transactie.BI_dashboard_transactie_periode) = 5
  308. then transactie.BI_dashboard_transactie_periode + 10
  309. when len(transactie.BI_dashboard_transactie_periode) = 6
  310. then transactie.BI_dashboard_transactie_periode + 100
  311. end BI_dashboard_transactie_periode
  312. , null BI_dashboard_transactie_waarde
  313. , null BI_dashboard_transactie_gewijzigd_op
  314. , null BI_dashboard_transactie_gewijzigd_door
  315. from BI_Extracomptabel.dbo.BI_dashboard_transactie transactie
  316. inner join (
  317. select koppeltabel.BI_dashboard_kengetal_ID
  318. from BI_Extracomptabel.dbo.BI_dashboard_indicator_kengetal_koppeltabel koppeltabel
  319. inner join (
  320. select indicator.BI_indicator_ID
  321. from BI_Extracomptabel.dbo.BI_dashboard_indicator indicator
  322. where indicator.BI_indicator_einddatum is null
  323. --and indicator.BI_indicator_dashboard = 'Tertiaaldashboard RvC'
  324. --Vul hier het dashboard waarvoor je transacties wilt aanmaken in
  325. ) i
  326. on koppeltabel.BI_dashboard_indicator_ID = i.BI_indicator_ID
  327. inner join (
  328. select kengetal.BI_kengetal_ID
  329. from BI_Extracomptabel.dbo.BI_dashboard_kengetal kengetal
  330. where kengetal.BI_kengetal_einddatum is null
  331. and kengetal.BI_kengetal_geautomatiseerd_JN = 0
  332. and kengetal.BI_kengetal_naam not like '%2018'
  333. --Vul hier het voorlaatste jaar in
  334. ) k
  335. on koppeltabel.BI_dashboard_kengetal_ID = k.BI_kengetal_ID
  336. group by koppeltabel.BI_dashboard_kengetal_ID
  337. ) koppel
  338. on transactie.BI_dashboard_transactie_kengetal_ID = koppel.BI_dashboard_kengetal_ID
  339. where transactie.BI_dashboard_transactie_invulperiode like '2018%'
  340. --Vul hier het voorlaatste jaar in
  341.  
  342.  
  343.  
  344. /*
  345. 20160208 Janneke Inia
  346. STAP 5 TOEVOEGEN TOELICHTINGEN VOOR HET NIEUWE JAAR
  347. Deze query levert de rijen op die je wilt toevoegen aan de toelichtingen tabel.
  348. Dat zijn de transacties behorende alle indicatoren die ook in het voorgaande jaar als toelichting beschikbaar waren
  349. Vul hiervoor twee waarden in:
  350. Het vorige en het huidige jaar
  351. Kopieer vervolgens alle rijen zonder headers en plak deze in BI_Extracomptabel.dbo.BI_dashboard_transactie
  352. */
  353.  
  354. SELECT
  355. BI_dashboard_toelichting_indicator_ID,
  356. REPLACE(BI_dashboard_toelichting_periode, 2016, 2017) AS BI_dashboard_toelichting_periode,
  357. -- Vul hier het vorige jaar en het huidige jaar in
  358. 'Toelichting' AS BI_dashboard_toelichting_manager_processeigenaar,
  359. NULL AS BI_dashboard_toelichting_bedrijfsaccountant,
  360. NULL AS BI_dashboard_document_bestand
  361. FROM BI_dashboard_toelichting
  362. WHERE (BI_dashboard_toelichting_periode LIKE '2016%')
  363. -- Vul hier het voorgaande jaar in
  364.  
  365. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement