{"id":3472,"date":"2023-04-12T15:33:22","date_gmt":"2023-04-12T15:33:22","guid":{"rendered":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/"},"modified":"2026-01-20T16:27:21","modified_gmt":"2026-01-20T16:27:21","slug":"ibm-planning-analytics-advanced-attribute-manipulation-part-2","status":"publish","type":"post","link":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/","title":{"rendered":"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2"},"content":{"rendered":"<p>This article is the second part of a 3-part series exploring attribute manipulations with Turbo Integrator (TI) processes. In Part 1 of the series, which can be found <a href=\"https:\/\/quebit.com\/askquebit\/?post_type=ibm&amp;p=2284&amp;preview=true\">here<\/a>, we saw how to check if an attribute exists and insert it and then how to check its type.<\/p>\n<p>We will now continue with a more advanced example on what to do once we find a certain type of attribute.<\/p>\n<h1>Creating a subset with only Alias attributes<\/h1>\n<p>There are situations when we may need to loop through a dimension in order to perform some tasks for each element. (In this example, we will use the dimension <strong>plan_business_unit i<\/strong>n the Planning Analytics <strong>Planning Sample <\/strong>model).<\/p>\n<p>An attribute dimension is a \u201ccontrol\u201d dimension with a combination of string, numeric and alias type elements. We often have the task to find specific element types and create a subset or export a file.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2293 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/06\/M1-min.jpg\" alt=\"\" width=\"348\" height=\"412\" \/><\/p>\n<p>In the example below, the code has the steps necessary to perform the task of looping through a control dimension, then creating a subset and exporting a file:<\/p>\n<ol>\n<li>The code first specifies a set of variables with the dimension name, the name of the subset to create and the export location where you want the elements to be exported.<\/li>\n<li>We use the <strong>SubsetExists<\/strong> function to check if the subset already exists, if yes, then delete it (because will create it again with new elements), using the <strong>SubsetDestroy<\/strong> function.<\/li>\n<li>We use the <strong>WHILE<\/strong> function to loop through the dimension<strong>, <\/strong>then performing a check of the each element\u2019s type using the <strong>DTYPE<\/strong> function, then adding elements that meet the criteria to our subset and also to an export file. We use functions <strong>SubsetElementInsert <\/strong>and <strong>ASCIIOUTPUT, <\/strong>respectively.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2290 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/06\/M2-min.jpg\" alt=\"\" width=\"407\" height=\"350\" \/><\/p>\n<p><em>Note: as noted in<a href=\"https:\/\/quebit.com\/askquebit\/?post_type=ibm&amp;p=2284&amp;preview=true\"> Part 1<\/a> of this article\u2019s series, ElemType=AA refers to alias elements in a control dimension.<\/em><\/p>\n<p>The result of the above code is a subset called <strong>Dim Alias List <\/strong>and an *.txt file<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2291 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/06\/M3-min.jpg\" alt=\"\" width=\"323\" height=\"308\" \/><\/p>\n<h1>Setting an attribute format<\/h1>\n<p>A very common use of the <strong>WHILE <\/strong>function for looping through dimensions is when we have large dimensions. For instance, we may want to set a numeric format for all Numeric (N) elements in a dimension. If the dimension is very large, this can take a very long time to do manually. But we can be more efficient by doing it via TI as shown in the code below with the following steps:<\/p>\n<p>1. We first set a variable with the dimension name<\/p>\n<p>2. We then use the <strong>DIMIX<\/strong> function to check if the attribute called <strong>Format <\/strong>exists<\/p>\n<p style=\"padding-left: 40px;\"><em>a. Note: If this is a new dimension, the <strong>Format <\/strong>attribute will not be created automatically by the system, so we need to check if it exists.<\/em><\/p>\n<p>3. If the <strong>Format <\/strong>attribute doesn\u2019t exist then add it, otherwise we will get an error on the next step.<\/p>\n<p>4. USE the <strong>WHILE<\/strong> function to loop through the dimension elements and only add formatting to Numeric elements.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2292 alignnone\" src=\"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/06\/M4-min.jpg\" alt=\"\" width=\"335\" height=\"288\" \/><\/p>\n<p>We will continue exploring attribute manipulations in a Part 3 article found <a href=\"https:\/\/quebit.com\/askquebit\/?post_type=ibm&amp;p=2294&amp;preview=true\">HERE<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article is the second part of a 3-part series exploring attribute manipulations with Turbo Integrator (TI) processes. In Part 1 of the series, which can be found here, we saw how to check if an attribute exists and insert it and then how to check its type. We will now continue with a more&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[38,36,51],"class_list":["post-3472","post","type-post","status-publish","format-standard","hentry","category-ibm","tag-how-tos","tag-planning-analytics","tag-planning-analytics-how-tos"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2 - QueBIT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2 - QueBIT\" \/>\n<meta property=\"og:description\" content=\"This article is the second part of a 3-part series exploring attribute manipulations with Turbo Integrator (TI) processes. In Part 1 of the series, which can be found here, we saw how to check if an attribute exists and insert it and then how to check its type. We will now continue with a more&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"QueBIT\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-12T15:33:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-20T16:27:21+00:00\" \/>\n<meta name=\"author\" content=\"agoddard\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"agoddard\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/\"},\"author\":{\"name\":\"agoddard\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/e52d72da0fd2f5f70d189343fe4f5084\"},\"headline\":\"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2\",\"datePublished\":\"2023-04-12T15:33:22+00:00\",\"dateModified\":\"2026-01-20T16:27:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/\"},\"wordCount\":509,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/M1-min.jpg\",\"keywords\":[\"How To\u2019s\",\"Planning Analytics\",\"Planning Analytics How To's\"],\"articleSection\":[\"IBM\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/\",\"name\":\"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2 - QueBIT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/M1-min.jpg\",\"datePublished\":\"2023-04-12T15:33:22+00:00\",\"dateModified\":\"2026-01-20T16:27:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/e52d72da0fd2f5f70d189343fe4f5084\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/M1-min.jpg\",\"contentUrl\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/M1-min.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#website\",\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/\",\"name\":\"QueBIT\",\"description\":\"QueBIT\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/#\\\/schema\\\/person\\\/e52d72da0fd2f5f70d189343fe4f5084\",\"name\":\"agoddard\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g\",\"caption\":\"agoddard\"},\"sameAs\":[\"https:\\\/\\\/quebit.com\\\/askquebit\"],\"url\":\"https:\\\/\\\/quebit.com\\\/askquebit\\\/author\\\/agoddard\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2 - QueBIT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/","og_locale":"en_US","og_type":"article","og_title":"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2 - QueBIT","og_description":"This article is the second part of a 3-part series exploring attribute manipulations with Turbo Integrator (TI) processes. In Part 1 of the series, which can be found here, we saw how to check if an attribute exists and insert it and then how to check its type. We will now continue with a more&hellip;","og_url":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/","og_site_name":"QueBIT","article_published_time":"2023-04-12T15:33:22+00:00","article_modified_time":"2026-01-20T16:27:21+00:00","author":"agoddard","twitter_card":"summary_large_image","twitter_misc":{"Written by":"agoddard","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/#article","isPartOf":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/"},"author":{"name":"agoddard","@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/e52d72da0fd2f5f70d189343fe4f5084"},"headline":"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2","datePublished":"2023-04-12T15:33:22+00:00","dateModified":"2026-01-20T16:27:21+00:00","mainEntityOfPage":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/"},"wordCount":509,"commentCount":0,"image":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/06\/M1-min.jpg","keywords":["How To\u2019s","Planning Analytics","Planning Analytics How To's"],"articleSection":["IBM"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/","url":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/","name":"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2 - QueBIT","isPartOf":{"@id":"https:\/\/quebit.com\/askquebit\/#website"},"primaryImageOfPage":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/#primaryimage"},"image":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/06\/M1-min.jpg","datePublished":"2023-04-12T15:33:22+00:00","dateModified":"2026-01-20T16:27:21+00:00","author":{"@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/e52d72da0fd2f5f70d189343fe4f5084"},"breadcrumb":{"@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/#primaryimage","url":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/06\/M1-min.jpg","contentUrl":"https:\/\/quebit.com\/askquebit\/wp-content\/uploads\/2022\/06\/M1-min.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/quebit.com\/askquebit\/ibm-planning-analytics-advanced-attribute-manipulation-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/quebit.com\/askquebit\/"},{"@type":"ListItem","position":2,"name":"How Do I Perform Advanced Attribute Manipulation in IBM Planning Analytics? \u2014 Part 2"}]},{"@type":"WebSite","@id":"https:\/\/quebit.com\/askquebit\/#website","url":"https:\/\/quebit.com\/askquebit\/","name":"QueBIT","description":"QueBIT","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/quebit.com\/askquebit\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/quebit.com\/askquebit\/#\/schema\/person\/e52d72da0fd2f5f70d189343fe4f5084","name":"agoddard","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d817b364cff1d66116debde8d1c85e5e76eeece9c5ae731b19276a6040231455?s=96&d=mm&r=g","caption":"agoddard"},"sameAs":["https:\/\/quebit.com\/askquebit"],"url":"https:\/\/quebit.com\/askquebit\/author\/agoddard\/"}]}},"_links":{"self":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/3472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/comments?post=3472"}],"version-history":[{"count":2,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/3472\/revisions"}],"predecessor-version":[{"id":5097,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/posts\/3472\/revisions\/5097"}],"wp:attachment":[{"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/media?parent=3472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/categories?post=3472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quebit.com\/askquebit\/wp-json\/wp\/v2\/tags?post=3472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}