Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

Β View Only
Expand all | Collapse all

Dynamically Include Spec Attributes as Columns in BIRT Report?

  • 1.  Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Mon March 21, 2022 06:10 PM

    Hi everyone, a warm welcome from New Zealand today.

    I'm looking to export Asset data as an excel spreadsheet, and am looking for one row per Asset.

    The columns will include some base Asset Data (number, description, location etc) but then I want the columns after that to be Assets Attributes (say flowrate, pump type, max pressure etc if the Asset Class was a Pump) and to list their current Spec Values.

    So far this is pretty easy, and can be done by selecting certain Attributes as columns.
    However... I want the attribute columns to change dynamically based on the Asset Classification of interest.

    I want this to be a multiple purpose report, for use across any nominated Asset classification, so specifically do not want to hard code the attribute column headers.  The should be dynamic and adjust each time the report is run, and include only the attributes relevant to that class of Asset.

    I'm envisaging perhaps a compulsory report parameter of Classification Code you must select when launching the report.

    The report would then be run against the list screen results query Assets, and the attribute columns included would match the Classification Code nominated.  (Could also take the classification of the first Asset result to identify the Attributes columns required etc - open to ideas here).

    Has anyone done anything like this?

    Asset Attributes are a big part of holding data in Maximo, but getting that data out again efficiently is proving quite challenging, and given the number of Asset Classifications we have, and the unique combinations of attributes within each, I really do not want to have to hard code a BIRT report for each individual Asset Class.

    Hopefully the above is clear, but let me know if it's coming across too vague.

    Thoughts and feelings appreciated!

    Regards,

    Richard



    ------------------------------
    Richard Jackson
    Asset Information and Systems Manager
    Massey University
    Palmerston North
    New Zealand
    ------------------------------


    #AssetandFacilitiesManagement
    #Maximo


  • 2.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 22, 2022 12:00 PM
    Richard,

    The basic problem you have is a math problem having to do with n number of attributes stored in rows that you want to turn in to columns for any given asset.  It occurs to me that your desire to have a single row per asset despite the variety of asset attributes per asset could make the output a bit unwieldy.  How many distinct asset attributes do you have?  Depending on your classification hierarchy and the use of attributes based on the classification, is it possible to have more attributes in total on your output table than an excel spreadsheet can handle?  In either case the Assetspec object should contain the data you need.

    Have looked at the MXAPIASSET object structure and have you tried exporting with that?  That Object structure contains the asset specification information you are looking to get out of the system.  That will produce more than one row per asset, since the ASSETATTRID attribute necessarily produces EITHER an ALNVALUE or a NUMVALUE and you do not know which is which until you examine each row individually.  (BTW this also means and expensive processing time to rationalise each attribute for singular row output on your transposition in BIRT report.).

    If your goal is to simplify the outbound processing, it occurs to me the MIF may provide an easier (less friction in your transaction processing time overall) path for getting the data out.  What is goal of having all assets on a single row?  Easier analysis?  You may need a two step approach.  I seem to recall many years ago a similar problem.  I think we solved it first with a stored procedure to do the data transposition and rationalisation (i.e. NUMVALUE and ALNVALUE into single column) then we did a report (Actuate, circa 2003-7. It was a long time ago.).

    I know it is not much but I hope this helps.

    ------------------------------
    Bradley K. Downing , MBA
    Solutions Engineer
    IBM
    Bakersfield CA
    ------------------------------



  • 3.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 22, 2022 05:47 PM

    Hi Bradley, thanks for your thoughts on this.

    A few points spring to mind here:

    My hope was to restrict the number of attributes columns to those present on the nominated Asset Classification.  For most of our Assets this would therefore be less than 20 columns.  This approach would not list every single attribute in Maximo so would be nowhere near the maximum excel column numbers.

    The requirement is to produce reports that are in a format expected by users.  Classic example would be say an energy audit of rooms in a building.

    They'd be looking for a list of Assets grouped by room, with columns for the various attribute values (kW rating, lighting fixture type, Quantity etc), so they can filter as required and sum up the consumption values.  This type of info would be used externally and could support a project to migrate to LED lights etc.

    I can do the above report easily but it has to be hard coded to specific attributes.  I'd need to develop a different report to use when exporting for any other classes.  On one hand that's not a problem, but on the other it all takes time.  I'd really like to be able to produce a universal report that I could use across multiple Asset classes, ideally with a launch parameter that could determine the associated attributes to include as columns.

    My other thought on this is more high level philosophical.  Spec Attributes are pretty core to how Maximo handles additional data, keeping things nice and clean and showing values that relate to just a particular type of Asset, Location etc instead of filling the main Asset table with lots of additional fields that don't really apply to every class of Asset.

    It works really well and the concept is sound.

    Being a modern software platform though, it should be much easier to get this data out in a better way than multiple rows per asset, each containing the same core data but a different attribute and spec value.

    If I present this information in this format for the above energy management example, there's no way that's going to be acceptable. Outright it's pretty weird for anyone new to this, and the typical reaction is that it's duplicated every asset 5 times etc.  It really is a significant amount of rework to transform that into a more traditional format.

    I'm actively promoting the use of Maximo to consolidate disparate organisational data sources into one central system, and providing a way for people to get their data back out of this new location and in a format that's useful and similar to their old standalone spread sheet etc is really important.  The ability to use and display Attribute data is proving to be a real pain.



    ------------------------------
    Richard Jackson
    Asset Information and Systems Manager
    Massey University
    Palmerston North
    New Zealand
    ------------------------------



  • 4.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 22, 2022 06:42 PM
    Richard,

    Great thoughts.  after a bit of rumination I wonder if a cross tab sub report might be the solution you want to try?  For every asset in the main report have a cross tab in the sub report whereby you pass the desired parameter to the assetspec and perform your row transposition to columns there?  May be able to it without a sub report as well.

    ------------------------------
    Bradley K. Downing , MBA
    Solutions Engineer
    IBM
    Bakersfield CA
    ------------------------------



  • 5.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 22, 2022 06:58 PM
    +1 on this.

    Cross tabs are probably the cleaner solution given the scenario. I personally hate them, they have their uses, and they do handle vertical data well.

    ------------------------------
    Tim Ferrill
    Solutions Consultant
    Intelligent Technology Solutions
    tferrill@webuildits.com
    www.webuildits.com
    @tferrill/@webuildits
    ------------------------------



  • 6.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 22, 2022 07:08 PM

    Hi,

    Yes this does seem to have the fundamentals addressed.  Not sure how well known it is but it is definitely looking promising.

    Off to research more.  Likes of YouTube videos may help convey this concept to the report developers too.

    Thank you, and watch that rumination doesn't head towards anywhere too dark!



    ------------------------------
    Richard Jackson
    Asset Information and Systems Manager
    Massey University
    Palmerston North
    New Zealand
    ------------------------------



  • 7.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 29, 2022 05:19 PM
    Edited by System Admin Wed March 22, 2023 11:50 AM

    Hi,

    Coming back for completeness sake now.

    Thanks @Bradley Dowling for the pointers above, we have successfully got something goi​ng using the Cross Tab Report approach.

    This launches via a mandatory parameter of the classification code, and does not use the front list screen. 

    (To assist with reducing results we have also added other optional parameters like site and Asset status).



    Report is limited to just one classification at a time, so my original use case of room electrical components for an energy audit will require multiple reports to produce a full Asset list, even if they have the same Attributes applied. 



    Output still has to be exported as the now very old .xls excel file format, as selecting .xlsx splits across multiple excel tabs (which is still considered normal behaviour in 2022?!?, despite list screen/table downloads inside Maximo being updated to download as .xlsx file type in V7.6.1.2)  That's another story though.



    I asked the report writer (the very talented Yessica Barria - credit where credit is due) for some brief comments around this and was supplied the below.

    It's pretty generic but hopefully enough to point others in the right direction in future if they stumble upon this post.



    Appreciate the pointers too @Tim Ferrill and am still of the opinion that this should be available out of the box!



    Thanks all,

    Regards,

    Richard.

    1. Create a Data Cube

      1. Create two groups, one dimension for each group of data (One for the vertical and horizontal data)
      2. Create Summary Field of the data that will be shown in each row

     

    2. Open Summary and configure each option to return the data format as per your requirement

    3. Add Cross Tab to the layout of the report
    4. Add each group data cube to the Cross Tab
    ​​

    ------------------------------
    Richard Jackson
    Asset Information and Systems Manager
    Massey University
    Palmerston North
    New Zealand
    ------------------------------



  • 8.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 29, 2022 05:29 PM
    @Richard Jackson Hooray!!  Happy to hear.  Now for an added twist what you may be able to do is: based on the input parameter for you classification value do a "sub-report" (in the BIRT tool) to go and get any children classifications and drill down on the asset using the values return in the sub-report.  In other words β€‹move the data cube "down a layer" in your report design, and then pass the classification from the sub-report and recurs the data cube sub report for each classification.  Let me know if this makes sense.

    ------------------------------
    Bradley K. Downing , MBA
    Solutions Engineer
    IBM
    Bakersfield CA
    ------------------------------



  • 9.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 29, 2022 05:39 PM
    Edited by System Admin Wed March 22, 2023 11:51 AM

    Oh right, I'd wondered where the 'sub report' comment had come from/was meaning in your earlier reply.

    Main question @Bradley Dowling is:  What form does a sub report take?

    What would the output look like in this context to you?

    Is this one of those click through type dynamic on screen reports, or would it put each sub report on a different .xls tab etc? 

    Asking because the final output needs to be an excel spreadsheet for data analysis purposes.

    I'll pass this on, must be driving Yessica a bit mad by now but the results are worth the effort here.

    In our report we've been able to list some standard core Asset values up front, Number/Location/Description/Condition etc and then expand the columns on from that with the Attribute block.



    ------------------------------
    Richard Jackson
    Asset Information and Systems Manager
    Massey University
    Palmerston North
    New Zealand
    ------------------------------



  • 10.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 22, 2022 06:35 PM
    Richard,

    I've done something similar in the past by first querying for the columns I wanted to query (either from MAXATTRIBUTE or in your case probably CLASSSPEC).

    The first trick is to programmatically craft your SQL using the results of that first query, and return the results as aliased (generic) column names like COL1, COL2, etc. The resulting SQL is pretty janky (especially in this case since your Classification Attributes are stored vertically rather than in rows), but you get the flexibility you're looking for.

    The second piece is to manually add enough columns to support your biggest Classification, and hide the columns that aren't needed for the smaller ones.

    Hopefully that's not too crazy sounding, and I didn't totally misunderstand what you're after. :P

    ------------------------------
    Tim Ferrill
    Solutions Consultant
    Intelligent Technology Solutions
    tferrill@webuildits.com
    www.webuildits.com
    @tferrill/@webuildits
    ------------------------------



  • 11.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue March 22, 2022 06:57 PM

    Interesting concept that of course I'm going to have to ask a bit deeper on for clarity πŸ˜‰


    I'll be passing this to a report developer, so any guidance that would help steer them in the right direction would be appreciated.

    Thanks!



    ------------------------------
    Richard Jackson
    Asset Information and Systems Manager
    Massey University
    Palmerston North
    New Zealand
    ------------------------------



  • 12.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue June 21, 2022 09:22 AM
    Hi Richard

    It is posible to build a report that includes all the asset spec attributes as a single row view that does not use the dreaded BIRT crosstabs. To achieve this I had to dynamically build the report dataset, report SQL and the display table.

    Happy to provide more details if required although it sounds like you already have a working solution.

    Regards

    Derek

    ------------------------------
    Derek Fontinelle
    ------------------------------



  • 13.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Tue June 21, 2022 06:25 PM
    Edited by System Admin Wed March 22, 2023 11:46 AM

    Hi Derek, 

    Always happy to learn more!

    We have a solution that works well, but it's ended up being 1 report by specific Classification.  This works well in some instances, but is a pain when trying to report on two Classifications (even if similar and contain the same attributes!) as we need to run two separate reports. 

    A random made up example would be if your Classification Tree had a parent of DOORS and then two children Classifications of BIG DOORS and LITTLE DOORS, each with the same or similar attributes, but classified differently for whatever business logic reason.  Our current result would require us to run the report twice, one for BIG and one for LITTLE, rather than being able to run against the parent DOORS returning all Assets below this.

    My original plan was to have the Attributes as the last columns of the Report, and would simply grow the number of these columns dynamically, based on the types of Assets in the result set and leaving entries blank across the row where an Attribute column did not apply to that particular Asset. 

    That approach would not have been based on Classifications at all, and potentially run against any front list screen query result set.  The Attributes needed to populate the columns could have been pulled from the Assets attached Specifications, or referenced back to the Assets Classification to get the values from there etc.

    Regards,

    Richard.



    ------------------------------
    Richard Jackson
    Asset Information and Systems Manager
    Massey University
    Palmerston North
    New Zealand
    ------------------------------



  • 14.  RE: Dynamically Include Spec Attributes as Columns in BIRT Report?

    Posted Thu February 15, 2024 10:44 AM

    Hi Derek, I have a similar kind of requirement for a birt report to display asset specifications in columns. Can you please provide the details of dynamically building the report data set. Appreciate your help.

    Thank you,

    R



    ------------------------------
    Rekha Isukapalli
    ------------------------------