(Update 1 – As of 10/24/2016 9:50 am (EST) – Please look at the end for update details)

We’ve seen many Developers requesting for a feature that would help to rename Objects in bulk. One such idea was created in Idea Place, hoping that feature becomes a reality, and hopefully save hours of work.
Bulk Objects Renaming in IDT – D32795

Actually, there is already a way to rename Objects. Let’s take that a step further, and see how to rename:

Below things in Business Layer:

  1. Universe name
  2. Universe description
  3. Folder name (Sub Folder as well)
  4. Folder description
  5. Dimension name (Object name)
  6. Dimension SELECT Property (meaning the text in Select clause. Ex: TableName.ColumnName or something in a Case statement)
  7. Dimension List of Values Name (an LOV of a dimension object)
  8. Measure Name
  9. Measure Description
  10. Measure SELECT Property (meaning the text/formula in Select clause of a Measure object)
  11. Attribute Name
  12. Attribute Description
  13. Attribute SELECT Property (meaning the text/formula in Select clause of an Attribute)
  14. Filter Name
  15. Filter Description
  16. Filter WHERE Property (meaning the text in WHERE clause. Ex: TableName.ColumnName = ‘value’ or if you have a complex filter with Case statement)
  17. This list may have a few more things, frankly speaking, I didn’t bother to research further.

And below things in Data Foundation Layer:

  1. Physical Column name
  2. Derived Table name
  3. Derived Table description
  4. SQL in Derived table (column in derived table o
  5. Data Foundation View
  6. Data Foundation View description
  7. Condition in a Join (or Filter on a column in a table a.k.a. Self join)
  8. Family Name
  9. Family Description
  10. Comment cell
  11. This list may have a few more things, frankly speaking, I didn’t bother to research further.

How to do it? Simple.

For this demo purpose, I’ve updated the Xtreme Sample Universe, by adding the text ‘abcde’ as prefix/suffix/in description/select clause/where clause… to most of the things from the above list for Business Layer items. Meaning, I updated:

  1. Universe name as “Xtreme Sample Universe abcde”
  2. Universe description as “Test description abcde”
  3. “Customer” folder name as “Customer abcde”
  4. “Customer” folder description as “Customer description abcde”
  5. “Customer Id” object name as “Customer Id abcde”
  6. “Customer Id” objects description as as “Customer Id description abcde”
  7. Select clause of “Customer Id object” as “Customer.Customer ID abcde”
  8. and so on, check out the images.

Steps to rename Business Layer related items:

1. Open the Business Layer, in the File menu bar on top left, click Edit -> and click Find/Replace.

2. In the Find/Replace window that opens up (which is similar to find/replace in Microsoft Word Document), in Find What area, type in “abcde” and click Find. Let’s see what we get, after the update I made to the Universe for this demo.

3. Check the boxes of all the items you want to rename or, if you want to rename all the items in the list, click on Check All on the bottom right, and write the text whatever you want to rename with, in the Replace with (for selected objects) space and click Replace. For demo, let’s replace abcde in all the items with 12345.

4. We see a dialog box that says Find/Replace has been done on the 15 items checked. Close this window by clicking OK.

5. Testing the changes – Check the Business Layer Name, Description and other items as shown in the below images.

Voila, we got it.

Now, coming to the Data Foundation Layer:

For this demo purpose, I’ve updated the Xtreme Sample Universe, by adding the text ‘abcde’ as prefix/suffix/in description/join condition/comment/derived table name/derived table description… of most of the items from the above list for Data Foundatio Layer items. Meaning:

  1. Updated Data Foudation name as “Xtreme DFX abcde”
  2. Updated Data Foundation’s description as “Xtreme DFX description abcde”
  3. Created a join/filter on table/self join as Customer.Customer Name = ‘abcde’
  4. Created a Derived table “Customer_dim_abcde”, having description, a column name with abcde as suffix, and a where clause searching for abcde
  5. Created a “Comment” in the structure as “Test comment abcde”
  6. Created a Family as “Test Family abcde”
  7. and/or other things, check out the images


Steps to rename Data Foundation Layer related items: (let’s cut this short)

1. Open the Data Foundation Layer, in the File menu bar on top left, click Edit -> and click Find/Replace.

2. In Find What, type in abcde and click Find, this is what we see.

3. Click Check All on bottom right, type in 12345 in Replace with (for selected objects) space and click Replace.

4. A dialogue box appears with the confirmation, click OK to close it.

5. Testing the changes – Check the Business Layer Name, Description and other items as shown in the below images.

Voila, we got it, it was a simple test though..

Few real time simple scenarios, where I’ve used this, were to:

  1. Replace the abbreviation Id with ID (in all the objects that had Id in their name)
  2. Replace the abbreviation Qtr with Quarter (in all the Quarter objects in different dates folders)
  3. Replace the abbreviation Cust with Customer (in all the objects under Customer folder)
  4. Replace the abbreviation Prod with Product (in all the objects under Product folder)

Few real time complex scenarios, where I’ve used this:

  1. When there was a change at database level, name of one of the tables, and all its columns changed, by replacing abbreviation org with its full form organisation (this had to be done in the Data Foundation Layer)
  2. In addition to 1, we had to change Select property which has case statement applied, as org was renamed as Organisation. (this had to be done in the Business Layer)

Hope that helps, thanks for reading this blog – comments and/or feedback is welcome.

Update 1 – As of 10/24/2016 9:50 am (EST):
There is one thing missing, which can be called a bug, and which I came to know about from this idea.
IDT Find/Replace should replace table name reference in the dimension and measures (D30697)

Using the Find/Replace option, if and when we change table name from the SELECT Property of Dimension/Measure/Attribute/Filter object (which are item numbers 6, 10, 13, and 16 on the list from Business Layer), the reference table doesn’t change, and the validation fails with errors.

Check out that idea for more details with screenshots, please vote up on it, hopefully we get enough votes and that potential bug is addressed.
(End of Update 1)

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Atul Chowdhury

    Exactly the kind of technical deep-dive w/ screenshots that make blogs on SCN so useful when done right.

    Thanks, Mahboob.  I’ll be sure to share these tips with our team and refer them to your post!

    (1) 

Leave a Reply