Introducing EDGE Academy AX, Summer 2013

Fullscope is pleased to announce on-line summer training classes for manufacturers who use Microsoft Dynamics AX ERP and are looking for an easy, cost effective way to enhance user skills. The training courses will be delivered completely via the Internet in a premier hosted environment.

Users can participate via a web browser, and the training will leverage certified Microsoft courseware. Each class will be led by a highly talented Microsoft Certified Trainer, and is conducted in four-hour segments (10am-2pm EST).

A summary of the courses is provided below.

For pricing and registration information, click here.

Screen Shot 2013-06-13 at 3.04.52 PM

This post briefly describes what data partitions are and what they can be used for, but most importantly, when you should NOT use them.

In short:    Data partitioning allows for the complete isolation of your application data between organizational boundaries.

What does that mean to you:

You cannot share any data across these boundaries. As far as application data is concerned, these partitions might as well run on different systems. If there is a need for business data to cross these boundaries, you should not use partitions but instead use the capabilities of the organizational model.

Data required by the system is being shared across partitions. The most prominent example is the data for AIF and batch processing. Metadata is being shared across partitions, which means you will run the same codebase for all partitions. Any customization will be available in all partitions.

For a more detailed description of data partitions, refer to these Microsoft TechNet links:

http://technet.microsoft.com/EN-US/library/jj728665.aspx

http://technet.microsoft.com/EN-US/library/jj677285.aspx

By Don Price, Edgewater Fullscope

This article contains a series of technical steps to successfully add a key performance indicator (KPI) to an existing Rolecenter web part in Microsoft Dynamics AX ERP.  I will show you how to add a very simple KPI called “My Revenue.” It doesn’t really do anything except add the a goal of 105 and set the value at 100. Creating meaningful values might be a good exercise for another post, but here I am showing more how to define the KPI and how to get it to publish to your role center.

Step 1. Use Bids (Visual Studio Business Intelligence Development Studio) to create a new project to make adjustments to the SAS cube. Create a new Project using the Import Analysis Server template. Pick your sever and OLAP d/b. Bids will create a project with all the cubes.  Your project should look something like image below:

Find the General Ledger cube and view in the designer. Under the KPI’s tab, add the new KPI from the toolbar. From here I was able to basically create a very simple kpi by creating 4 methods in the KPI, including goal, value, trend and status.
Name – My Revenue
Value Expression – 100
Goal Expression – 105
Status Expression: (Not all needed for my very simple on)
iif( KPIGOAL(“My Revenue”) >= 0,
(CASE
WHEN KPIVALUE(“My Revenue”) >= KPIGOAL(“My Revenue”) THEN 1
WHEN KPIVALUE(“My Revenue”) >= KPIGOAL(“My Revenue”) * 0.90  THEN 0
ELSE -1
END),
(CASE
WHEN KPIVALUE(“My Revenue”) >= KPIGOAL(“My Revenue”) THEN 1
WHEN KPIVALUE(“My Revenue”) >= KPIGOAL(“My Revenue”) * 1.10  THEN 0
ELSE -1
END))
Trend Expresion: 1
Set the status and trend icons as you want.
You can view the KPI in browser mode right from VS.Browser Icon from the toolbar.
Save your changes. Here you can see the KPI in the designer:

The initial project is set to deploy to a d/b that you can use during development, which is the same name you gave your project. But for the next part to work, we have to deploy to the OLAP d/b expected from SSRS. So in the project properties, there is a deploy properties for Target – here set your server and database to what SSRS expects. Then back on the project, click deploy to update the new server/db.

Step 2. In the Microsoft Dynamics AX client – Under Report Libraries, select Ledger. Right Edit in Visual Studio. Just like editing  any of the SSRS reports in Dynamics AX. Once the project is available in VS. Then you find the correct report to modify in my case, CFOProfitablityAnalysis.

Edit in report modeler.
Find The dataset ProfitablityAnalysis – click on the properties. Add your KPI values – here I add “My Revenue”:
SELECT {
KPIValue(“Total Revenue”),KPIGoal(“Total Revenue”), KPIStatus(“Total Revenue”), KPITrend(“Total Revenue”),
KPIValue(“Total Expenses”),KPIGoal(“Total Expenses”), KPIStatus(“Total Expenses”), KPITrend(“Total Expenses”),
KPIValue(“Cost of Goods Sold”),KPIGoal(“Cost of Goods Sold”), KPIStatus(“Cost of Goods Sold”), KPITrend(“Cost of Goods Sold”),
KPIValue(“Gross Profit”),KPIGoal(“Gross Profit”), KPIStatus(“Gross Profit”), KPITrend(“Gross Profit”),
KPIValue(“Gross Profit Margin”),KPIGoal(“Gross Profit Margin”), KPIStatus(“Gross Profit Margin”), KPITrend(“Gross Profit Margin”),
KPIValue(“Net Income”), KPIGoal(“Net Income”), KPIStatus(“Net Income”), KPITrend(“Net Income”),
KPIValue(“My Revenue”),KPIGoal(“My Revenue”), KPIStatus(“My Revenue”), KPITrend(“My Revenue”)
}

ON COLUMNS,
STRTOSET(@Period) on rows
from
[General Ledger Cube]

where STRTOMEMBER(“[Master Company Reporting Currency].[Currency].&[” + @Currency +”]”)

I did this with the property designer – but it wanted  parameters, otherwise it chokes on the parameters values and says there is an error in the mdx expression.  In the parameters, I put in Period.Period (another dataset field) and put USD in for currency. After that is accepts the properties okay.  On my first pass, somehow it had renamed period to period1 and was giving validation errors on the report design, if it does that, just click on the field in the dataset and rename back to period. And then it will clear out. Once you’ve done this okay, you should see your new KPI values (4) in the fields under the dataset.

Next edit the Role center design(edit using designer). Basically there is a table with rows and columns for the KPIs. On the left column, find the row where you want to insert your KPI and right click – insert row below. Then copy and paste one of the other KPIs fields down for each column and then edit to your KPI properties – specifically the value property. Here are my values
=Fields!Measures_My_Revenue_Goal.Value
=Fields!Measures_My_Revenue_Value.Value
=IIF(Fields!Measures_My_Revenue_Trend.Value = 1, “TrendUp”, IIF(Fields!Measures_My_Revenue_Trend.Value = 0, “TrendFlat”, “TrendDown”))
=IIF(Fields!Measures_My_Revenue_Status.Value = 1, “StatusGreen”, IIF(Fields!Measures_My_Revenue_Status.Value = 0, “StatusYellow”, “StatusRed”))

Once that is done you can preview the report and see if your kpi shows up correctly.
Once it works right in preview– On the project – Ledger-right click and build. Make sure it builds correctly(no errors). Then save to AOD. It will save that it saved to the AOD successfully down in the status bar.

Step 3. Deploy the updated report library.  In Dynamics AX, you will have to restart your client to see the AOD layer changes i.e., sys,syp,usr. In the AX client, right click on the ledger report library and click deploy, this will copy the report out the Report server you have defined. It takes a bit, get a cup of coffee.

After that refresh your EP page and bam, it’s there.

Simple … yes?

When creating an Alert in Microsoft Dynamics AX ERP software, the field where you initially create the Alert affects your options when defining the Alert. For example, if you start defining the Alert on a date field, the options displayed are related to dates: “has been postponed until at the earliest,” “is set to an earlier date,” and “is due.” For numeric fields, available options include: “has decreased,” “has increased above,” and “has decreased below.” Alphanumeric fields options are “record has been created,” “record has been deleted,” “has changed,” and “is set to.”

Microsoft Dynamics AX gives users the power to filter data by individual or multiple fields.  To filter by a single field, right click in the field and select “Filter by field.”  To filter by a group of fields, Press CTRL + G and enter multiple criteria.

With Microsoft Dynamics AX, users have the ability to filter by numbers, words and/or dates. For example:

1..10 finds all the values from 1 through 10

1/1/2009..12/31/2009 finds all dates between 1/1/09 and 12/31/09

!Smith finds all except “Smith”

..1000 finds any number less than or equal to 1000

1000.. finds any number greater than or equal to 1000

<1000 finds any number less than 1000

>1000 finds any number greater than 1000

A,D finds “A” and “D”.

Microsoft Dynamics AX ERP lets users easily create a saved filter on a form that can be recalled and used multiple times. To begin, open the form that you want to filter and press Control F3 to open the Advanced Filter form. Add or modify the filter criteria. If a desired filter field isn’t available, click the add button and specify another table and field filter. Once the filter criteria is correct, click modify, select save as, give the saved filter a name and click OK.

To retrieve the saved query, press Control F3 on the form and click the drop down list box on Select Query and select the saved query. Click OK to apply.

Designed for Microsoft Dynamics AX users, each month Fullscope publishes a short technical tip to for greater insight into this powerful ERP system.

Technical Tip#2: Record Level Security

Microsoft Dynamics AX lets users easily manage screen/table and report filters through record level security. Use this feature to filter screen and report data that you specifically design by user group.

To begin, open the Record Level Security screen (in the Administration module), and choose the appropriate user group. Click on the “new” button and the Record Level Security wizard will walk you through the remaining setup. This feature allows you to apply specific queries to data tables resulting in data security and an enhanced end user experience where the user doesn’t have to filter through irrelevant data. The table queries also apply to report data, which allows you to filter down to critical data.