web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

how to add financial dimension values in ssrs report

(0) ShareShare
ReportReport
Posted on by 327

hi all i am doing sales order report and i want to add financial dimensions also for that report how add?????

thanks in advance...

*This post is locked for comments

I have the same question (0)
  • André Arnaud de Calavon Profile Picture
    301,035 Super User 2025 Season 2 on at

    You can have a look at the summary trial balance report where the data is split into different columns per dimension. The class LedgerTrialBalanceDP is used for this report.

  • Martin Dráb Profile Picture
    237,880 Most Valuable Professional on at

    Are you talking about a standard report? Which one?

    Or a custom report? What kind of datasource do you use?

    Do you mean default dimensions from order header / lines, or ledger dimensions of some posted transactions related to the order?

    Please realize that we can't help you if you don't give us enough information.

  • karthik143 Profile Picture
    327 on at

    i am doing my custom report  and i need to bring default dimensions from order header / lines.

  • Martin Dráb Profile Picture
    237,880 Most Valuable Professional on at

    The implementation depends on how your custom report should look like. You also didn't tell us what kind of datasource you're using (most likely either a query or a data provider class).

    In either case, there is view that you may find useful: DefaultDimensionView.

  • karthik143 Profile Picture
    327 on at

    iam using  data provider class as datasource

  • Archie Profile Picture
    457 on at

    Hi Karthik,

    Were you able to achieve this?

    Thanks

    Archie

  • Suggested answer
    Chandra Wijaya Setiawan Profile Picture
    1,145 on at

    You should achieve using the view Martin's reply. Below is snippet SQL statement which can apply to custInvoiceJour / custinvoicetrans

    In Your SalesInvoiceDP you might need different approach but yeah it should get you started. 

    select
    
    c.defaultdimension,
    
    dav.*
    
    c.*
    
    from
    
    CustInvoiceJour c
    
    inner join DEFAULTDIMENSIONVIEW  dav
    
    on dav.defaultdimension=c.defaultdimension
    
    where
    
    c.dataareaid=@DataAreaID
  • Suggested answer
    Muhammad Zahid Profile Picture
    480 on at

    This might help you.

    codingchamp.blogspot.co.nz/.../getting-financial-dimension-values.html

    Thanks,

    Zahid

  • Archie Profile Picture
    457 on at

    Thanks for your reply @Chandra Setiawan. I have actually done something similar to this but unable to achieve the result. Kindly let me know what I am missing

    My requirement: to add customer 'financial location' to customer aging report at header level.

    things I have done to achieve this: 1. added a new field called  'CustFinLoc' in both custTmpAccountSum, custAgingReporTmp and custAgingReportTmp

    2. In custBalanceList.insertIntoTmpAccountSum() added the below code:

     while  select firstOnly custTable

               where custTable.AccountNum == _toCustVendTable.AccountNum

           join DisplayValue from dimAttrView

               where dimAttrView.ValueCombinationRecId == custTable.DefaultDimension

           join Name from dimAttr

                   where dimAttr.RecId == dimAttrView.DimensionAttribute

           {

            dimStorage = DimensionAttributeValueSetStorage::find(custTable.DefaultDimension);

          // if(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == 'FINANCIALLOCATION')

           //{

               for (i=1 ; i<= dimStorage.elements() ; i++)

               {

                   if(DimensionAttribute::find(dimStorage.getAttributeByIndex(i)).Name == 'FINANCIALLOCATION')

                   {

                       finDim = dimStorage.getDisplayValueByIndex(i);

                   }

               }

           }

               agingCalculatedTmp.CustFinLoc = finDim;

    // in the above code my idea was to insert this custFinLoc in agingCalculatedTmp table

    but I am aware that unless I call insert() this wont insert, but if I do, it throws an error 'çant insert multiple customer/vendor accounts, record already exists'.

    So please help me out here :( Do you think I will have to insert a similar new field to capture finLoc in 'ágingCalculatedTmp' and use this code in CustVendAgingCalculation.process() instead? but this table gets its data from agingProcessingTmp and agingProcessingDetailsTmp tables. so there is no ending to this backtracking, I am confused

    3. In this step my idea is to insert the fields  from agingCalculatedTmp table to custTmpAccountSum  table with the below code: (I just added CustFinLoc to the first select stmt)

                 insert_recordset custTmpAccountSum (CurrencyCode, BillingClassification, InvoiceId, TransDate, Txt, Voucher, AccountNum, Name, GroupId, CustFinLoc)

               select CurrencyCode, BillingClassification, InvoiceId, TransDate, Txt, Voucher, CustFinLoc

                   from agingCalculatedTmp

                   group by CurrencyCode, BillingClassification, TransDate, InvoiceId, Voucher, Txt

                   join AccountNum, Name, GroupId from toCustomer

                       group by AccountNum, Name, GroupId

                   notexists join custTmpAccountSum // Avoid inserting a duplicate

                       where custTmpAccountSum.AccountNum == _toCustVendTable.AccountNum

                               &&  agingCalculatedTmp.CurrencyCode == custTmpAccountSum.CurrencyCode

                               &&  agingCalculatedTmp.BillingClassification == custTmpAccountSum.BillingClassification

                               &&  agingCalculatedTmp.TransDate == custTmpAccountSum.TransDate

                               &&  agingCalculatedTmp.InvoiceId == custTmpAccountSum.InvoiceId

                               &&  agingCalculatedTmp.Voucher == custTmpAccountSum.Voucher

                               &&  agingCalculatedTmp.Txt == custTmpAccountSum.Txt;

    4. Next I inserted the newly added column 'çustFinLoc' from custTmpAccountSum table

    to custAgingReportTmp table in CustAgingReportDP.insertCustAgingReportTmp() by just adding the field names to the list of already existing selected fields

    5. Added a new field in all 4 report designs which takes custAgingReportTmp .custFinLoc as input

    When I compile all objects and deploy report I dont get any error but data is blank on the newly added field (screenshot below)

    Can someone kindly help me understand where I am going wrong here :(

    FinLoc.PNG

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

#1
Martin Dráb Profile Picture

Martin Dráb 4 Most Valuable Professional

#1
Priya_K Profile Picture

Priya_K 4

#3
MyDynamicsNAV Profile Picture

MyDynamicsNAV 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans