<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Sasha Nazarov's Remarks : Dimension Set Hierarchies</title><link>http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dimension+Set+Hierarchies/default.aspx</link><description>Tags: Dimension Set Hierarchies</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Import of dimension set rules</title><link>http://blogs.msdn.com/oleksandr_nazarov/archive/2007/03/05/n-x-job-for-generation-of-dimension-set-rules.aspx</link><pubDate>Mon, 05 Mar 2007 22:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1811744</guid><dc:creator>olenaz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/oleksandr_nazarov/comments/1811744.aspx</comments><wfw:commentRss>http://blogs.msdn.com/oleksandr_nazarov/commentrss.aspx?PostID=1811744</wfw:commentRss><description>&lt;P&gt;A&amp;nbsp;couple of days ago I had a question. One guy had to generate dimension set rules for ledger accounts, based on information from an Excel file. The file contained 3 columns: the first one for&amp;nbsp;ledger accounts, the second one for values of&amp;nbsp;the first dimension (say, Departments), and the third column for values of the second dimension (say, Cost Centers):&lt;/P&gt;
&lt;P&gt;'10510', '49', '0'&lt;BR&gt;'10511', '49', '3'&lt;BR&gt;'10600', '49', '0'&lt;BR&gt;'10600', '49', '6'&lt;BR&gt;'10600', '50', '0'&lt;BR&gt;'10651', '49', '0'&lt;BR&gt;'10651', '50', '0'&lt;BR&gt;'10800', '49', '0'&lt;BR&gt;'10811', '49', '0'&lt;BR&gt;'10900', '49', '0'&lt;/P&gt;
&lt;P&gt;and so on.&amp;nbsp;As can be seen from the sample: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;only department 49 and cost center 0 are valid for the account 10510;&lt;/LI&gt;
&lt;LI&gt;only departments 49 and 50 are valid for 10600, while cost centers 0 and 6 are valid for department 49, and cost center 0 is valid for department 50;&lt;/LI&gt;
&lt;LI&gt;the accounts 10800, 10811 and 10900 have department 49 and cost center 0 as the only valid values&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;etc.&lt;/P&gt;
&lt;P mce_keep="true"&gt;I have written a sample job that generates dimension set rules based&amp;nbsp;on this information.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Pre-conditions for the job:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;“Dept-cc” dimension set is created, composed of Department and Cost Center dimensions.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The dimension set has neither hierarchies nor rules created.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;All mentioned ledger accounts exist in the chart of accounts.&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;As a result of the job execution:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Several dimensions set hierarchies will be generated. The number of hierarchies will be less than number of accounts, because some accounts have similar validation rules.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The hierarchies will be updated and approved.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;There will be a dimension set rule collection created for “Dept-cc” dimension set.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;There will be several dimension set rules created – one per ledger account. The rules will be assigned to the rule collection.&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P mce_keep="true"&gt;The job may be found in the attachment.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1811744" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/oleksandr_nazarov/attachment/1811744.ashx" length="9779" type="text/plain" /><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dynamics+AX+4.0/default.aspx">Dynamics AX 4.0</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dimension+Set+Hierarchies/default.aspx">Dimension Set Hierarchies</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/X_2B002B00_+development/default.aspx">X++ development</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Axapta/default.aspx">Axapta</category></item><item><title>Default dimension set hierarchy</title><link>http://blogs.msdn.com/oleksandr_nazarov/archive/2007/02/09/default-dimension-set-hierarchy.aspx</link><pubDate>Fri, 09 Feb 2007 14:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1634351</guid><dc:creator>olenaz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/oleksandr_nazarov/comments/1634351.aspx</comments><wfw:commentRss>http://blogs.msdn.com/oleksandr_nazarov/commentrss.aspx?PostID=1634351</wfw:commentRss><description>&lt;P&gt;On the General tab-page of "Dimension sets" form there is a field, named "Default hierarchy". &lt;/P&gt;
&lt;P&gt;By default, if a ledger account, journal or table collection has no explicitely defined dimension set rule, than it will not be controlled by dimension sets and any dimension combinations will be valid. But if a dimension set has a hierarchy selected as "default", than everything that has no rules will be controlled by this default hierarchy.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1634351" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dynamics+AX+4.0/default.aspx">Dynamics AX 4.0</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dimension+Set+Hierarchies/default.aspx">Dimension Set Hierarchies</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Functionality/default.aspx">Functionality</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Axapta/default.aspx">Axapta</category></item><item><title>Parent dimension sets</title><link>http://blogs.msdn.com/oleksandr_nazarov/archive/2007/02/08/parent-dimension-sets.aspx</link><pubDate>Thu, 08 Feb 2007 17:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1627582</guid><dc:creator>olenaz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/oleksandr_nazarov/comments/1627582.aspx</comments><wfw:commentRss>http://blogs.msdn.com/oleksandr_nazarov/commentrss.aspx?PostID=1627582</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;So far, I have been explaining everything based on one dimension set, consisting of Department and Cost Center dimensions. We created a hierarchy and rules for some ledger accounts and free text invoice.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Now we control combinations “Department - Cost Center”, and don’t care about Purposes – any purpose is valid in any situation. Still, if we wanted to control Purpose without dependency on any other dimension, we would have to create another dimension set, specify Purpose as its one and the only component, then create a one-level hierarchy and all needed rules. Our dimension sets would not intersect in this case, so whenever we validate Purpose – one dimension set would be used, and when we validate Department or Cost Center – than another one would work.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;But let’s imagine that the Purpose dimension should also depend on another dimension, say, Cost Center. And although Cost Center is already controlled by &lt;I style="mso-bidi-font-style: normal"&gt;DepCC &lt;/I&gt;dimension set, we may create another dimension set (that will consist of Cost Center and Purpose dimensions), create a hierarchy and eventually a rule that will control ledger accounts, journals etc.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;So, open the Dimension Sets form and create another record in the upper grid, setting &lt;/FONT&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT size=3&gt;“Set” field to “&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;CCPurp&lt;/SPAN&gt;&lt;/EM&gt;”, and “Description” to “&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;Cost Center and Purpose &lt;/SPAN&gt;&lt;/EM&gt;”. Then, open Dimension tab-page. As you can see, only one dimension is available to select from (because the other two are already used in another set). Move &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;Purpose&lt;/SPAN&gt;&lt;/EM&gt; from the “Available dimensions” list to “Selected dimensions”. Good. But we need Cost Center dimension as well. So, open Parent tab-page. We have to tell the system, what dimension set we would like to share a dimension with. Here, we select “DepCC” dimension set, then mark &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt;Cost Center &lt;/SPAN&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;EM&gt;&lt;SPAN style="FONT-STYLE: normal; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-bidi-font-style: italic"&gt;in the appeared list of dimensions,&lt;/SPAN&gt;&lt;/EM&gt;&lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi"&gt; &lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;and finally press Ctrl+S to save the record. After you press Yes in a confirmation dialog, the dimension set is saved, having Cost Center as the first priority dimension, and Purpose as the second priority:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri&gt;&lt;SPAN lang=EN style="mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri"&gt;&lt;FONT size=3&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1627591/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1627591/original.aspx"&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;From now on, the Cost Center dimension is controlled by two sets! &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;So, if we had a rule for a ledger account in each of the two sets, then only Cost Centers valid for both rules would be available for entry. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Let’s check this behavior. As you may see&amp;nbsp;in&amp;nbsp;my first post about dimension sets, the “110180 - Petty cash” ledger account has a rule for “Department – Cost Center” dimension set, and according to this rule the dimension entry for this account is controlled with DepCC1 dimension set hierarchy. Let’s imagine that we would like to apply new restriction onto this account: &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Only Cost Centers 1020 and 3010 are valid;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;For Cost Center 1020 - only Purpose M010 is valid, and for Cost Center 3010 – only Purposes starting with ‘P’ are valid.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;So, we have to create a dimension set hierarchy for “CCPurp” set. In the Designer, it should eventually look like this:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1627593/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1627593/original.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Now, mark &lt;I style="mso-bidi-font-style: normal"&gt;Check &lt;/I&gt;checkbox and then mark &lt;I style="mso-bidi-font-style: normal"&gt;Simulate&lt;/I&gt; checkbox.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1627594/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1627594/original.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The hierarchy has no duplicate errors. Press the enabled &lt;I style="mso-bidi-font-style: normal"&gt;Update&lt;/I&gt; button and close the designer. On the “Dimension sets” form, mark the hierarchy as Approved and then open the “Dimension Set Rules” form.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Now, in the “Dimension Set Rules” form create a Collection named “Accounts”, and select the just created hierarchy:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1627596/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1627596/original.aspx"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;And finally, create a record in the lowest grid, setting a dimension set rule for the Petty Cash ledger account:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1627597/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1627597/original.aspx"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;(As you might notice, the Hierarchy value is automatically substituted – it is just copied from the collection setup. You may select another hierarchy for a detailed rule, if you wish.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;So, the ledger account 110180 has two rules now – one per dimension set.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Let’s create a new General journal and create a journal line, setting Account to 110180. If you consequently opened lookup form for each of the Dimensions now, you would see 2 values for Department, 2 for Cost Center and 6 for Purpose. But, set Cost Center to 3010 and check the lookups again. You can see the difference: only one department is valid from now on.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1627599/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1627599/original.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;And only purposes starting with ‘P’ are selectable. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1627600/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1627600/original.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;This is the result of intersection of the two rules: all the 3 dimensions are validated together for the ledger account 110180.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Of course, it is also possible to create one dimension set consisting of all the 3 dimensions, and then create a 3-level hierarchy. But if there were dozens or even hundreds of dimension values in the system, then the number of valid combination would be so huge, that the hierarchy simulation would take several hours (if not days!). It is much more convenient to have several small sets (linked together through shared dimension) and several small hierarchies for these sets.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;And this is it about the parent dimension sets.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1627582" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dynamics+AX+4.0/default.aspx">Dynamics AX 4.0</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dimension+Set+Hierarchies/default.aspx">Dimension Set Hierarchies</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Functionality/default.aspx">Functionality</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Axapta/default.aspx">Axapta</category></item><item><title>Prefixes and dimension set rules</title><link>http://blogs.msdn.com/oleksandr_nazarov/archive/2007/02/06/prefixes-and-dimension-set-rules.aspx</link><pubDate>Tue, 06 Feb 2007 17:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1612071</guid><dc:creator>olenaz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/oleksandr_nazarov/comments/1612071.aspx</comments><wfw:commentRss>http://blogs.msdn.com/oleksandr_nazarov/commentrss.aspx?PostID=1612071</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;When setting up dimension set rules, sometimes it is necessary to limit the range of valid dimension combinations even more. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Find my first &lt;A class="" href="http://blogs.msdn.com/oleksandr_nazarov/archive/2007/01/27/dimension-set-hierarchies.aspx" target=_blank mce_href="http://blogs.msdn.com/oleksandr_nazarov/archive/2007/01/27/dimension-set-hierarchies.aspx"&gt;post&lt;/A&gt; about Dimension Set Hierarchies functionality, and look at the use case: there are only 2 departments and several cost centers valid for “110180 - Petty cash” ledger account. But let’s imagine that we have another account “120210 - Bonds”, and we want to restrict the valid combinations down to “department 10 - cost center 1010”.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The hierarchy DepCC1 contains this combination already. So, we select this hierarchy when setting up a rule for bonds account, and then we specify a prefix for this rule, narrowing the range of combinations inside the hierarchy down to one:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1612036/original.aspx" border=0&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Now,&amp;nbsp;create a General journal line and select the account 120210. As you can see,&amp;nbsp;only department 10 and cost center 1010 are selectable in the appropriate dimension lookup forms. And if you tried to enter a cost center other than 1010 (say – 1020), than you would eventually get a validation error “&lt;EM&gt;Dimension set value 10 - 1020 on set DepCC is not authorized on hierarchy DepCC1 with prefix 10 - 1010&lt;/EM&gt;”.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;When setting up prefixes, you may leave them blank (filled with ‘?’s) – then the whole hierarchy will do. Or you may specify one or more dimension values in the prefix and make the hierarchy more “narrow” for a particular rule. So, if we specified a rule for a Free Text Invoice like this (fixing the cost center selection with 1020, which is valid for both departments in our hierarchy):&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1612038/original.aspx" border=0&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Then, when creating a free text invoice (Account Receivable &amp;gt; Free text invoice), we might be able to select any of the two departments, but only one cost center:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1612039/original.aspx" border=0&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;We might equally well create new hierarchies for the second and the third rule and don't use prefixes, but prefixes allow us use only one hierarchy&amp;nbsp;in our case.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1612071" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dynamics+AX+4.0/default.aspx">Dynamics AX 4.0</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dimension+Set+Hierarchies/default.aspx">Dimension Set Hierarchies</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Functionality/default.aspx">Functionality</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Axapta/default.aspx">Axapta</category></item><item><title>Dimension Set Hierarchies</title><link>http://blogs.msdn.com/oleksandr_nazarov/archive/2007/01/27/dimension-set-hierarchies.aspx</link><pubDate>Sat, 27 Jan 2007 19:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1543798</guid><dc:creator>olenaz</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/oleksandr_nazarov/comments/1543798.aspx</comments><wfw:commentRss>http://blogs.msdn.com/oleksandr_nazarov/commentrss.aspx?PostID=1543798</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;This post is supposed to help people understand how Dimension Set Hierarchies functionality should be used in Microsoft Dynamics AX 4.0 (earlier known as Axapta). &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;As far as I know, there is still no official whitepaper. Help texts exist, but don’t reflect the logic of the feature. I will try to fill this gap.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;So, first of all: why do we need this feature? Sometimes we have to control dimensions entry to a transaction, e. g. along with Department A we may enter either Cost Center 1000 or Cost Center 1001, but prohibit Cost Center 2000. Sometimes we want such control to be applied on a particular ledger account, sometimes – on a particular journal. And we may also need to control dimensions entry for a group of related tables. This is what Dimension Hierarchies are used for.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Note: the examples below are based on a demo company, provided with the installation CD.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Let's set up the feature from scratch.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Use case:&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;There is a ledger account “110180 - Petty Cash”. We want to make sure, that whenever we use this account for posting, it is controlled by the following rules: &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;either General or Finance department may be selected, and all the rest are not valid;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;whenever General department is selected – any cost center is allowed, but if Finance department is used – only cost centers 2010 and those starting with 1* are allowed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;OK, now we have to set up the system so that these rules are followed. This is very simple: we have to set up 3 things one after another: a &lt;STRONG&gt;dimension set&lt;/STRONG&gt;, a &lt;STRONG&gt;dimension set hierarchy&lt;/STRONG&gt; and finally a &lt;STRONG&gt;dimension set rule&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Before we begin, make sure that one of the parameters is set up: open “General Ledger &amp;gt; Setup &amp;gt; Parameters” and go to “Number sequences” tab-page. There is a reference named “Dimension priority ID”. If it is empty, then set it up by selecting any number sequence from the lookup. You will not find the generated values anywhere in the user interface because they are used internally, so just set this parameter up and close the Parameters form. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Then, we have to create a &lt;STRONG&gt;dimension set&lt;/STRONG&gt;. A dimension set defines that one dimension depends on another one (note, that particular dimension values are not mentioned at this stage). In our case Cost Centers depend on Departments, therefore we have to create a dimension set, where Department dimension has the first priority, and Cost Center goes after. Open “General ledger &amp;gt; Setup &amp;gt; Dimensions &amp;gt; Dimension sets” menu item. You will see a form with two grids. In the upper grid, create a new record, setting “Set” field to “&lt;EM&gt;DepCC&lt;/EM&gt;”, and “Description” to “&lt;EM&gt;Department and Cost Center&lt;/EM&gt;”. Then open Dimension tab-page, move &lt;EM&gt;Department&lt;/EM&gt; from the “Available dimensions” list to “Selected dimensions”, then move &lt;EM&gt;Cost center&lt;/EM&gt; and finally press Ctrl+S to save the record. After you press Yes in a confirmation dialog, the dimension set is saved:&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543599/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543599/original.aspx"&gt;&lt;BR&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/photos/olenaz/picture1543599.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/olenaz/picture1543599.aspx"&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;After we have specified what dimension depends on what, we have to create a &lt;STRONG&gt;dimension set hierarchy&lt;/STRONG&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We have just saved the dimension set, so the “Dimension set hierarchy” grid in the lower part of the form has become available for edition. &lt;BR&gt;Create a new record in the grid, setting “Hierarchy” field value to “&lt;EM&gt;DepCC1&lt;/EM&gt;” and “Description” to “&lt;EM&gt;Hierarchy 1&lt;/EM&gt;”. After that, press “Structure designer” button. You will see the designer form, with a tree structure in the left part, and a grid in the right. This is where we specify valid dimension values. As you remember, the only departments we would like to be valid for our account are General and Finance. Drag these departments one by one from the grid and drop them onto the “Company” node in the tree:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543606/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543606/original.aspx"&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;FONT face=Calibri size=3&gt;The first priority dimensions are defined. &lt;BR&gt;As we remember, any cost center is allowed for the first department; therefore we will not add any sub-nodes to “10 - General”. &lt;BR&gt;So, select “90 - Finance” tree node and press “Create” action button in the left part of the form. Now the designer is in the node creation mode. Set “Row name” to “&lt;EM&gt;CCsForFinance&lt;/EM&gt;”, and “Row description” to “&lt;EM&gt;Cost centers valid for Finance&lt;/EM&gt;”:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1546629/original.aspx" border=0&gt;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Then go to “Setup” tab-page of the same tab, change “Topic” field to “&lt;EM&gt;Cost center&lt;/EM&gt;”, set “Value” to “&lt;EM&gt;2010, 1*&lt;/EM&gt;” and press Ctrl+S. You can see that the Finance department has a sub-node now:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/photos/olenaz/images/1546631/original.aspx" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1546631/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;The hierarchy is constructed.&lt;BR&gt;But still we have to make it available for future use in the dimension set rules. In order to do that, we have to simulate the hierarchy, to see all the valid combinations “department – cost center”. But, before we simulate the hierarchy, we&amp;nbsp;mark “Check” checkbox, so that any duplicate combinations will be found (if any), and only after that we mark “Simulate” checkbox, to run the simulation process. As a result, we see another structure:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/photos/olenaz/images/1546633/original.aspx" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1546633/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;The nodes with ”yellow scroll” icon represent valid dimension combinations (“blank list” nodes are not meaningful here so don’t pay attention to them). Well, we have generated all valid combinations – then we have to save them to make the hierarchy available for use. Press “Update” button in the right part of the designer (it becomes enabled as soon as&amp;nbsp;we have the hierarchy simulated and there are no duplicates in the structure). After that the “Last updated” field in the form header is automatically set to the system date, and “Updated” checkbox is marked. The hierarchy is updated.&lt;BR&gt;Close the designer form. You can see, that on "Dimension sets" form one of the checkmarks in front of the hierarchy name is marked now:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543611/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543611/original.aspx"&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;FONT face=Calibri size=3&gt;The hierarchy is updated, but we have to approve it, so mark the second checkbox:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543612/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543612/original.aspx"&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;The hierarchy is updated and approved. Now we can proceed with the final step.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;We have created the dimension set and the dimension set hierarchy. After that, we have to create a &lt;STRONG&gt;dimension set rule &lt;/STRONG&gt;-&amp;nbsp;to attach our validation rules to the ledger account.&lt;BR&gt;Find “Dimension set rules” button on the “Dimension sets” form, and press it to open “Dimension set rules” form. You can see three grids in the form. The second grid represents dimension set rule collections, attached to the current dimension set (we may group dimension set rules to virtual collections and give these collections names). So, create a record in the collections grid and set its “Code” to “AccRules” and “Description” to “Rules for ledger accounts”:&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543613/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543613/original.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;The collection is created, now we may create dimension set rules, attached to this collection. Create a new record in the third grid, which actually represents dimension set rules. Set “Object type” to “Ledger account”, “Identification” to “110180”, and “Hierarchy” to “DepCC1”, and save the record. &lt;BR&gt;&lt;BR&gt;&lt;A href="http://blogs.msdn.com/photos/olenaz/images/1546636/original.aspx" target=_blank&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1546636/original.aspx" border=0&gt;&lt;/A&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;We have just created the dimension set rule for the “Petty cash” ledger account. You may close both the “Dimension set rules” and “Dimension sets” forms now.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;The validation rule is ready, but the system will not use it until we set up the final parameter: open “General ledger &amp;gt; Setup &amp;gt; Parameters” form and set “Activate sets” parameter to “At update and posting”.&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543615/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543615/original.aspx"&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;Congratulations! You have just made the dimension sets feature up and running!&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo2"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Would you like to see the effect? Then open “General ledger &amp;gt; Journals &amp;gt; General journal” form and create a new journal, then press “Lines”.&lt;BR&gt;In the journal lines form, create a new line&amp;nbsp;(but don’t modify any fields for now!) and&amp;nbsp;press the lookup button of the Department dimension:&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543617/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543617/original.aspx"&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;FONT face=Calibri size=3&gt;You can see, that the lookup form has changed – now it has 3 tabs, and the first tab “Selectable” contains all departments. Any department may be selected at this point. But don’t select any department; instead, set “Account” field of the journal line to 110180:&lt;BR&gt;&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543618/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543618/original.aspx"&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;And press the Department lookup button again:&lt;BR&gt;&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543619/original.aspx" border=0 mce_src="http://blogs.msdn.com/photos/olenaz/images/1543619/original.aspx"&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;FONT face=Calibri size=3&gt;As we can see, only&amp;nbsp;two departments are selectable now. Select the Finance department. The department dimension is set up. Press the lookup button of the Cost center dimension:&lt;BR&gt;&lt;BR&gt;&lt;IMG src="http://blogs.msdn.com/photos/olenaz/images/1543621/original.aspx" border=0&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;These four cost centers are indeed the only cost centers valid for Finance department. The dimension set rule works as expected! We may select one of these values, say, 1010 Building, and our Department and Cost center dimensions are set up.&lt;BR&gt;By the way, if you opened the lookup form of the Purpose dimension, all purposes would be selectable, because we don’t have any dimension set rules controlling purposes.&lt;BR&gt;Now, we may proceed with the journal lines edition, validation and posting.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1543798" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dynamics+AX+4.0/default.aspx">Dynamics AX 4.0</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Dimension+Set+Hierarchies/default.aspx">Dimension Set Hierarchies</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Functionality/default.aspx">Functionality</category><category domain="http://blogs.msdn.com/oleksandr_nazarov/archive/tags/Axapta/default.aspx">Axapta</category></item></channel></rss>