{"id":2385,"date":"2021-03-26T20:04:00","date_gmt":"2021-03-26T17:04:00","guid":{"rendered":"https:\/\/guvensahin.com\/?p=2385"},"modified":"2021-03-26T20:08:21","modified_gmt":"2021-03-26T17:08:21","slug":"dynamics-365-fo-union-query-ile-view-olusturmak","status":"publish","type":"post","link":"https:\/\/guvensahin.com\/tr\/dynamics-365-fo-union-query-ile-view-olusturmak\/","title":{"rendered":"Dynamics 365 F&#038;O &#8211; Union Query ile View Olu\u015fturmak"},"content":{"rendered":"\n<p>Dynamics 365 F&amp;O&#8217;da 2 veya daha fazla tablodan gelen verileri birle\u015ftirip, alt alta g\u00f6stermek istedi\u011fimiz durumlarda genellikle temp tablolar\u0131 kullan\u0131r\u0131z. Fakat alternatif bir yol daha var. E\u011fer birle\u015ftirmek istedi\u011fimiz veri detayl\u0131 hesaplamalara ihtiya\u00e7 duymuyor ise T-SQL&#8217;den bildi\u011fimiz <strong>union<\/strong> operat\u00f6r\u00fcn\u00fc AOT Query&#8217;lerinde de kullanabiliyoruz. Union query kullanan bir view olu\u015fturup sorgu \u00e7ekmek, temp tablo doldurup g\u00f6stermeye oranla \u00e7ok daha performansl\u0131 ve basittir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Union Query Yaratmak<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>AOT&#8217;den query olu\u015fturulur. <strong>QueryType<\/strong> \u00f6zelli\u011fi <strong>Union<\/strong> olarak se\u00e7ilir.<\/li><li><span style=\"color: var(--nv-text-color); font-family: Graphik,-apple-system,BlinkMacSystemFont,Segoe UI,var(--nv-fallback-ff); background-color: var(--nv-site-bg);\">Data Sources k\u0131sm\u0131na birle\u015ftirmek istedi\u011fimiz tablolar\u0131 ekleyelim. Tablo haricinde ba\u015fka viewlar yada data entity de ekleyebilirsiniz.<\/span><\/li><li>Ekledi\u011fimiz datasource&#8217;lar\u0131n <strong>UnionType<\/strong> parametresini <strong>Union<\/strong> yada <strong>UnionAll<\/strong> olarak se\u00e7elim. Fark\u0131 i\u00e7in <a href=\"https:\/\/www.w3schools.com\/sql\/sql_ref_union.asp\">buraya<\/a> bakabilirsiniz.<\/li><li>Ard\u0131ndan ekledi\u011fimiz datasource&#8217;lar\u0131n <strong>Dynamics Fields<\/strong> \u00f6zelli\u011fini <strong>No<\/strong> yapal\u0131m.<\/li><li>Datasource&#8217;lar\u0131n fields b\u00f6l\u00fcm\u00fcne kullanmak istedi\u011fimiz kolonlar\u0131 tek tek ekleyelim. Ekleme s\u0131ras\u0131 \u00f6nemlidir. Burada alt alta g\u00f6sterece\u011fimiz alanlar\u0131n tipleri birbiri ile uyumlu olmal\u0131d\u0131r. A tablosundaki string alan B tablosundaki string alan ile e\u015fle\u015fmeli. Farkl\u0131 veri tiplerindeki alanlar\u0131 sistem kabul etmeyecektir.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/guvensahin.com\/tr\/wp-content\/uploads\/2021\/03\/d365fo_union_view_1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"711\" height=\"631\" src=\"https:\/\/guvensahin.com\/tr\/wp-content\/uploads\/2021\/03\/d365fo_union_view_1.png\" alt=\"\" class=\"wp-image-2406\" srcset=\"https:\/\/guvensahin.com\/tr\/wp-content\/uploads\/2021\/03\/d365fo_union_view_1.png 711w, https:\/\/guvensahin.com\/tr\/wp-content\/uploads\/2021\/03\/d365fo_union_view_1-300x266.png 300w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">View Yaratmak<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>AOT&#8217;den view olu\u015fturulur. \u00d6zelliklerinden yeni olu\u015fturdu\u011fumuz query se\u00e7ilir.<\/li><li><span style=\"color: var(--nv-text-color); font-family: Graphik,-apple-system,BlinkMacSystemFont,Segoe UI,var(--nv-fallback-ff); background-color: var(--nv-site-bg);\">Birle\u015ftirdi\u011fimiz datasource&#8217;lar view&#8217;\u0131n metadata k\u0131sm\u0131nda ayr\u0131 ayr\u0131 g\u00f6z\u00fck\u00fcr.<\/span><\/li><li>En \u00fcstteki datasource&#8217;un alanlar\u0131<span style=\"color: var(--nv-text-color); font-family: Graphik,-apple-system,BlinkMacSystemFont,Segoe UI,var(--nv-fallback-ff); background-color: var(--nv-site-bg);\">n\u0131 view&#8217;\u0131n fields k\u0131sm\u0131na s\u00fcr\u00fcklemeniz yeterli. View&#8217;a ekledi\u011fimiz alanlar\u0131n datasource k\u0131sm\u0131nda yazan de\u011ferin \u00f6nemi yok. Query union oldu\u011fu i\u00e7in \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z zaman<\/span>, datasource&#8217;lar\u0131n tamam\u0131n\u0131 birle\u015ftirip do\u011fru \u015fekilde g\u00f6sterecektir.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/guvensahin.com\/tr\/wp-content\/uploads\/2021\/03\/d365fo_union_view_2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"710\" height=\"480\" src=\"https:\/\/guvensahin.com\/tr\/wp-content\/uploads\/2021\/03\/d365fo_union_view_2.png\" alt=\"\" class=\"wp-image-2407\" srcset=\"https:\/\/guvensahin.com\/tr\/wp-content\/uploads\/2021\/03\/d365fo_union_view_2.png 710w, https:\/\/guvensahin.com\/tr\/wp-content\/uploads\/2021\/03\/d365fo_union_view_2-300x203.png 300w\" sizes=\"auto, (max-width: 710px) 100vw, 710px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Baz\u0131 Notlar<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>E\u011fer baz\u0131 kolonlarda AOT Query&#8217;nin join&#8217;i ile \u00e7\u00f6zemeyece\u011finiz karma\u015f\u0131kl\u0131kta veriler getirmeniz gerekiyor ise computed column ekleyerek istedi\u011finiz alanlar\u0131 getirebilirsiniz.<\/li><li>Birden fazla view birbirine union ile ba\u011flanabilir, bu sebeple view&#8217;lar\u0131n computed column tipindeki alanlar\u0131n\u0131 da union sorgusunda birle\u015ftirebilirsiniz.<\/li><li>E\u011fer birbirinden farkl\u0131 enumlara sahip 2 alan\u0131 birle\u015ftirmek isterseniz build s\u0131ras\u0131nda izin verir. \u00c7\u00fcnk\u00fc enum alanlar SQL seviyesinde integer alanlard\u0131r. Fakat form veya ssrs raporunda yanl\u0131\u015f g\u00f6z\u00fckecektir.<ul><li>Bu sebeple farkl\u0131 enumlar i\u00e7in string etiketlerini birle\u015ftirmeniz daha do\u011fru olur. Bunun i\u00e7inde enum&#8217;lar\u0131n string etiketlerini bir tabloya yazman\u0131z ve join ile query&#8217;ye dahil etmeniz gerekir.<\/li><li>Bu i\u015flemi <a href=\"https:\/\/guvensahin.com\/tr\/dynamics-365-fo-enum-etiketlerine-sql-sorgusu-ile-erismek\/\">\u015furadaki yaz\u0131ma<\/a> bakarak yapabilirsiniz. Dynamics AX 2012 i\u00e7inde <a href=\"https:\/\/guvensahin.com\/tr\/dynamics-ax-enum-etiketlerine-sqlden-erismek\/\">buraya<\/a> bakabilirsiniz.<\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Son Olarak<\/h2>\n\n\n\n<p>T\u00fcm yap\u0131lacaklar bu kadard\u0131.<\/p>\n\n\n\n<p>D365 F&amp;O ile ilgili di\u011fer yaz\u0131lar\u0131ma&nbsp;<a href=\"https:\/\/guvensahin.com\/tr\/category\/dynamics-365\/\">\u015furadan<\/a>, Dynamics AX yaz\u0131lar\u0131ma da&nbsp;<a href=\"https:\/\/guvensahin.com\/tr\/category\/dynamics-ax\/\">buradan<\/a>&nbsp;bakabilirsiniz.<\/p>\n\n\n\n<p>Ho\u015f\u00e7akal\u0131n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dynamics 365 F&amp;O&#8217;da 2 veya daha fazla tablodan gelen verileri birle\u015ftirip, alt alta g\u00f6stermek istedi\u011fimiz durumlarda genellikle temp tablolar\u0131 kullan\u0131r\u0131z. Fakat alternatif bir yol daha var. E\u011fer birle\u015ftirmek istedi\u011fimiz veri detayl\u0131 hesaplamalara ihtiya\u00e7 duymuyor ise T-SQL&#8217;den bildi\u011fimiz union operat\u00f6r\u00fcn\u00fc AOT Query&#8217;lerinde de kullanabiliyoruz. Union query kullanan bir view olu\u015fturup sorgu \u00e7ekmek, temp tablo doldurup g\u00f6stermeye&hellip;&nbsp;<a href=\"https:\/\/guvensahin.com\/tr\/dynamics-365-fo-union-query-ile-view-olusturmak\/\" rel=\"bookmark\">Daha fazlas\u0131n\u0131 oku &raquo;<span class=\"screen-reader-text\">Dynamics 365 F&#038;O &#8211; Union Query ile View Olu\u015fturmak<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2415,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[405],"tags":[193,394,438,198,434,285],"class_list":["post-2385","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dynamics-365-fo","tag-axapta","tag-dynamics-365","tag-dynamics-365-finance-and-operations","tag-dynamics-ax-2","tag-sql","tag-x"],"_links":{"self":[{"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/posts\/2385","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/comments?post=2385"}],"version-history":[{"count":15,"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/posts\/2385\/revisions"}],"predecessor-version":[{"id":2414,"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/posts\/2385\/revisions\/2414"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/media\/2415"}],"wp:attachment":[{"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/media?parent=2385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/categories?post=2385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/guvensahin.com\/tr\/wp-json\/wp\/v2\/tags?post=2385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}