IBM Apptio

Apptio

A place for Apptio product users to learn, connect, share and grow together.


#Aspera
#Apptio
#Automation
#FinOps
#Apptio
#ITAutomation
 View Only
  • 1.  Circular Reference

    Posted 08/31/16 01:59 PM

    I am in the dreaded circular reference spiraling nowhere and need help! 

     

    1. I have three files: Apps Transform, CMDB Transform, and CMDB Server Transform
    2. The Apps Transform is the authoritative source for the App ID
    3. The CMDB Transform has a server along with its respective app (app has to be validated)
    4. The CMDB Servers Transform has all of the server details and no app
    5. I do a lookup in CMDB Transform from Apps Transform to ensure that the app is valid
    6. Then I do a lookup in CMDB Servers Transform from CMDB Transform to pull in the app using the server name
    7. NOW I want to have some sort of data point in Apps Transform that says 'yes, this app is tied to a server'
    8. I thought I could do that by doing a lookup to the CMDB Servers Transform, but no... CIRCULAR REFERENCE...

     

    Any idea on how to make this work?  I don't need to return the App ID or anything - just need to pull something back that I can use on the allocation line as a filter - e.g., send dollars from Non-Matching Servers to App where 'x' is/is not null. Something to that effect...  Any help mucho appreciated!!

     






    #CostingStandard(CT-Foundation)


  • 2.  Re: Circular Reference

    Posted 08/31/16 02:17 PM

    Not necessarily a fix, but maybe a workaround - instead of filtering the allocation line based on the App Transform, I just did it using the CMDB Servers Transform - that seemed to work!!!


    #CostingStandard(CT-Foundation)


  • 3.  Re: Circular Reference
    Best Answer

    Posted 08/31/16 03:02 PM

    When you get a circular reference sometimes creating a transform of a transform helps


    #CostingStandard(CT-Foundation)


  • 4.  Re: Circular Reference

    Posted 08/31/16 03:09 PM

    Thank you!!  I had tried a Generated Table and that didn't work, so will try a new transform.  Would feel more comfortable filtering against that than with the CMDB file.


    #CostingStandard(CT-Foundation)


  • 5.  Re: Circular Reference

    Posted 09/10/16 10:38 PM

    Hey Lauren, able to get back at this again.  I thought I had a solution.  I needed something on the allocation line going from Non-Matching Servers to Applications to say 'only send costs if app in the App transform is noted in the CMDB transform'.  That's why I was trying to create a column in the App transform that said 'CMDB Match'.  I thought I got around it by instead pointing to the CMDB transform itself - saying if Valid App column is null, send costs, but that doesn't seem to work.  Guessing it's because I'm referencing the source object and not the target.  I've tried a Generated Table and a transform of the transform and it still gives me the dreaded circular reference.  Just recently tried creating a transform of the Servers Master, but that resulted in the same.  The transform I'm having to use, though, does a lookup against the app file that has the app ID.  There's two CMDB transforms - one has the server details and one has the app details (it's complicated ), so I have to pull the app number in from one, and then lookup against the App transform to see if the app is "valid" or not because sometimes they app# in the CMDB data isn't any good or references a retired or deleted app that we do not have in our Applications Master.  Any ideas are very much appreciated! @Lauren Griessel @Chris Davidson


    #CostingStandard(CT-Foundation)


  • 6.  Re: Circular Reference

    Posted 09/10/16 10:54 PM

    Well I "thought" I had it - I did a lookup using the keys instead with the intention of then doing a trim/split to get the app#.  The preview window was showing the results and I was elated, but then I hit save, and there it was... circular reference...  doh!

     


    #CostingStandard(CT-Foundation)


  • 7.  Re: Circular Reference

    Posted 09/11/16 03:16 PM

    FIXED!!!!  So @Lauren Griessel, I did wind up creating a transform of a transform, but switched the order of lookups around so that the CMDB transform looked up against the 'new app transform', and then I could reference that in the app transform that backed the apps master without getting a circular reference error.  A bit of a workaround, but hey, it works!   


    #CostingStandard(CT-Foundation)


  • 8.  Re: Circular Reference

    Posted 09/12/16 10:49 AM

    Yes, that is always a good option! I should have said that in my initial reply, it would have saved you some time but this way you will never forget the work around! So glad it works and good job on all the troubleshooting.


    #CostingStandard(CT-Foundation)


  • 9.  Re: Circular Reference

    Posted 09/12/16 11:11 AM

    Thank you - love the troubleshooting side of it - that's the fun part


    #CostingStandard(CT-Foundation)