Dynamics AX
  RSS Feed  LinkedIn  Twitter
Want to turn you're data into a true asset? Ready to break free from the report factory?
Ready to gain true insights that are action focused for truly data informed decisions?
Want to do all of this across mutliple companies, instances of Dynamics and your other investments?
Hillstar Business Intelligence is the answer then! (www.HillstarBI.com)

Hillstar Business Intelligence for Microsoft Dynamics AX and NAV on Mobile, Desktop, Tablet


Let us prove to you how we can take the complexity out of the schema and truly enable users to answer the needed questions to run your business! Visit Hillstar Business Solutions at: www.HillstarBI.com

Wednesday, July 29, 2009

Pros and Cons of using SSRS for Dynamics AX 2009 Reporting

I wrote the following blog entry, in order to attempt to give an idea of what all reporting possibilities exist for getting at a company's data, inside Dyanamics AX 2009.

Dynamics AX 2009 - Reporting Possibilites


Since then I have also wrote the following, detailed technical how to blog entries about calling a custom SSRS report from X++ code, and passing in parameters, and also for getting at X++ source code, from within a SSRS report.

- Calling a Custom Dynamics AX 2009 SSRS report and passing parameters - From X++

- Dynamics AX 2009 - Calling X++ logic from SSRS and C#

Reporting in Dynamics AX 2009 is a heavy focus, as more and more companies are wanting to understand how to get the right data to the right people. That was the whole thinking behind creating role centers in Dynamics AX 2009. To target specific information worker profiles, and to give the ability for companies to target specific information workers in custom ways that fit to the company needs.

Since writing the above entries, I have had a full request now, to talk about the pro's and con's of using SSRS reports for getting at data that lives inside a Dynamics AX 2009 instance.

So looking at this, the pro's are quickly seen. The report can be delivered via a Role Center, inside Dynamics AX, and over the web. The processing of these reports can be scaled out to other servers, for performance needs. SSRS offers the ability to work quickly with SSAS / OLAP data, KPI's, etc. and add this to the report design. The creation of these reports happens in Visual Studio 2008, and therefore VS benefits exists. There exist an ad-hoc tool, that gives users a good reach into the data, though not all parts can be done via the Ad-Hoc right now.

There are more, but the above is the highlighted. And the final pro, I would add to this would be the fact that Microsoft is moving it's Dynamics product line to make use of SSRS as the reporting tool. So moving there now, prepares for the future road map of tomorrow.

Now, with all the great things about SSRS and Dynamics AX 2009, there are of course limits or con's.

One of the first things is, it's not the native report engine and designer inside Dynamics AX. Morphx reports are. So all the standard reports and reporting are done and have been done in X++ reports.

This is I would say, the biggest con about SSRS and Dynamics AX 2009. And because of this fact, and handful of other cons come with this fact.

Like for example, since this is the case, then you have to go through the .Net BC to get at X++ business logic / code from an SSRS report. Everyone would much prefer to have more native access to this.

The interaction with with reports from X++ code is different than standard reports, and requires more attention. There is lack of information about limits, issues, etc. because SSRS is not native.

The Query window that comes with most reports, which allows quick adding of filtering fields, etc. does not exists with SSRS reports. The developer of the report can add parameters to the report, still it's not as flexible as the Query Window that exists for X++ reports.

Now with that said, you can develop a class that makes use of a Query dialog, that captures filtering information, and if your good enough in X++ and think far enough in your SSRS report design, you can offer this ability. (if your interested in that, feel free to contact me for a quote.)

I think that is good enough for now. I will leave on this, SSRS should be a major focus to anyone wanting to do reporting in DAX 2009 and beyond. The limits / cons will continue to move away, as SSRS becomes more and more native to Dynamics AX.

Also, on PartnerSource, the Reporting & BI Courseware was just released eariler this month. So if you have access to PartnerSource I suggest you check this out.

Check back soon, and see you next time!




"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , ,

Saturday, July 18, 2009

Dynamics AX 2009 - Calling X++ logic from SSRS and C#

Recently I wrote the following blog entry:
Calling a Custom Dynamics AX 2009 SSRS report and passing parameters - From X++

This was to address a set of questions from a reader, where he stated it was not clear about how to call a report from X++ and send in parameter data. The above post, shows you exactly how to do that.

This is the blog entry, in which those comments where left.:
Dynamics AX 2009 - Reporting Possibilites

The next thing in the readers comments, was making use of display methods, or methods in general from X++. This also can be done, an there is great examples of this through some of the out of the box Report's, and also the new Environmental Dashboard that came out during the spring.

I am going to pull from the environmental dashboard, and show an example of this being used.

So if we open our reports project, we will see something similar as follows, and notice the report, has a section for data methods.



Looking at these data methods that are part of the EnergyCost report, we see we have this one, with some parameters / variables that need to be sent in.

On double clicking of the method, takes us to the Business Logic section, and we see our C# code here, along with the .Net Business Connector Assembly, and AxaptaWrapper Object being used.



As you can see we have access to make calls to static methods, and normal non-static business logic. So this could easily be changed and made use of as a template for working with X++ methods, that we need access to for our report purposes.

Now moving back to the report design, I have highlighted the field in the report design, which happens to be a Matrix Cell, that makes use of this datamethod. The expression where this data method is called, is the following.:



=Cdbl(GetEnergyCost(Fields!SourceProcessId.Value, Fields!DestinationProcessId.Value, Fields!SubstanceId.Value, Parameters!EnergyCost_Filter.Value))


So we can see our datamethod being called, to fill this field, and see how the parameters are being sent in. Even one being referenced from the parameters that are sent in to this report.

This is a really good example, that can be expanded upon, and used as a template for such custom needs of datamethods, and access X++ business logic and display methods for a Dynamics AX 2009 SSRS Report.

I hope this helps, and look for more soon. See you next time!



Visit Hillstar Business Intelligence (www.HillstarBI.com) in order to truly unlock your data trapped in your Microsoft Dynamics investment. With our value driven business intelligence strategy Hillstar help you transform into a data informed company.





"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , ,

Thursday, June 25, 2009

Dynamics AX Add-on: Atlas XL

Recently I wrote about the possible reporting options that exist inside Dynamics AX 2009.

Dynamics AX 2009 - Reporting Possibilites


I did however leave one area not covered, which is important, and very useful. That area is third party applications or packages for Microsoft Office, specifically Excel add-ins.

One that I have seen used, and works great in Dynamics AX 2009 is Atlas XL developed by Globe Software Pty Ltd in Perth, Australia.





This has an integration with Dynamics AX 2009, that makes use of the .Net business connector to expose the full data model, including business logic, X++ based calculated fields.

Once the server peice is setup and the Excel Add-in is installed and configured for end users, the usage is pretty easy. Super user can create their own Ad-hoc reports, pivot tables, etc. and access company data, they have security rights too, as this takes on the security rights of the user at hand for access to Dynamics AX objects inside the instance.

There is other Excel Add-in's that exists as well, but this is one I have seen in action, and one that works with nearly all AX versions, not just 2009. I have seen this fully working though, in 2009, making it a proven product.

If your interested in Atlas XL, then feel free to contact Sunrise Technologies, Inc. as we can get this for you, set it up for your instance and get your using it.

Other than third part Excel Add-in's, it is possible to create custom OBA or Office Business Applications and Add-in's for office products like Excel. Sunrise also has the knolwedge and skillset to do this for you, if needed.

Well that all for now, I wanted to make sure and give a complete picture for reporting options with a Dynamics AX 2009 instance.

Check back soon!




"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , ,

Tuesday, June 23, 2009

Dynamics AX 2009 - Reporting Possibilites

So we have talked about BI in the past few months. Went over several Microsoft tehnologies that make up the Microsoft BI platform. This includes SQL Server, Reporting Services, Analysis Services, Integration Services.

This is all the BI platform from Microsoft. And we now have started to look at how this BI platform fits in with and can be used inside Dynamics AX 2009.

The first dive into this was a pratical use for creating custom SSRS reports for a Dynamics AX 2009 instance, and looking into OLAP use for Dynamics AX 2009. (Link: Dynamics AX 2009 BI: Practical use with SSRS and looking at OLAP)

So with that we saw with Dynamics AX 2009, there is a new Visual Studio 2008, Project Template for Dynamics AX 2009 SSRS custom reports.

With showing this, and coming back around to all that we have covered with this so far, I think we are at a point to where we should look at the higher level of reporting options inside Dynamics AX, and get some higher level pros and cons about them.

So with that said, lets look at the reporting options for a Dynamics AX 2009 instance.

The point of reporting is to gain access to data that lives inside a System and it's database. This is the point of reporting with Dynamics AX 2009. To give users access to the different data they may need to perform functions, processes and help make business decisions.

So the reporting options with Dynamics AX addresses a spectrum of reporting. You can look at this as having Procedural based reporting on one end of the spectrum and Analytical reproting at the other end.

On this spectrum, there is a few different ways that reports can be created that span the above mention spectrum. The following is a high level list of these reporting options.:

Standard MorphX reports
The standard MorphX reports are the base reports that come inside Dynamics AX. Most of these are very procedural based in their nature. They are meant to delivery things like invoice journal data, Sales Order Confirmation, Invoices, etc. They serve a purpose to help fulfill a business process.

These kind of reports have the most flexibility for working with business logic, and Dynamics AX objects. They are also the most difficult to develop and modify at times, and are the older way of reporting inside Dynamics AX. (They have been around since the early Axapta days.)

You use X++, and MorphX to create, modify and work with these reports. End users can make use of custom queries and filter possibilities that can stay with that user for as long as their usage data is kept.

So this offers the most flexibility of any of the reporting options for getting at Data inside Dynamics AX. These are very developer driven reports, and super users would not be creating these.

Though this is mostly procedural based reporting, some analyical reports exists in this form, though not many.

Custom SQL Server Reporting Services (SSRS) reports
This reporting option, though could be done to some degree in earlier versions, is really just now a true offering in Dynamics AX 2009.

This makes use of a easier, Visual Studio driven development model, that .Net developer would find familiar to work with. This process creates report definition files, that are used and connect through the .Net Business Conector to work with Dynamics AX data and business logic.

The business logic can be access through using the AxaptaWrapper .Net class, that comes from making use of the .Net Business Connector and the Dynamics AX .Net Reporting Framework.

This is not as complex to create, makes use of a report designer that is easy to use, drag and drop possibility, and real flexible in design and layout possibilities.

This also executes on a SSRS server, which can offload some of the report generation from the AOS itself.

You don't have as much flexibility with this option as a standard report, for example the custom Qeuries for filtering a report, that are user driven can not be used. The developer of these custom SSRS reports must give access to filtering through the report design.

This option offers the ability to create procedural based or analyical based reports in nature. OLAP cubes, KPI's, etc. can be access and added as sources of information for building reports here.

Report Builder / Ad-Hoc Report Creation
This option first came to exists in DAX 4.0, and has been improved in Dynamcis AX 2009.

This makes use of the perspectives node inside the AOT, to expose report models with to the Report Server. This option is targeted at super users who want to get at report data quickly, and in an ad-hoc nature.

This makes use of the SQL Server Reporting Services - Report Builder tool, and based on your instance and the deployed perspectives, will govern what report models your super users can access to look and report on data.

This is very much a drag and drop ability, and meant to be a design so the super users don't have to know the data model.

This is the most limited of the reporting option, and that understandable as this is Ad-hoc, and not meant to give all access to everything. The biggest limit is access to the X++ calculated fields inside Dynamics AX. Those fields that are not just a single table field, but calculated depending on a number of different variables.

The point of this though is to get super user the ability to gain access to around 80% of the reporting data needed. If more is needed, then they can get with thier IT staff to deliver a custom SSRS report for the full amount of data.

This reporting option, like the one before, can offer Procedural and Analytical in nature reports. Access to Cube and Procedural perspectives allow access to different data, and the different data and relations that might exists.

SQL Server BI Development Studio (BIDS)
This is the out of the box tool that most standard Microsoft BI projects use to create reports with. This is also used to create and manage OLAP cubes and OLAP database, and create and managed SSIS packages and logic.

For the report creation this is direct access to the SQL Server database, and now interaction with Dynamics AX itself. So that is the biggest Con with using this to create reports with. No access to those, sometimes much needed X++ calculated business logic fields.

If you choose this option, and need those fields, you would have to 're-create the wheel' and duplicate that logic through T-SQL or SQL Scalar Functions.

This can be very Procedural or Analytical, depending on what your doing with BIDS. Also, BIDS is used, even if not for report creation, to manage a Dynamics AX 2009 instance OLAP cubes. To look at them, modify them, trouble shoot them, etc.


Well that's all for now. I think this is a good start to the reporting options inside Dynamics AX 20009 instance. Moving forward we will dive deeper into looking at each of these, getting some screent shots and real world examples.

See you soon!





"Visit the Dynamics AX Community Page today!"


Labels: , , , , , , , , , ,


Copyright 2005-2011, J. Brandon George - All rights Reserved