|
|
-
|
A Matrix report is a powerful tool for delivering complicated statistical reports to your users. Often your data will not have a static number of rows and columns which may make grouping and subtotaling a challenge. Fortunately, Reporting Services has an answer for you. It’s the Matrix control.
With the matrix control you can create a report with a dynamic number of rows and columns and any number of row and column groups in a jiffy. Also, with just a few clicks you can generate group totals at any level. Like all reporting tools there are some limitations. One common reporting need, that becomes a major challenge, is calculating group averages rather than group totals. Although this sounds fairly trivial it requires that your tool allows you to use nested aggregates in your calculations, which Reporting Services 2005 does not.
Figure 1 illustrates the results that you get if you attempt to use the Avg() function. Notice that the Average of the Total line is not correct. Fortunately, there is a workaround. With a bit of code and an understanding of the way that Reporting Services evaluates the various row and column groups in your matrix report, you can add many advanced calculations to your reports. To understand when the matrix group totals are being evaluated and when they are not, you must use the Inscope() function. This function returns true or false and takes a group name as an input parameter.
Figure 2 illustrates the scope of each row and column group as each cell of the matrix is evaluated. Notice that when the column total is being evaluated the column group {Month} is out of scope and when the row total is being evaluated the row group {Division} is out of scope. Also, notice that when the grand total is being evaluated, both the row and column group are out of scope.
Now that you understand when each group total is being evaluated, you must add a custom function to calculate your average or whatever calculation you desire. In this example, there are four different scopes which the function must handle. The function uses the Scope of each group to determine when the column/row cell, subtotal, average, and the average of the subtotals is being evaluated. The custom function for the first two cases simply returns the aggregate value passed in i.e. Sum(amt). The third case will maintain two variables. The first is a running total, the second will be a count of the number of values added to the total. In addition, the function will return the subtotal value. The fourth case will calculate and return the average, and reset the running total and count variables. The call into your custom function from the data cell in the matrix report would look like this. =Code.SumOrAvg(Sum(Fields!Amt.Value),AVG(Fields!Amt.Value), InScope("GRP_Month1"), InScope("GRP_Division1"))
Figure 3 illustrates our matrix report with the correct average value being calculated for every row of the matrix report. As you can see from this example, the Inscope() function gives you the power to control the values in every cell of your matrix control. Happy Reporting !!!
Source Code is attached to this blog entry. Please see the attachment below...
|
-
Environment:
-All versions of Dynamics SL (Solomon) using AP/PR Checks
-Multiple SL Application Servers
-Centrally located Usr_Rpts folder is shared between the
application servers
Issue:
-Bitmaps won’t print because the links become broken after
the folder relocation
Workaround:
-Point the links found in the Crystal reports to the XL folder on ONE
of the SL application servers.
|
-
|
The MaxQ Solomon Process Engine will error on Sales Order type transactions if the 'D' in the 'CompanyID' tag is a lower case 'd'.
|
-
|
In order to obtain the new zone/rate import files, you need to be on a current product support agreement with MaxQ. If you do have such an agreement in place please contact MaxQ at 203-840-8930 x225.
|
-
If using a Terminal
server, the reason for this error may be the following:
When you connect to
a terminal server, by default, the printers attached to your workstation are
“mapped” into the terminal services session . This applies to fax printers as
well.
The cause of the “operation failed”
messages seems to be that when someone with a fax printer defined on their own
computer connects to the Terminal server, there will be two fax printers
defined and this will cause the error.
Also there doesn’t seem to be a way to programmatically select a fax printer
through the objects exposed by Microsoft at this time.
The work-around is to disable Windows
printer mapping on the Terminal server. This can be done through the Terminal
Services Configuration program located in Administrative Tools.
|
-
|
In order to obtain these new releases please contact MaxQ at 203-840-8930 x225.
|
-
-
-
PCI Requirements for Merchants:

| Merchant |
Volume of Transactions
| Required Action |
| Level 1 |
Over 6,000,000 transactions per year.
|
Annual on site audit and quarterly remote scans of their web sites and servers |
| Level 2 |
150,000 to 6,000,000 transactions per year |
Annual self assessment questionnaire and quarterly remote scans |
| Level 3 |
20,000 to 150,000 transactions per year |
Annual self assessment questionnaire and quarterly remote scans |
| Level 4 |
Less than 20,000 transactions per year |
Annual self assessment questionnaire and quarterly remote scans highly recommended |
|
-
The new PCCharge version (v5.7.1 I Service Pack 8) has been released and we recommend that all users of MaxQ Charge It upgrade to this new version.
It is supported with the
latest version of MaxQ Charge It for SL v6.0 and v6.5 (6x).
Having the latest version of MaxQ Charge It is NOT a requirement
but if the users run into any issues then they will have to upgrade MaxQ Charge
It.
We have NOT tested with SL v5.0 or v5.5 since we plan to
discontinue support for all MaxQ apps running on SL v5.0 or v5.5 at the end of
this year. As far as which merchants exactly will have to meet these new
requirements, there is no precise rule, unfortunately.
There are certain rules that are created by Visa/MC/AMEX, etc…
There are other rules created by the issuing banks and there may be others
created by the processors (such as First Data).
Each of these entities have different implementation schedules
and deadlines, which keep changing all the time, since they have to take into
account how fast the merchants are willing and able to meet any new
requirements.
The general rule is that the bigger the merchant is (in terms of
volume of credit card transactions – in dollars), the sooner they will have to
meet the new security requirements.
The best approach is to have the merchants contact their
processing companies and see what information they can get from them.
You can also look at this site for more information: https://www.pcisecuritystandards.org/
|
-
To properly print the MICR
line on checks, your PC may need to be setup to print True Type fonts as
graphics to your printer.
To do this, click Start - Settings - Printers.
Select
your printer, choose Printer
- Properties, choose options to make sure "Print True Type as
graphics" is selected; look in the Font or Graphics folders for
these settings.
You may also have to change the print mode to "raster."
If these options are not present in your printer properties, try a few of the
other settings such as "download True Type as bitmap soft fonts".
|
-
-
There is a new version of the MaxQ Process Engine which is an attempt to make the engine more resilient against errors.
With it you can specify a period of time during which the engine will not consider a database connection problem to be fatal. For example, the values below would indicate that the engine is to continue retrying between the hours of 9:00 PM (range start) and 6:00 AM (range end) unless there are no successful connections for two straight hours (range retry duration).
The “number of attempts on connection failure” setting is used during the hours that do not fall into the error handling range. It indicates how many consecutive attempts to connect to the database must fail before a fatal error is raised. These values must be changed by altering the text property of label controls on the Process Engine screen through customization manager. These labels are invisible; so you must enter customization mode to see them.
To install it, just place it in the XEngine folder under the Solomon folder (you’ll need to do this in each of your Solomon folders). The file needs to be renamed to XXJ1000.EXE from XXJ1000.EX_. Let me know if you have any questions.
Example:
Number of attempts on Connection Failure: 10
Range Start: 21:00:00
Range End: 06:00:00
Range Retry Duration in Minutes: 120 (THIS HAS TO BE IN MINUTES)
|
|
|