%%ItemTitle%%

Nevron Vision for SharePoint Documentation
Welcome to Nevron Vision for SharePoint
View with Navigation Tools

Welcome to Nevron Vision for SharePoint

This suite of advanced web parts is designed to provide SharePoint IT professionals and developers with an easy and powerful way to create advanced digital dashboards and reports that perform sophisticated data analysis - visually and directly in SharePoint.

The web parts are engineered to connect to a wide range of databases and SharePoint specific data sources and to provide fast, reliable, consistent and flexible data analysis to your sites. The pivot data aggregation features of the product are unique for the SharePoint ecosystem.

The web parts are internally using the leading data visualization technology from Nevron, which ensures that you have a complete and superior set of data visualization methods "out of the box". The visual quality and rendering speed of the created dashboards is unmatched.

The purely web based configuration of the web parts instantly improves your dashboard authoring experience. Almost every aspect of the web parts can be visually edited in great detail and no developer experience is required to create sophisticated dashboards that are truly data driven. Users with developer experience can take advantage of the built-in code injection feature to even further customize all aspects of the web parts.

Included in the installation are numerous examples, which will help you get started quickly. They are also a valuable source for templates that you can simply use in the dashboards that you create.

Nevron Vision for SharePoint includes the following web parts:

Nevron Chart for SharePoint - delivers a complete set of 2D and 3D charting types, highly customizable axes, industry leading pivot charting and stunning looks to your SharePoint sites. For more information see Chart Overview.
Nevron Gauge for SharePoint - delivers a rich set of radial and linear gauge types, digital displays and state indicators that are driven by pivot data aggregation. For more information see Gauge Overview.

Nevron Map for SharePoint - delivers complete ESRI maps support, 22 map projections, sophisticated filling rules, advanced data binding options and great visual effects to your dashboard. For more information on this web part go to the Map Overview topic.

Nevron Barcode for SharePoint - delivers complete support for displaying linear and matrix barcodes. For more information on this web part go to the Barcode Overview topic.

Send Feedback


What is New in 2019 Vol. 1
Version History > What is New in 2019 Vol. 1

Following is a summary of the new features introduced by the 2019.1 release:

Support for SharePoint 2019
All Web Parts in the suite now support SharePoint 2019.
Enhancements to Nevron Chart for SharePoint

Nevron Chart for SharePoint has been enhanced with the following features:

  • New Ternary Chart type - this feature allows you to display Ternary Point and Ternary Bubble series inside a ternary chart. A ternary chart is type of plot on three variables which sum to a constant.
  • Point Series Droplines - the Point Series now supports drop lines. Drop lines are lines which extend from the point X, Y, Z value to the chart walls. Optionally drop lines can extend to the axis Min, Max value or to a user specified value (drop lines origin).
  • Bar Connect Lines - the Bar Series now supports connector lines between adjacent bars.
  • Float Bar Connector Lines - The Float Bar Series now supports connector lines between adjacent bars begin / end values.
  • Heat Map Contour Labels - The Heat Map Series supports annotated contours. The user can specify the formatting of the contour value (elevation). the distance between labels along the contour, whether the labels orientation must follow the contour slope, whether the label should clip the contour line it annotates and others.
  • TimeSpan Scale - this type of scale allows you to display duration of time (time span) (usually on the X Axis). The duration is specified in time spans or ticks.


What is New in 2016 Vol. 1
Version History > What is New in 2016 Vol. 1

Following is a summary of the new features introduced by the 2016.1 release:

Enhancements to Nevron Chart for SharePoint

Nevron Chart for SharePoint is enhanced with the following features:

  • New Heat Map series - this charting type lets you display a matrix of elevation values as a grid of colors, which are taken from an associated palette. In addition the heat map series can show a set of contour lines (isolines) that cross specified elevation values.
  • New Subtypes for Polar Charts - the Polar chart contains the Polar Range and Polar Vector chart subtypes. Both chart subtypes allows you to visualize a pair of polar coordinates as a range or vector respectively.
  • New Table Scale - the Table Scale can visualize the data values of the series represented in a particular category. Table rows can be annotated with a series name and table columns can be annotated with the category name. This feature is very useful for stacked and clustered bar charts.
  • Value Palette - the Bar, Area, Smooth Area, Range and High Low series have been extended to support a feature called value palette. This feature allows you to color code the data points of the series depending on a their value so that the chart becomes more visually appealing to the user.
  • Bar Chart type supports a Histogram chart subtype with many options for controlling the histogram bin ranges.
  • Axis Scales have the abitlity to hide the first / last automatically generated label.
Enhancements to Nevron Barcode for SharePoint

Nevron Barcode for SharePoint is enhanced with the following features:

  • Content Alignment - when in Scale mode the barcode content can be alignned to the barcode content area.
  • Show Label - the linear barcode labels can be optionally shown / hidden.
  • Data Matrix - new matrix barcode type.


What is New in 2015 Vol. 1
Version History > What is New in 2015 Vol. 1

Following is a summary of the new features introduced by the 2015.1 release:

New Web Parts - introducing Nevron Map for SharePoint and Nevron Barcode for SharePoint

Nevron Vision for SharePoint 2015.1 introduces the following new web parts:

Nevron Map for SharePoint is an advanced report for all versions Microsoft SharePoint. It is designed to provide report authors with an easy and powerful way to create choropleth maps that are tightly integrated with your data. The component delivers a great set of features including:

  • Support for Multiple Layers - unlimited number of map layers are supported. Each map layer can display either a predefined or custom ESRI map.
  • Support for Multiple Legends - unlimited number of legends are supported. Each map layer can be assigned to a different legend. Legends can be manually positioned or docked to map and map plot area.
  • Support for Multiple Titles - unlimited number of titles are supported. Titles can be manually positioned or docked to map and map plot area.
  • Predefined Maps - the web part can display predefined maps of the World, USA, and all USA states.
  • Custom Maps - the web part can display custom ESRI maps.
  • Map Projections - support for 22 map projection types.
  • Map Fill Rules - support for 2 and 3 color gradient filling rules as well as distinct value filling rules.
  • Map Fill Rules Distribution - support for Equal, Equal Interval and Optimal map values distribution modes.
  • Map Legend - each map layer can be annotated on a different legend. Legend modes include fill rule ranges and items with template options.
  • Map Zooming - options to specify the items of the maps to which to zoom. Several zooming modes are provided including Zoom To Bounds, Zoom to Layer, Zoom to Data Bounds Shapes and Zoom to Shapes matching a specific criteria.
  • Code Embedding - allows you to modify every aspect of the map appearance using C# code.

See Map Overview for more information.

Nevron Barcode for SharePoint is an advanced report for all versions of Microsoft SharePoint. It is designed to provide report authors with an easy and powerful way to create linear and matrix barcodes that are tightly integrated with your data. The component delivers a great set of features including:

  • Support for Multiple Barcode areas - unlimited number of barcode areas are supported. Each barcode area can display either a linear or matrix barcode.
  • Support for Multiple Titles - unlimited number of titles are supported. Titles can be manually positioned or docked to barcode and barcode plot area.
  • Linear Barcodes - the web part can display 28 linear barcode symbologies, including: Codabar, Code 11, Code 39, Code 39 Extended, Code 93, Code 128, Code 128A, Code 128B, Code 128C, EAN8,
    EAN 13, FIM, Interleaved 2 of 5, ISBN, ITF14, JAN13, MSI 2Mod10, MSI Mod10, MSI Mod11, MSI Mod11 Mod10, Pharmacode, PostNet, Standard 2 of 5, Telepen, UPCA, UPCE, UPC Supplemental 2Digit and UPC Supplemental 5Digit.
  • Matrix Barcode - support for QR Code and PDF417.
  • Correction Level - support for Low, Medium, Quartile and High correction levels
  • Scaling Modes - support for fit and custom scale scaling modes.
  • Pixel Snapping - integrated pixel snapping that displays the barcode in such a zoom level that avoids antialiasing and displays barcode symbols at exact pixels.
  • Code Embedding - allows you to modify every aspect of the barcode appearance using C# code.

See Barcode Overview for more information.

Enhancements to Nevron Chart for SharePoint

Nevron Chart for SharePoint is also enhanced with the following features:

  • New Tree Map series - this unique for SharePoint charting type lets you display tree map charts that display hierarchical data from your data set. The Tree Map series features many advanced coloring and labeling options. See Tree Map Chart for more information.
  • New Linear Regression Calculated Series - this new calculated series helps you display a linear interpolation of a categorical or XY scatter data set. See Values Data Groupings - Calculated Series for more information.
  • New Polynomial Regression Calculated Series - this new calculated series helps you display a polynomial interpolation of a categorical or XY scatter data set. The user can choose the interpolation polynomial degree, meaning that you interpolate your data set as a quadratic, cubic or higher degree polynomial. See Values Data Groupings - Calculated Series for more information.
Enhancements to the JavaScript API
The Nevron SharePoint Vision JavaScript API has been enhanced with the Query Data Source functions. See Custom Parameters with Nevron JavaScript API for more information.


What is New in 2014 Vol. 1
Version History > What is New in 2014 Vol. 1

Following is a summary of the new features introduced by the 2014.1 release:

  • Performance - the Chart and Gauge web parts now use the highly optimized Nevron Chart for .NET 2014.1 engine. This leads to performance improvements in nearly all charting types. Significant performance gains are experienced in all 3D charting types.
  • Calculated Series - the Chart web part now has full support for Calculated Series. Calculated Series are line series that are attached to a master series and display a trendline or formula that is based on the master series values. In the 2014.1 we have added support for the following calculated series formulas:

Min
Max
Median
Cumulative
Sum
Average
Exponential Average
Root Mean Square
Standard Deviation
Bollinger Bands
Envelopes
Simple Moving Average
Weighted Moving Average
Exponential Moving Average
Modified Moving Average
Median Price
Typical Price
Weighted Close
Positive Direction Indicator
Negative Direction Indicator
Directional Movement Index
Average Directional Movement
Average True Range
Chaikins Volatility
Commodity ChannelIndex
Detrended Price Oscillator
Mass Index
Momentum
Momentum Division
Moving Average Convergence Divergence
Performance
Rate Of Change
Relative Strength Index
Stochastic Oscillator
TRIX
True Range
Williams % R

The calculated series also feature full control over their appearance, chart area, display on axes, data labels, data labels layout, markers, action and formula specific parameters. Take a look at the Values Data Groupings - Calculated Series topic for more info.

  • Others Pie Group - the Chart web part now has built-it support for grouping pie slices that are below a certain value or percent in an "Others" group. The "Others" group label, appearance and action is also fully controllable. The "Others" group feature greatly increases the readability of pie charts with multiple small slices. Take a look at the Pie Chart topic for more info.


What is New in 2012 Vol.1
Version History > What is New in 2012 Vol.1

Following is a summary of the new features introduced by the 2012.1 release:

  • Expressions Everywhere
    Nearly all properties of the Chart and Gauge web parts, can now be specified by expressions. Appearance styles (fill, stroke, shadow and text) are also reworked to support both constant specification and specification that is based on expressions. This allows you to bind nearly all configurable aspects of the web parts to user defined parameters and/or data. Expressions are now available even in data source connections, which makes it possible to create dynamic data source binding, based on expressions and parameters. See Property Editors for more info.

  • Controllable Visibility of Essential Chart and Gauge elements
    Chart Areas, Chart Values, Chart Titles, Gauge Areas and Gauge Titles now have controllable visibility. This new feature in combination with expressions can help you dynamically change the type of data visualization (for example flip between area and bar charts, flip between radial and linear gauge, dynamically show/hide titles etc.)

  • Conditional Data Points Appearance
    The filling and stroking of chart data points can now be specified with expressions. This allows you to quickly author complex "color coding" logic only with expressions.

  • New Predefined Parameters
    The set of predefined parameters has been increased to include the following:

    Related to SharePoint User: [UserName], [UserLoginName], [UserId]. With the help of these parameters it is now possible to author audience sensitive expressions (i.e. evaluate to different values, based on who is viewing the web parts).
    Related to Browser: [BrowserName], [BrowserMajorVersion], [BrowserMinorVersion], [BrowserScreenWidth], [BrowserScreenHeight]. With the help of these parameters it is now possible to author browser sensitive expressions (i.e. evaluate to different values, based on the current user browser).

    See Parameters for more info.

  • Ability to Consume SharePoint Field Filters as Parameters
    SharePoint Field Filters can now be sent to Chart and Gauge webparts. Because SharePoint Field Filters are supported by nearly all filter webparts that come along with SharePoint (Text Filter, Date Filter, Query String Filter etc.), it is now possible to author complex dashboards, with user driven parameters entirely visually. See Custom Parameters with SharePoint Filter WebParts for more info.

  • Rendering Improvements
    The overall speed of the entire rendering process has been improved. This is due to optimizations in webparts rendering engines, the webparts template models and the storage of temporary image data. Added was a new Image Acquisition Mode - Embedded (selected by default), that eliminates the need for temporary image data and an additional GET request in case the SharePoint page is viewed with modern browsers that support image embedding (Chrome, Firefox, Opera, Safari, IE 9 etc.). IE 8 has limited support for image embedding and such is not present in IE 7 and IE 6. For such old browsers, the webparts automatically falls back to HttpHandler mode.

  • Configuration/Diagnostics Improvements
    The web parts now support full error and command logs, that can help you diagnose problems related to their runtime behaviour. The config file has been extended to support session state and auto storage, that smartly chooses between session state, application state and SharePoint specific stores of webpart or web page based temporary data. See The WebParts Config File for more info.

  • New Data Source Connection - SharePoint Site Query
    The web parts can now connect to a new type of data source - SharePoint Site Query. This allows you to display aggregated data, that is extracted from multiple sites and/or lists. See Connecting to a SharePoint Site Query for more info.
  • Panel Content Alignment
    Panel content alignment allows you to align the content of horizontally or vertically adjacent chart, legend and title areas. This allows you to create better looking dashboards with multiple panels.
  • Twin Charts
     Twin charts allow you automatically align two adjacent charts areas.
  • Radar Axis Improvements
    Radar Axis Category labels have been improved to support different position, fit and alignment modes.
  • Step Line Improvements
    The Step Line has support for automatic data resampling. This allows for the visualization of very large datasets.
  • Surface Improvements
    The Triangulated Surface has an option to simplify the data set. This allows for the visualization of large XYZ data sets.

Nevron Vision for SharePoint 2012 Vol. 1 fixed the following problems:

  • Problems Related to the IE Family of Browsers
    This release fixes many problems related to the most problematic family of browsers - Internet Explorer. We have fixed the overflow problems with webpart preview, data source fields as well as with all editors that can possibly overflow in result to long data source field names. The web-colors picker now highlights the selected and the hovered colors.


What is New in 2011 Vol. 1
Version History > What is New in 2011 Vol. 1

Nevron Vision for SharePoint 2011 Vol. 1 introduces:

  • Parameters and drill down reports - this exciting new feature allows for the development of interactive dashboards and drill down reports. Parameters can be consumed from any expression (see Variables). Parameters can be passed as arguments to the newly added JumpToReport action (see Actions and Drill Down reports). Parameters can also be directly integrated into any SharePoint page (see Custom Parameters with Nevron JavaScript API).
  • Ability to connect to SP List and WebPartTable data sources that reside in a StaticSite (fixed site), CurrentSite (dynamic site) and CurrentWeb (dynamic web). The site resolution mode allows you to develop web parts templates that can be directly deployed to production environments without the need to refactor the data source connection.
  • Ability to globally (per site-server) configure some user interface elements visibility and some aspects of the web parts behavior through a configuration file. This allows you to fine tune the web parts to perform better and more reliably in the context of your SharePoint environment. See The WebParts Config File for more info.
  • Both Charts and Gauges are now using deferred rendering. This allows for the instant showing of very complex SharePoint pages as the Nevron Web Parts will defer the data aggregation and rendering tasks in separate AJAX requests to the server. This allows for faster data processing that fully utilizes your server capabilities, as separate AJAX requests can be handled by different threads of your server. It also helps the user actually see what is currently being processed, opposed to the immediate rendering mode in which the SharePoint page gets served to the client after all web parts have aggregated the data and rendered the respective visual representation.
  • Both Charts and Gauges can now be instructed to automatically refresh themselves at the client side, at user specified intervals of time. This allows for the development of real time dashboards that automatically update themselves at the client side through AJAX, and eliminates the need for manual web page refresh. See Chart Rendering Options and Gauge Rendering Options for more info.
  • Both the Chart and Gauge designers now show the current user, site and web and other info about the context of which they are performing the web part editing.
  • A new Image Fill Style has been added to all Fill Style editors. This feature allows you to display image based textures on all charts and gauge elements that have an associated fill style. See Fill Style Editor for more info.
  • Ability to connect the Chart and Gauge web parts to other web parts that implement the IWebPartTable interface. This allows you to develop custom web parts that surface any type of data, that cannot be accessed by the currently available data source connections. See Connecting to a Web Part Table for more info.

  • The Charts and Gauge control document building and rendering has been completely revised. As a result you should see significant speed improvement.

  • All charting types now support automatic data label layout. The data label layout prevents labels from overlapping in both ordinal and scatter charts and works in 2D and 3D appearance modes.

  • The axes have been extended to support const lines with texts as well as const ranges.

  • All Cartesian axes now support the axis orientation feature.

  • The XML formatted text feature is extended to support additional XML tags that allows you to specify the text background and border.

  • The Line and Point charting types support options for automatic data resampling. This allows for the visualization of very large datasets.

  • The Area, Line, Pie, Error Bar, Step Line, Point and Surface charting types have additional features.

  • Legends have additional layout options - added are the Horizontal and Vertical wrap options that allow the legend to automatically wrap the items when the horizontal or vertical space allocated for it is exceeded.

  • Chart areas have additional options that allow finer control over the chart aspect in 2D.

Nevron Vision for SharePoint 2011 Vol. 1 fixed the following problems:

  • You no longer need to be the site administrator to visually browse the sites, webs, lists and views.
  • The web parts are now using only FIPS (stands for "U.S. Government Federal Information Processing Standards") compliant cryptography algorithms. This allows for the safe deployment of Nevron Web Parts to FIPS enabled SharePoint servers.
  • The absence of the SPLIT function from the formula engine has been fixed.


What Is New in 2010 Vol.1
Version History > What Is New in 2010 Vol.1

Nevron Vision for SharePoint 2010 Vol. 1 introduces:

  • The leading gauge web part for SharePoint - see Gauge Overview for a brief overview of its features.
  • Both charts and gauges can now bind the Excel Services - see Connecting to Excel Web Services.
  • You can inject custom code in both charts and a gauges - see Code Injection.
  • Actions can now be associated with the chart walls and axes.
  • New visual expression editor (Fx editor) that lets you author expressions visually and more quickly. The Fx editor is available at all places where an expression can be specified (grouping, filtering, sorting expressions, titles, labels, chart data values, gauge formulas etc).
  • New statistical functions - MEDIAN, PERCENTILE, VARIANCE and STDDEV - see Mathematical Functions.
  • New type functions - TONUM, TODATETIME, TOBOOL - see Type Functions.

Nevron Vision for SharePoint 2010 Vol. 1 fixed the following problems:

  • Visually the rendering Width/Height of the chart was clamped on specific non English servers (language dependant).
  • Text editors are now implemented as text areas, thus allowing for texts with any markup to be used.
  • The chart interference problem with other third party web parts has been fixed.


License Agreement
Getting Started > License Agreement

License Agreement

NEVRON SOFTWARE LICENSE AGREEMENT
Nevron SharePoint Vision License Agreement

IMPORTANT: Read carefully the following license agreement before installing or using Nevron Software Products, and/or all related materials.

This License Agreement is a legal agreement between NEVRON SOFTWARE LLC, a corporation with its principal place of business located at 501 Silverside Road Suite 105, Wilmington, DE 19809, USA (hereinafter referred to as "Nevron") and you (either an individual or an entity), the licensee of the Nevron Software Products and the Nevron SharePoint Vision product family including:

  1. "Nevron SharePoint Vision",
  2. "Nevron Chart for SharePoint" or
  3. "Nevron Gauge for SharePoint" or
  4. "Nevron Map for SharePoint" or
  5. "Nevron Barcode for SharePoint"
which includes computer software, and may include associated media, printed materials, online or electronic documentation (such products and materials being hereinafter referred to as "Software").

Each of the following acts by you, your employee or agent, shall constitute your acceptance of the terms and conditions of this Agreement and your agreement to be bound thereby:

  1. loading or installing any of the executable files, DLL's or data files of Nevron into memory or virtual memory of any computer;
  2. clicking to signify acceptance of this Agreement during the software installation process;
  3. opening the sealed disk package, if any;
  4. delivering a signed copy of this Agreement to Nevron;
You shall have no rights to any of the Software or its use unless you have accepted the terms and conditions of this Agreement and agreed to be bound thereby.

BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE, YOU AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE AGREEMENT. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT AND DO NOT INDICATE YOUR ACCEPTANCE, YOU WILL NOT BE PERMITTED TO USE THE SOFTWARE.

1. UTILITY OF THE SOFTWARE: The Software is intended to be used to extend the capabilities of Windows SharePoint Services® v3.0, Microsoft Office SharePoint Server 2007 or Microsoft Office SharePoint Server 2010 (hereinafter referred to as "SharePoint", "MOSS" or "WSS").

2. GRANT OF LICENSE RIGHTS: The Software is licensed on a per production server basis. In consideration of your acceptance to be bound by the terms and conditions of this Agreement, Nevron grants you the non-exclusive, non-transferable right to use the Software for the sole purpose of creating charts, gauges and diagrams or graphs (graphical representations or diagrams) within Windows SharePoint Services®, Microsoft Office SharePoint Server 2007 or Microsoft Office SharePoint Server 2010 and on one or more test servers used for testing and evaluation purposes only, provided that:

  1. you have registered this Software with Nevron;
  2. a separate Production Server License is required for each Server in your Production environment and for each Web Front End (WFE) Server in your Production Farm environment on which you will be installing and running the Software;
  3. you shall not substantially duplicate the capabilities of the Software or, in the reasonable opinion of Nevron, compete with, directly or indirectly, the Software;
  4. you do not use the Software as or to create a product or service or utility which exposes the functionality of the Software to other users in such a way as to compete, directly or indirectly, with the Software;
  5. you do not use the Software as separate components and you will not use the Software for building ASP.NET applications or standalone applications in any platform or environment besides a SharePoint server;
  6. you agree not to remove any copyright, trademark or patent notices contained in or on the Software;
  7. you agree to indemnify, defend and hold Nevron harmless from and against any claims or lawsuits, including reasonable attorney's and legal fees, that arise or result from the use or distribution of the Software.
Your rights to use the Software are conditional on your compliance with the terms of this Agreement.

2.1. PRODUCTION SERVER ENVIRONMENTS: A Production Server License for the Software is bound to a single Production Server ID. Single Production Server License for the Software may only be used on one and the same Production Server environment.

A Production Server License for the Software is required for each additional Server in your Production environment and for each Web Front End (WFE) Server in your Production Farm environment on which you will be installing and running the Software.

There is no restriction on the number of users viewing the Production Server environment. There is no restriction on the number of designers or developers working with the Software in the Production Server environment, Development or Test Server environments.

2.2. PRODUCTION SERVER LICENSE FEES: The Software Production Server License cost is determined based on the number of Servers in your Production environment or the number of Web Front End Servers where the Software is being installed and the type of Nevron Services provided with the License (Subscriptions, Technical Support etc.).

Prices are available upon request and are subject to change. Please consult Nevron or its authorized resellers as to current fees before placing an order. All license fees are non-refundable and non-cancelable.

2.3. DEVELOPMENT AND TEST SERVER ENVIRONMENTS: The Software may be used on one or more Development or Test Server environments in evaluation mode and does not require a Production Server license. The evaluation Software may be used for evaluation and testing purposes only.

There is no restriction on the number of designers or developers working with the Software in the Development or Test Server environments.

3. OWNERSHIP OF SOFTWARE: As the licensee, you own the magnetic or other physical media on which the Software is originally or subsequently recorded or fixed, but an express condition of this Agreement is that Nevron retain the ownership, title, copyright, and other intellectual property rights of the Software. The Software is licensed, not sold, and all rights not expressly granted in this Agreement are reserved by Nevron.

4. COPYRIGHT: The Software is owned by Nevron Software LLC and is protected by United States copyright laws and international treaty provisions. Nevron owns and retain all right, title and interest in and to the Software, including all copyrights, patents, trade secret rights, trademarks and other intellectual property rights therein.

You acknowledge that your possession, installation, or use of the Software does not transfer to you any title to the intellectual property in the Software, and that you will not acquire any rights to the Software except as expressly set forth in this Agreement. You agree that any copies of the Software will contain the same proprietary notices that appear on and in the Software. You will not copy all or a substantial part of the Software, except to the extent necessary to install the program in a single hard disk or other storage device and as provided herein or except in compliance with the grant of rights to you herein.

You may copy the Software solely for backup and archival purposes, provided that the original and each copy are kept in your possession and that your installation and use of the Software does not exceed that allowed in the "GRANT OF LICENSE RIGHTS" section above.

A License for the Software may not be shared or used concurrently on different computers.

5. INTELLECTUAL PROPERTY RIGHTS: You acknowledge that the Software and any copies that you are authorized to make in accordance with this Agreement are the intellectual property of and are owned by Nevron Software LLC. The Software is protected by copyright, including without limitation by United States Copyright Law, international treaty provisions and applicable laws in the country in which it is being used.

You acknowledge that Nevron retains the ownership of all patents, copyrights, trade secrets, trademarks and other intellectual property rights pertaining to the Software, and that Nevron's ownership rights extend to any images, photographs, animations, videos, audio, music, text and "applets" incorporated into the Software and all accompanying materials. You will take no actions which adversely affect Nevron's intellectual property rights in the Software.

Except as expressly stated above, this Software License Agreement does not grant you any intellectual property rights in the Software.

6. REDISTRIBUTABLE CODE: No Portions of the Software are designated as "Redistributable Code".

7. LIMITED TRANSFER RIGHTS: This license may not be transferred or assigned to anyone without the prior written consent of Nevron. Any authorized transferee of the Software shall be bound by the terms and conditions of this Agreement.

Notwithstanding the foregoing, you may transfer all your rights to use the Software to another person or legal entity provided that:

  1. you also transfer each of this Software License Agreement, the Software and all other software or hardware bundled or pre-installed with the Software, including all copies, updates and prior versions, and all copies of font software converted into other formats, to such person or entity;
  2. you retain no copies, including backups and copies stored on a computer;
  3. the receiving party secures a personalized serial number from Nevron; and
  4. the receiving party accepts the terms and conditions of this Software License Agreement and any other terms and conditions upon which you legally purchased a license to the Software.
Notwithstanding the foregoing, you may not transfer education, pre-release, or not-for-resale copies of the Software.

8. OTHER RESTRICTIONS:
8.1. No Reverse Engineering, no decompilation and no disassembly
You shall not reverse engineer, decompile or disassemble the Software.

8.2. No sublicensing, rental, no leasing and no lending
You may not sublicense, rent, lease or lend any portion of the Software. You may not provide commercial hosting services with the Software (except to the extent that the Software is integrated into a Production environment, on the terms provided in this Agreement, which is made available for use by end users through a hosted service).

You may not redistribute the Software without the express written consent of Nevron which will be granted through a Nevron Software OEM License Agreement.

8.3. Non-competition clause
The Licensee Software cannot compete with the Software. Under no circumstances may the Software be used in whole or in part, as the basis for creating a product that provides the same, or substantially the same, functionality as any Nevron Software.

The Licensee Software must not substantially duplicate the capabilities of the Software or, in the reasonable opinion of Nevron, compete with, directly or indirectly, the Software. You agree not to use the Software as or to create a product or service or utility which exposes the functionality of the Software to other users in such a way as to compete, directly or indirectly, with the Nevron Software.

9. ADDITIONAL PROVISOS FOR EVALUATION AND BETA VERSIONS SOFTWARE
9.1. ADDITIONAL PROVISOS FOR EVALUATION VERSIONS SOFTWARE
If the Software is identified as Evaluation version Software ("Evaluation Software"), the following section applies to all evaluation and/or demonstration copies of Nevron Software and continues in effect until you purchase a license for the Software:

  1. the Software may be used on one or more Development or Test Server environments;
  2. the Software may only be used for testing and evaluation purposes and may not be redistributed;
  3. access to any files created with the Evaluation Software is entirely at your risk; and
  4. you agree that the Software is provided "as is, where is" without warranty or condition of any kind.

There is no restriction on the number of designers or developers working with the Software in the Development or Test Server environments.

If the Evaluation Software has a time-out feature, then the software will cease operation after the conclusion of the designated evaluation period. Upon such expiration date, your license will expire unless otherwise extended.

9.2. ADDITIONAL PROVISOS FOR BETA VERSIONS SOFTWARE
To the extent that any provision in this section is in conflict with any other term or condition in this Software License Agreement, this section shall supersede such other term(s) and condition(s) only with respect to the Pre-release or Beta Software, but only to the extent necessary to resolve the conflict.

If the Software is identified as Beta version Software ("Pre-release Software"), the following additional provisions apply:

  1. you acknowledge that the Pre-release Software is a pre-release version, does not represent final product from Nevron, and may contain bugs, errors and other problems that could cause system or other failures and data loss, and may be substantially modified by Nevron prior to commercial release;
  2. this license expires in respect of Pre-release Software upon availability of a commercial release of the Software from Nevron;
  3. the Software may only be used for testing and evaluation purposes and may not be redistributed;
  4. access to any files created with the Pre-release Software is entirely at your risk; and
  5. you agree that the Software is provided "as is, where is" without warranty or condition of any kind.

CONSEQUENTLY, THE PRE-RELEASE SOFTWARE IS PROVIDED TO YOU "AS-IS" WITH NO WARRANTIES FOR USE OR PERFORMANCE, AND NEVRON DISCLAIMS ANY WARRANTY OR LIABILITY OBLIGATIONS TO YOU OF ANY KIND, WHETHER EXPRESS OR IMPLIED.

You acknowledge that Nevron has not promised or guaranteed to you that Pre-release Software will be announced or made available to anyone in the future, that Nevron has no express or implied obligation to you to announce or introduce the Pre-release Software, and that Nevron may not introduce a product similar to, or compatible with the Pre-release Software. Accordingly, you acknowledge that any research or development that you perform regarding the Pre-release Software or any product associated with the Pre-release Software is done entirely at your own risk. During the term of this Software License Agreement, if requested by Nevron, you will provide feedback to Nevron regarding testing and use of the Pre-release Software, including error or bug reports. You may not sublicense, lease, loan, rent, distribute or otherwise transfer the Pre-release Software.

10. TRADE SECRETS AND CONFIDENTIALITY: You agree with Nevron that:

  1. the Software contains information or material which is proprietary to Nevron ("Confidential Information"), which is not generally known other than by Nevron, and which you may obtain knowledge of through, or as a result of the relationship established hereunder with Nevron. Without limiting the generality of the foregoing, Confidential Information includes, but is not limited to, the following types of information, and other information of a similar nature (whether or not reduced to writing or still in development): designs, concepts, ideas, inventions, specifications, techniques, discoveries, models, data, source code, object code, documentation, graphs, diagrams, flow charts, research, development, methodology, processes, procedures, know-how, new product or new technology information, strategies and development plans (including prospective trade names or trademarks);
  2. such Confidential Information has been developed and obtained by Nevron by the investment of significant time, effort and expense, and provides Nevron with a significant competitive advantage in its business;
  3. you agree that you shall not make use of the Confidential Information for your own benefit or for the benefit of any person or entity other than Nevron, except for the expressed purposes described in the paragraph hereof entitled " UTILITY OF THE SOFTWARE ", in accordance with the provisions of this Agreement, and not for any other purpose;
  4. you agree to hold in confidence, and not to disclose or reveal to any person or entity, the Software, the Documentation or any other Confidential Information concerning the Software other than to such persons as Nevron shall have specifically agreed in writing to permit you to so disclose, except where such disclosure is necessary for you to utilize the Software for the furtherance of the expressed purposes described in the paragraph hereof entitled " UTILITY OF THE SOFTWARE ", in accordance with the provisions of this Agreement, and not for any other purpose; and
  5. you acknowledge the purpose of this paragraph entitled " TRADE SECRETS AND CONFIDENTIALITY " is to protect Nevron's ability to limit the use of the data and the Software generally to licensees, and to prevent use of Confidential Information concerning the Software by other developers or vendors of software.

11. RIGHTS TO IDEAS AND MATERIALS PROVIDED TO NEVRON: You grant Nevron, its affiliated companies and necessary sub-licensees and its licensors and suppliers permission to use and a grant of a worldwide, non-terminable, royalty-free, fully assignable and transferable right and license in perpetuity to use materials you provide to Nevron (including feedback and suggestions) or post, upload, input or submit ("Post") to Nevron or to any services for review by the general public, or for review by the members of any public or private community (a "Submission" or collectively "Submissions") for all purposes of Nevron, including, without limitation, the license rights to: copy, distribute, transmit, publicly display, publicly perform, reproduce, edit, translate and reformat your Submission; to use the ideas, concepts, methods, designs, code you have Posted for evaluation and testing and for use, deployment, sub-licensing or other exploitation, and/or integration into a Nevron product or service for evaluation, testing, use, deployment, sub-licensing and other exploitation; to publish your name in connection with your Submission; and the right to sublicense all such rights. You confirm that you will own or otherwise control all of the rights to your Submission including, without limitation, all the rights necessary for you to provide, post, upload, input or submit your Submissions.

NEVRON OR ANY OF ITS EMPLOYEES DO NOT ACCEPT OR CONSIDER UNSOLICITED IDEAS, INCLUDING IDEAS FOR NEW ADVERTISING CAMPAIGNS, NEW PROMOTIONS, NEW PRODUCTS OR TECHNOLOGIES, PROCESSES, MATERIALS, MARKETING PLANS OR NEW PRODUCT NAMES. PLEASE DO NOT SEND ANY ORIGINAL CREATIVE ARTWORK, SAMPLES, DEMOS, OR OTHER WORKS. THE SOLE PURPOSE OF THIS POLICY IS TO AVOID POTENTIAL MISUNDERSTANDINGS OR DISPUTES WHEN NEVRON'S PRODUCTS OR MARKETING STRATEGIES MIGHT SEEM SIMILAR TO IDEAS SUBMITTED TO NEVRON. IF, DESPITE THIS REQUEST THAT YOU NOT SEND US IDEAS AND MATERIALS, YOU STILL SEND THEM, PLEASE UNDERSTAND THAT NEVRON MAKES NO ASSURANCES THAT YOUR IDEAS AND MATERIALS WILL BE TREATED AS CONFIDENTIAL OR PROPRIETARY. RATHER, YOU HEREBY GRANT TO NEVRON A WORLDWIDE, NON-TERMINABLE, ROYALTY FREE RIGHT AND LICENSE TO USE AND EXPLOIT SUCH IDEAS AND MATERIALS AS STATED HEREIN IN PERPETUITY.

12. TRANSFER OF "BUG FIXES": You may deliver or suggest "bug fixes" for Nevron's consideration in the event problems or defects are discovered in the Software. Nevron shall have the absolute right to incorporate all such "bug fixes" accepted by Nevron into Nevron products and services for all purposes, without any payment or other compensation to you. All right, title and interest to any submitted "bug fixes", whether accepted or not, shall transfer to Nevron at no cost to Nevron.

13. UPGRADES: Nevron may create, from time to time, maintenance releases, including bug fixes, service packs, incremental and minor version upgrades to the Software. Nevron, at its opinion, may upgrade users (free of charge) to a newer version of a Nevron Software product in order to fix a known issue that has been fixed in a service pack or minor version.

To use a version of the Software identified as an upgrade, maintenance releases, service pack, incremental or minor version upgrade, you must first be properly licensed for the version of the Software identified by Nevron as eligible for the upgrade in order to use the Software. After upgrading, you will no longer receive Support for the Software that formed the basis for the upgrade.

Any maintenance releases, including bug fixes, service packs, incremental and minor version upgrades provided to you pursuant this Agreement or any other agreement relating to the Software will be governed by the terms of this Agreement.

14. TERMINATION: This License Agreement takes effect upon your use of the Software and your acceptance of the Agreement. The Agreement is effective until terminated. Nevron may terminate this Agreement upon issuance of written notice to you due to:

  1. an intellectual property infringement claim relating to the Software in the event that Nevron is unable to remedy the infringement by providing a work-around or by obtaining the required license rights;
  2. in accordance with applicable law, including a court order; or
  3. your breach of any terms of this Agreement.

Upon termination of this License Agreement, you agree to destroy or return the Documentation and all copies of the Software in your possession, including all updates, supplements, add-on components, or internet-based services, of the Software that Nevron has provided to you.

15. LIMITED WARRANTY: NEVRON EXPRESSLY DISCLAIMS ANY WARRANTY FOR THE SOFTWARE. THE SOFTWARE AND ANY RELATED DOCUMENTATION (INCLUDING INSTRUCTIONS FOR USE) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, SATISFACTORY QUALITY, INFORMATIONAL CONTENT OR ACCURACY, QUIET ENJOYMENT, TITLE AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES.

NEVRON DOES NOT WARRANT, GUARANTEE OR MAKE ANY REPRESENTATIONS REGARDING THE USE, OR THE RESULTS OF USE, OF THE SOFTWARE OR DOCUMENTATION IN TERMS OF CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE. THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF THE SOFTWARE IS ASSUMED BY YOU.

NEVRON DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS, THAT OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ALL SOFTWARE ERRORS WILL BE CORRECTED. NEVRON IS NOT RESPONSIBLE FOR PROBLEMS CAUSED BY CHANGES IN THE OPERATING CHARACTERISTICS OF COMPUTER HARDWARE OR COMPUTER OPERATING SYSTEMS WHICH ARE MADE AFTER THE RELEASE OF THE SOFTWARE NOR FOR PROBLEMS IN THE INTERACTION OF THE SOFTWARE WITH NON-NEVRON PRODUCTS.

NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY NEVRON, ITS EMPLOYEES, DISTRIBUTORS, DEALERS OR AGENTS SHALL INCREASE THE SCOPE OF THE ABOVE WARRANTIES OR CREATE ANY NEW WARRANTIES.

NEITHER NEVRON NOR ANYONE ELSE WHO HAS BEEN INVOLVED IN THE CREATION, PRODUCTION OR DELIVERY OF THE SOFTWARE (INCLUDING, WITHOUT LIMITATION, NEVRON’S LICENSORS AND SUPPLIERS) SHALL BE LIABLE UNDER ANY LEGAL THEORY, WHETHER IN CONTRACT OR TORT OR PRODUCTS LIABILITY OR OTHERWISE, FOR ANY INDIRECT, CONSEQUENTIAL OR INCIDENTAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS LOSSES, BUSINESS INTERRUPTION, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, LOSS OF DATA, LOSS OF GOODWILL, AND ANY OF THE LIKE) ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE, OR ANY OTHER CLAIM BY ANY PARTY EVEN IF NEVRON HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

YOU CONTROL THE DEVELOPMENT, COMPLETION, IMPLEMENTATION, INSTALLATION, AND USE OF ANY APPLICATION CONTAINING THE SOFTWARE. NEVRON HAS NO CONTROL OF THE CONDUCT OF ANY USE OF ANY APPLICATION CONTAINING THE SOFTWARE AND NO CONTROL OF OR INTEREST IN THE SOFTWARE APPLICATIONS OR SERVICES OFFERED BY YOU. YOU AGREE TO INDEMNIFY AND HOLD NEVRON HARMLESS FROM AND AGAINST ANY CLAIMS, DAMAGES, OR LOSS YOU MAY SUFFER RESULTING FROM ANY CLAIMS BY SUB-LICENSEES, AND END USERS OF THE SOFTWARE OR OF ANY WORK OR ANY APPLICATION CONTAINING THE SOFTWARE, FOR ANY REASON WHATSOEVER INCLUDING ANY CLAIMS RESULTING FROM ERRORS IN DATA, ERRORS IN DATA PROCESSING, THE COMPLETE AND TOTAL FAILURE OF THE SOFTWARE OR ANY APPLICATION CONTAINING THE SOFTWARE TO PERFORM ANY OF ITS FUNCTIONS, WILFUL MISCONDUCT, OR OTHER DEFECT OR DEFICIENCY IN YOUR WORK OR IN THE PRODUCT OR SERVICE OFFERED BY YOU TO YOUR SUB-LICENSEES AND END USERS WHICH INCLUDES THE SOFTWARE, INCLUDING ANY DIRECT, INDIRECT, CONSEQUENTIAL OR INCIDENTAL DAMAGES (INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS LOSSES, BUSINESS INTERRUPTION, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, LOSS OF DATA, LOSS OF GOODWILL, AND ANY OF THE LIKE) OR ANY OTHER CLAIM BY ANY PARTY EVEN IF NEVRON HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

16. LIMITATION OF LIABILITY: TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW EVEN IF A REMEDY FAILS ITS ESSENTIAL PURPOSE, IN NO EVENT SHALL NEVRON OR ITS SUPPLIERS OR RESELLERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES, EVEN IF NEVRON HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

IN ANY CASE, NEVRON’S ENTIRE LIABILITY UNDER ANY PROVISION OF THIS SOFTWARE LICENSE AGREEMENT SHALL BE LIMITED TO THE AMOUNT ACTUALLY PAID BY YOU FOR THE SOFTWARE PRODUCT.

17. NO OPEN SOURCE: Your right to the Software does not include any license, right, power or authority to subject the Software in whole or in part to any of the terms of an Excluded License. An "Excluded License" means any "open source" or other license that require as a condition of use, modification and/or distribution of software subject to the Excluded License, that such software or other software combined and/or distributed with such software be

  1. disclosed or distributed in source code form;
  2. licensed for the purpose of making derivative works; or
  3. redistributable at no charge.

18. ACKNOWLEDGEMENT: You acknowledge having read and understood this Agreement, and agree to be bound by its terms and conditions. You agree that this Agreement is the complete and exclusive statement of agreement between the parties and supersede all proposals or prior agreements oral or written, and any other communications between the parties relating to the subject matter of this Agreement.

19. GENERAL: This Agreement inures to the benefit of the parties, and their respective heirs, executors, administrators, legal personal representatives, successors, and duly authorized assigns. Nevron may assign this Agreement without your consent. You may not assign this Agreement or any of its rights or obligations hereunder without the prior written consent of Nevron. Any attempt to assign this Agreement without the written consent of Nevron shall be null and void.

This Agreement shall be governed by and protected by the copyright laws and international copyright treaties, as well as other intellectual property laws and treaties.

If any provision of this Agreement is found to be unlawful, void or unenforceable, then that provision shall be severed from this Agreement and shall not affect the validity and enforceability of any of the remaining provisions.

The terms of this Agreement may not be amended or modified, no rights under it waived, except in a writing executed by an authorized representative of each party.

Neither this Agreement, nor any terms and conditions contained herein, may be construed as creating or constituting a partnership, joint venture or agency relationship between the parties.

In no event shall either party be liable to the other for any delay or failure to perform hereunder, which delay or failure to perform is due to causes beyond the control of said party including, but not limited to, government restrictions, exchange or market rulings, labor strike, war, earthquake, fire, other natural disaster, or any other event, condition or occurrence beyond the reasonable control of such party.

20. EXPORT CONTROLS: The Software and any accompanying materials are subject to U.S. export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the Software, including components. You represent that neither you nor any third party you give rights to under this Agreement has had export privileges suspended, revoked or denied by a U.S. government agency.

21. FOREIGN CORRUPT PRACTICES: Neither you, nor any of your employees or agents shall, directly or indirectly, pay, offer to pay or authorize the payment of anything of value to any government official, government employee, political party or political candidate anywhere in the world to obtain or retain business in connection with the use, sale or licensing of Software or otherwise to influence such an individual in his or her official capacity. You shall promptly notify Nevron if you learn that any such payment, offer, promise, or authorization has been made. Upon Nevron's request from time to time, you shall certify compliance with the foregoing.

22. HIGH RISK ACTIVITIES: The Software has been tested under a variety of conditions and applications. However, it is not possible to test the applicability of the Software for all potential applications. By virtue of the complex nature of the Software and its potential uses, some of which uses and results of use are indeterminable by Nevron, it is possible that latent bugs or inoperable features or incompatibilities or errors may affect the validity of data obtained and calculations performed using the Software. Nevron advises that the Software is not fault tolerant and is not intended for use in High Risk Activities. You may not use the Software in the design, construction, operation or maintenance of any nuclear facility or weapon of mass destruction, or for the purpose of aircraft navigation or control or any other activity in which the failure of the Software could result in loss of human life, personal injury or property damage. Nevron expressly disclaims any express or implied warranty or condition of fitness for High Risk Activities. You agree that use of the Software in High Risk Activities is at your own risk, that you have been advised to obtain suitable perils insurance against risk in an amount commensurate with your risk of loss, and to retain a consultant or consultants skilled in developing applications using the Software and in testing any such applications before use. You hereby indemnify and hold Nevron and its licensors and suppliers harmless from liability for such use and the results of use.

23. THIRD PARTY LICENSORS AND SUPPLIERS: Each party agrees that Nevron's licensors and suppliers, together with their subsidiaries and affiliates are third party beneficiaries to this Agreement with the right to rely on and enforce its terms to their full extent, notwithstanding that such entities are not parties to this Agreement. The parties further agree not to take any actions that may prevent or otherwise impair any such licensor's or supplier's exercise of these rights. In no event shall Nevron's licensors and suppliers, together with their subsidiaries and affiliates have any liability for any damages, whether direct, indirect, incidental or consequential, as a result of the use or installation of the Software.

24. NEVRON CUSTOMER CONTACT: You may contact NEVRON by writing to: NEVRON SOFTWARE LLC, 501 Silverside Road Suite 105, Wilmington, DE 19809 USA. For further information you are referred to www.nevron.com.


Installation and Administration
Getting Started > Installation and Administration

Before using the web parts contained in the suite you must first register them on your SharePoint server(s). The following list shows the supported versions of SharePoint:
Windows SharePoint Services 3.0 (WSS)
SharePoint Server 2007
SharePoint Server 2010
SharePoint Server 2013
SharePoint Server 2016

The Nevron Web Parts are forward and backward compatible – you can save and load Chart/Gauge/Map/Barcode templates from different versions of SharePoint.

Nevron SharePoint Vision ships with two wizards that can help you register the web parts to some of the existing web applications on the server or install examples web applications that demonstrate the capabilities of the web parts.

When deploying the solution to a web farm you have to run the installer on a server that acts as a "Web Front End" (WFE). You do not have to run the installation on each of your Web Front End servers.
Deploying Nevron Web Parts to web application(s)

1. From Start\Programs\Nevron SharePoint Vision [Version]\ menu start the Web Parts Registration Wizard. The following screen will appear:

Press the "Next" button to advance to the next page:

On this page you can select the actions applied by the SharePoint registration tool to the server:

Create Temporary Directory - whether the registrator must create the temporary state and image directories required by the webparts in the suite in order to operate in image acquisition mode "Temp File". It is recommended that you always check this setting.

Create HTML Documentation - whether the registrator must copy the online documentation to the server. This allows you to view the documentation of the product from the web parts designers. Check this setting if you want to make sure you have the documentation deployed on the server.

Add WebParts to SharePoint Solution Store - whether the tool must deploy the NevronSharePointVision.wsp solution (found in the Bin folder after installation) from the SharePoint solution store. It is recommended that you always check this setting.

Register Assembly Binding From Previous Version - you have to check this option in cases when you port a web applications that use a previous version. For more information check out the Upgrading From Previous Versions topic.

Press the "Next" button to advance to the next page:

On this page you can select the web applications where you want to deploy the web parts. Note that next to each application the list will also show whether the webparts are deployed or not.

When you press the "Finish" button the wizard will start the deployment process:

Now you can use the web parts contained in the suite in the web applications you selected. For more information check out the Adding the WebParts to Pages topic.

Unregistering Nevron Web Parts from web application(s)

In order to unregister the web parts start the registration wizard and select "Unregister Nevron SharePoint Vision Web Parts" option:

Press the "Next" button to advance to the next page:

this page you can select the actions applied by the ShareOoint registration tool to the server:

Delete Temporary Directory - whether the registrator must delete the temporary state and image directories required by webparts in the suite in order to operate.

Delete HTML Documentation - whether the registrator must delete the online documentation from the server.

Remove WebParts from SharePoint Solution Store - whether the tool must remove the NevronSharePointVision.wsp solution (found in the Bin folder after installation) from the SharePoint solution store.

Unregister Assembly Binding From Previous Versions - you have to check this option in cases when you first registered assembly bindings from a previous version. For more information check out the Upgrading From Previous Versions topic.

Note that each of these tasks will affect the operation of all web parts deployed on that server.

Press the "Next" button to advance to the next page:

As with the deployment scenario above on this page you can select the web applications from which you want to unregister the Nevron Vision Web Parts. When you press the Finish button the wizard will begin the unregistration process:

Deploying Nevron Web Part Examples

Nevron SharePoint Vision ships with an extensive set of examples showing how to use various features of the webparts in the suite. In order to deploy the example to the SharePoint server go to Start\Programs\Nevron SharePoint Vision [Version]\ menu and start the Examples Registration Wizard:

Press the "Next" button to advance to the next page:

On this page you must select the port number and User that owns the newly created application. In general the settings are identical to the ones you specify when you create a new web application/site collection form Central Administration:

Port Number - the port number where you want to install the application.

User Id - the user id of the web site collection primary administrator

Use Network Service Account - whether to use the Network Service account or to specify an account

App Pool User Id - the user id of the application pool account

App Pool Password - the password for the application pool account

Use NTLM Security - whether to use NTML security. When unchecked the new web application will use Kerberos security.

Allow Anonymous - whether to allow anonymous access

By default the wizard will fill in the currently logged user in the User Id field.

Press the "Next" button to advance to the next page:

On this page you must select an SQL Server Instance and Database name where SharePoint will create the example database for the newly created web application.

Database Name - allows you to type a database name for the example database. By default the example will use NevronSPVisionsExampleDB. If this database already exists on the server it will be recreated.

SQL Server Instance - the SQL server instance that will host the newly created example database.

Authentication Type - the type of authentication method to use when connecting to the database. By default the wizard uses "Windows Authentication". You can also select "SQL Server Authentication" from the combo in which case you'll have to provide a valid user name and password.

The following picture shows the output page that appears when you press Finish:


Adding the WebParts to Pages
Getting Started > Adding the WebParts to Pages

Adding the web parts contained in the Nevron SharePoint Vision suite to a SharePoint page is pretty simple. Follow these steps:

1. Switch the page to Edit mode - a page is switched to edit mode from the Site Actions - Edit Page command.

SharePoint 2007 | SharePoint 2010

2. Click the Add Web Part Button - when the page is in Edit Mode, click on the Add a Web Part button, which is located at the top of the page:

SharePoint 2007 | SharePoint 2010

3. Select the Nevron Web Part to Add - in the Add Web Parts selection panel, find the Nevron Web Parts section. Choose the web part that you want to add to the page and click the add button:

SharePoint 2007 | SharePoint 2010

4. Run the Web Part Designer - once the web part is added to the page it is time to edit it. The design time editing of all Nevron web parts is accomplished by running the respective web part designer. For the chart web part added in the previous step, you must see a blank chart with a single Run Chart Designer button located on top - click it to launch the designer:

SharePoint 2007 | SharePoint 2010

The settings available in the designer of each web part are explained in the following topics:

Nevron Chart for SharePoint - The Chart Designer.
Nevron Gauge for SharePoint - The Gauge Designer.

Common for chart and gauge designers is that the first step that you must perform is to connect your web part to a data source. The connection is established from the Data Source page, which is the first page to be displayed by both web parts, when you first launch the respective designer. See Connecting to Data for a complete discussion.


Activation
Getting Started > Activation

Evaluation License

Nevron SharePoint Vision is distributed with a 60 day free, non binding evaluation / trial license. You are free to test the fully functional product for 60 days, after which you must either license the product or remove it from your system.

The evaluation license is automatically activated when you install the product on a SharePoint server(s). However, when trial mode expires, the message "The evaluation period has expired" will appear in place of the controls.

The evaluation version is fully functional

Product Activation

Nevron SharePoint Vision and the individual web parts in it are licensed per server.

The product is distributed as unified binaries (DLL) for both evaluation/trial and production uses. No additional installations / uninstallations need to be performed.

In order to activate the product you need to obtain a license for each server machine running the webparts in the suite. Those licenses are bound to the machines running the software - the following sections describe the steps needed to obtain a license:

1. Obtaining the Server Id

Open the Chart or Gauge designer and navigate to the Licensing page:

The page displays the license information for each server on the farm. In order to license a server you have to copy its Id and contact Nevron sales (sales@nevron.com). In response you'll receive a license key that unlocks this server. You need to paste that license key in the key field at the bottom of the page and then to press the update button (under Action):

Now the webpart evaluation watermark has disappeared and the control displays the license information next to each server. For further information or requests please contact Nevron sales (sales@nevron.com).

In order to properly add the license key (to store in the farm), on the SharePoint configuration database in SQL Server (usually SharePoint_Config), you may need to provide EXECUTE permissions for the account running the Application Pool for the web application. If needed you can remove the EXECUTE permission afterwards.

If you then receive an error message regarding the cache.ini file when saving the license key: For the Config folder at: "C:\ProgramData\Microsoft\SharePoint\Config", provide Full control for the WSS_WPG group on all WFE servers. Check that the permissions are also applied to the cache.ini file under the config folder. Then save the license. Once the license is saved, you can roll-back the permissions for the Config folder. Once the key is added to the farm, you will be able to revert these configuration settings.
It is recommended to contact a sales representative prior to purchasing.


Upgrading From Previous Versions
Getting Started > Upgrading From Previous Versions

This topic describes the approaches you can use to upgrade pages containing Nevron WebParts from older versions.

Updating the Web Application to Use an Upgraded Version

This section outlines the steps required to manually upgrade a web application using Nevron WebParts from previous version.

1. Obtain the version number of the previous version.

The easiest way to do that is to check the assemblies version in the following folder:

SharePoint 2007 - C:\Program Files\Nevron Software\Nevron SharePoint Vision [Version] for MOSS and WSS 2007\Bin

SharePoint 2010 - C:\Program Files\Nevron Software\Nevron SharePoint Vision [Version] for MOSS and WSS 2010\Bin

Right click on a .dll file there, select properties and check the version from the version tab.

2. Uninstall the old version.

Uninstall the old version from the web applications using it and unregister the solution from the web server(s). This step can be performed using the WebParts registration wizard shipped with the old version.

If you have previously installed Nevron SharePoint Vision on multiple WFEs in your farm environment, you need to perform step 2, 3, 4, 4.1, 4.2 and 4.3 on each WFE.

When you uninstall Nevron SharePoint Vision using Control Panel's Add/Remove Programs (or Programs and Features) the installation will automatically launch the WebParts registration wizard with unregister option.

3. Check if the Nevron SharePoint solution has been properly removed.

Run cmd.exe and navigate to:

SharePoint 2007 - C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN
SharePoint 2010 - C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN

Check if there is “nevronsharepointvision.wsp”, by using the following command:

stsadm -o enumsolutions

If “nevronsharepointvision.wsp” is still present, run the following command:

stsadm -o deletesolution -name nevronsharepointvision.wsp -override

4. Make sure that the web.config does not contain entries from the previous version.

Typically the installer will modify the SafeControls, httpHandlers and assemblyBinding web.config entries.

4.1 SafeControls section.

Remove all entries similar to:

<SafeControl Assembly="Nevron.SPVision, Version=x.x.x.x, Culture=neutral, PublicKeyToken=c37de877cbfea086" Namespace="Nevron.SPVision" TypeName="*" Safe="True" />
<SafeControl Assembly="Nevron.Chart.SharePoint, Version=x.x.x.x, Culture=neutral, PublicKeyToken=061415a4cdb7466a" Namespace="Nevron.Chart.SharePoint" TypeName="*" Safe="True" />

4.2 httpHandlers section (handlers section in SharePoint 2010).

Remove all entries that point to a Nevron assembly for example:

SharePoint 2007

<add verb="*" path="ChartCommander.axd" type="Nevron.Chart.SharePoint.Design.NChartCommanderHttpHandler, Nevron.Chart.SharePoint.Design, Version=x.x.x.x, Culture=neutral, PublicKeyToken=a569cfe19372196c" validate="false" />

SharePoint 2010

<add name="NHatchStylePreview" preCondition="integratedMode" verb="*" path="NHatchStylePreview.axd" type="Nevron.SPVision.Design.NHatchStylePreviewHttpHandler, Nevron.SPVision, Version=x.x.x.x, Culture=neutral, PublicKeyToken=c37de877cbfea086" />

4.3 assemblyBinding section.

Remove all dependentAssembly entries that redirect Nevron assemblies - for example:

<dependentAssembly>
<assemblyIdentity name="Nevron.Chart.SharePoint" publicKeyToken="061415a4cdb7466a" culture="neutral" />
<bindingRedirect oldVersion="x.x.x.x" newVersion="x.x.x.x" />
</dependentAssembly>

5. Install the new version and run the web part registration wizard only on the Application Server (the server hosting Central Administration)

5.1 Run the Web Part Registration Wizard

Run the web part registration wizard during the installation or run the registration wizard after the installation from the Start >> All Programs >> Nevron SharePoint Vision >> Web Parts Registration Wizard.

5.2 Automatic Assembly Binding

In the registration wizard task page check "Register Assembly Binding From Previous Version" and enter the version number you obtained in step 1:

Run the web part registration wizard as described in the Installation and Administration topic.

5.3 Automatic Assembly Binding

In the registration wizard task page check "Register Assembly Binding From Previous Version" and enter the version number you obtained in step 1:

5.4 Manual Assembly Binding

Alternatively you can manually update the web.config file if you registered the web parts without specifying a binding from a previous version. The web.config file of the SharePoint application contains a section instructing SharePoint to redirect requests to assemblies with specific version to assemblies with other version. This is called assembly redirection and is commonly used to upgrade assemblies without breaking the application. Lets say that the version of the Nevron Web Parts you currently use is 9.12.2.12 and you want to upgrade to version 11.5.15.12 (Vol1 2011). In this case you need to add the following XML tag under the assemblyBinding section of the web.config file:

XML
Copy Code
<dependentAssembly>
<assemblyIdentity name="Nevron.Chart.SharePoint" publicKeyToken="061415a4cdb7466a" culture="neutral" />
<bindingRedirect oldVersion="9.12.2.12" newVersion="10.2.25.12" />
</dependentAssembly>

Note that if you uninstalled the previous version of the webparts you'll have to touch the SafeControls section of the web.config file, by adding a "SafeControl" entry for the old version dll:

XML
Copy Code
<SafeControl Assembly="Nevron.Chart.SharePoint, Version=9.12.2.12, Culture=neutral, PublicKeyToken=061415a4cdb7466a" Namespace="Nevron.Chart.SharePoint" TypeName="*" Safe="True" />
Finally you need to Activate the "Nevron Legacy Web Parts" site collection feature.


The WebParts Config File
Getting Started > The WebParts Config File
This content of this topic is related to the per site administration of the Nevron Web Parts. Skip this topic if you are not the site administrator.

Certain behavior aspects and user interface elements visibility options can be globally controlled, on a per site level, through the NWebPartsConfig.xml file, an empty version of which is by default installed in the Nevron sub-folder of the site _layouts folder. The config file is having the following structure:

NWebPartsConfig.xml structure
Copy Code
<Config>
    <RuntimeInterface>
        <ToolBar show="never/always/design"/>
    </RuntimeInterface>
    <DesignerInterface>
        <DataSourcePage Show="yes/no" ShowDataSource="yes/no"/>
        <CodePage Show="yes/no"/>
        <LicensingPage Show="yes/no"/>
        <RenderingPage Show="yes/no"/>
        <ToolBar ShowOKButton="yes/no" ShowApplyButton="yes/no" ShowCancelButton="yes/no" ShowResetButton="yes/no" ShowSaveButton="yes/no" ShowLoadButton="yes/no" ShowHelpButton="yes/no" ShowWebPartsConfigButton="yes/no"/>
    </DesignerInterface>
    <ImageStreamsContainer Storage="auto/sessionstate/appstate/webpart">
        <RuntimeStreams Max="positive number" ExpireAfter="positive number" RemoveOnServe="yes/no"/>
        <DesignStreams Max="positive number" ExpireAfter="positive number" RemoveOnServe="yes/no"/>
    </ImageStreamsContainer>
    <DesignerState storage="auto/sessionstate/appstate/webpart"/>
    <DesignerReferrerUrl storage="auto/sessionstate/appstate/webpart"/>
    <CustomCode Allow="yes/no"/>
    <Parameters Storage="auto/sessionstate/appstate/web" ExpireAfter="positive number"/>
    <Log LogErrors="yes/no" LogStatus="yes/no"/>
</Config>
Elements and Attributes Description

Following is a detailed description of each element and its attributes and values:

RuntimeInterface - groups the settings related to the interface of the web parts at runtime.

ToolBar - contains settings for the toolbar that appears above the web parts inside the SharePoint page. Has the following attributes:

Show - possible values are:

  • design - (the default) the toolbar is only shown when the web part page is in edit mode.
  • never - the toolbar is never shown.
  • always - the toolbar is always shown.

DesignerInterface - groups the settings related to the interface of the web parts at design time.

ToolBar - contains settings for the designer toolbar. Has the following attributes:

ShowOKButton - specifies whether the OK button is visible.
ShowCancelButton - specifies whether the Cancel button is visible.
ShowApplyButton - specifies whether the Apply button is visible.
ShowResetButton - specifies whether the Reset button is visible.
ShowSaveButton - specifies whether the Save button is visible.
ShowLoadButton - specifies whether the Load button is visible.
ShowWebPartsConfigButton - specifies whether the Config button is visible.
ShowHelpButton - specifies whether the Help button is visible.

The possible values for each of these attributes are yes and no.

DataSourcePage - contains settings for all data sources pages. Has the following attributes:

Show - specifies the visibility of the data source page. Possible values are yes and no.
ShowDataSource - only taken into account if the Show attribute is set to yes. Specifies the visibility of the data source panel. Possible values are yes and no. If set to no users won't be able to see the data source or modify it, but will be able to preview the data which it returns.

CodePage - contains settings for all code pages. Has the following attributes:

Show - specifies the visibility of the code page. Possible values are yes and no.

LicensingPage - contains settings for all licensing pages. Has the following attributes:

Show - specifies the visibility of the licensing page. Possible values are yes and no.

RenderingPage - contains settings for all rendering pages. Has the following attributes:

Show - specifies the visibility of the rendering page. Possible values are yes and no.

DesignerState - defines settings related to the currently edited web part state by the respective designer. In general each web part will be having a state that the respective designer starts to edit, when the user clicks the Run Designer command. The state edited by the designer is initially a copy of the actual web part state and is stored to a temporary storage. The state edited by the designer becomes the actual web part state only when the user clicks the OK or Apply buttons. This config element has the following attributes:

Storage - defines where to store the temporary designer state. Possible values are: auto/sessionstate/appstate/webpart. By default set to auto. See Web_Part_Temporary_Data for more info.

DesignerReferrerUrl - when the user clicks the Run Designer command, besides the designer state the full URL of the reffering web page must also be recorded. It will later be needed when the user clicks the OK or Cancel buttons, in the case of which the web part will redirect the browser to the page that let to the designer. This config element has the following attributes:

Storage - defines where to store the designer referrer URL. Possible values are: auto/sessionstate/appstate/webpart. By default set to auto. See Web_Part_Temporary_Data for more info.

ImageStreamsContainer - when the user selects the HttpHandler option as an Image Acquisition Mode inside the Rendering page, the web part saves the rendered image to a temporary location, which it later serves to the browser upon request. This eliminates the need to save a temporary image file in the respective Temp directory (e.g. _layouts/Nevron/Chart/Temp or _layouts/Nevron/Gauge/Temp) or grant write permissions to the folder. This config element has the following attributes:

Storage - defines where to store the image streams. Possible values are: auto/sessionstate/appstate/webpart. By default set to auto. See Web_Part_Temporary_Data for more info.

RunTimeStreams and DesignStreams are separating the streams generated by the webpart at runtime and by its designer. They are both having the following attributes:

Max - defines the maximum number of image streams to hold. By default set to 20.
RemoveOnServe - defines whether an image stream is automatically removed when served to the browser. By default set to false.
ExpireAfter - defines the number of minutes after which the stream expires.

CustomCode - defines settings related to code injection. Has the following attributes:

Allow - defines whether custom code (the code that appears in the Code page) is allowed to be executed or not. Possible values are: yes and no. Set this property to no if you want to ensure that no Nevron Web Part executes any custom code that can be generally injected by SharePoint users.

Parameters - defines settings related to the custom parameters. Has the following attributes:

Storage - defines where to store the parameters. Possible values are: auto/sessionstate/appstate/web. By default set to auto. See Web_Temporary_Data for more info.

ExpireAfter - defines the number of minutes after which a custom parameter expires, if not used. By default set to 20.

Log - contains settings related to error and command state logging. Has the following attributes:

LogErrors - when set to yes, the webparts will log errors in the Log_File. Typically all exceptions, that the webparts catch during design time editing are reported to the user directly in the status pane, which is dynamically displayed below each webpart designer, if needed. Runtime errors that are caught cannot be always reported. You may need to set this attribute to yes, if you need to ensure that Nevron WebParts are not silently working with any exceptions. By default set to no.

LogStatus - when set to yes, the webparts will log command status and response duration in the Log_File. You may need to set this attribute to yes, if you need to diagnose or isolate performance issues. By default set to no.

Web Part Temporary Data

The DesignerState, ImageStreamsContainer and DesignerReferredUrl Storage attributes accept a value from the following enumeration:

  • auto - the web part tests to see whether session state is enabled. If session state is enabled, it uses it. Otherwise it uses application state (should be available on all SharePoint Servers). If even application state is not available, it falls back to webpart mode.
  • sessionstate - records the temporary data in the session state. If session state is not enabled, falls back to appstate mode.
  • appstate - records the temporary data in the application state. If application state is not enabled, falls back to webpart mode.
  • webpart - records the temporary data in the web part itself. This is the safest mode, but unfortunately the slowest one.
Web Temporary Data

The Parameters Storage attributes accept a value from the following enumeration:

  • auto - the web part tests to see whether session state is enabled. If session state is enabled, it uses it. Otherwise it uses application state (should be available on all SharePoint Servers). If even application state is not available, it falls back to web mode.
  • sessionstate - records the temporary data in the session state. If session state is not enabled, falls back to appstate mode.
  • appstate - records the temporary data in the application state. If application state is not enabled, falls back to web mode.
  • web - records the temporary data in the web properties. This is the safest mode, but unfortunately the slowest one.
SharePoint Session and Application State

SharePoint Session State is the default fallback for both WebPart and Web Temporary Data. This is because although Nevron SPVision has its own session state and garbage management, we also wanted to reuse the SharePoint Session State garbage collection, if possible.

SharePoint Session State is however not enabled on all SharePoint Servers and many administrators typically disable it to increase the site performance, so Nevron WebParts will automatically fall back to application state, which according to our studies is enabled on most SharePoint servers.

For SharePoint 2007, you can enable/disable Session State from the Center Admin, as described in the following topic:

http://technet.microsoft.com/en-us/library/cc263527%28office.12%29.aspx#section2

For SharePoint 2010, you can enable/disable Session State from PowerShell, as described in the following topic:

http://technet.microsoft.com/en-us/library/ee704548.aspx

Log File
The NLog.txt is automatically created, if not already present, in the Nevron subfolder of the LAYOUTS folder.
You should know that whenever you set to yes the LogErrors or LogStatus attributes of the Log element, the log file will be created and will constant grow.
It is an adminstrator responsibly to both remove the file and set the LogErrors and LogStatus attributes of the Log element to no, when the profiling of the Nevron Web Parts has ended.
Farm Deployment
When you decide to change the NWebPartsConfig.xml and your SharePoint is running in a farm, it is an administrators responsibility to ensure that the same NWebPartsConfig.xml file is replicated on all SharePoint servers inside the farm.


Support
Getting Started > Support

All Nevron Software Products include standard technical support for a period of 30 days via email support@nevron.com, telephone (888 201 6088) and online support. Support beyond the standard support is available for additional fee.

Nevron Technical Support is based on a ticketing system to provide higher level support services, support ticket tracking and better customer experience. Our technical support team is committed to providing the highest level support services, and we are available Monday to Friday, 3AM-1PM EST.

Nevron Support Portal

The Nevron Support Portal is your one-place for receiving technical support for Nevron Software Products. Nevron technical support is provided by top-quality software architects, who were closely involved in the development of the products we provide. This ensures that our support services are always competent and directly address the problem you experience. In addition to Nevron’s services, we also provide bug fixes, product enhancements, and on-going minor product upgrades.

We are aware that presale support is a vital decision-making factor. This is why all Nevron users receive 3 free presale support tickets. You need to contact Nevron Sales in order to request your presales support tickets.

Besides the free presale support, Nevron customers receive 5 free support tickets with their purchase (post-sale technical support). Subscription customers receive 10 support tickets and full year of major version releases.

When submitting a new support ticket, you will receive suggestions which can assist you prior to using your ticket.

Additional technical support tickets can be obtained at any time – when needed, you can purchase tickets separately or in batches (including volume discounts).

To benefit from the Nevron technical support and the support resources, we recommend you to take the following steps:

Download Full Product Evaluations
Nevron provides fully-functional evaluations of the products, free for download and testing. The evaluations doesn't require any license keys and can be installed on any development, test or production machine. The installations come with full help documentation and numerous examples to help you start with your projects.

View Online Documentation
Review the full products documentation online. Updated regularly with each major release, the Online Documentation contains detailed information for the products and specific features.

Search Our Knowledge Base
Consult our Knowledge Base for up-to-date articles about Nevron products. The online Knowledge Base is available 24/7 and addresses common questions and issues. It will help you with general problems, technical articles, installation issues, licensing, how-to articles and more.

Products Community Forums
Nevron Community Forums are designed as another resource for you to exchange valuable information with others and receive answers to questions related to Nevron products.

Submit a Support Ticket
Before submitting a new support ticket, make sure to review the resources above. If you are unable to find answers to your specific technical questions, you can submit your support ticket through the Support Portal. This is the best way to ensure that your requests are properly tracked and answered by the Nevron technical support team. Both evaluation users and licensed customers can submit support tickets. Once you submit your ticket, it will be tracked from our system and will be subtracted from your account. Additional support tickets can be obtained at any time if necessary.


Contacts
Getting Started > Contacts

Do not hesitate to contact Nevron if you have any questions, comments, bug reports or other type of feedback.

USA and Canada (toll free): 1 888 201-6088 (3AM - 1PM Eastern Standard Time (EST))
Fax: 1-888-463-7313
Europe: +359 (2) 422-4020 (10AM - 8PM o'clock East European Time)

Website: www.nevron.com
E-mail: email@nevron.com, sales@nevron.com

Technical Support: http://support.nevron.com
Support e-mail: support@nevron.com Sales e-mail: sales@nevron.com


Connecting to Data
Connecting to Data > Connecting to Data

Prior to authoring charts and gauges, you must first connect the respective web part to a data source. The Data Source page is by default displayed by both designers, when the web part is not connected to a data source.

Located at the top of the data source page is the Data Source Type Combo, which lets you select the type of data source to which you want to connect. For each selected data source type, the data source page will display only applicable connection options. Currently the web parts in the suite can connect to the following types of data sources:

  • Database - the binding to a database establishes a connection to an ODBC, Ole DB, SQL Server or Oracle data provider. It is specified with the help of a connection string and a SQL command, that are valid for the currently selected data provider.
    See Connecting to a Database for more info.
  • Business Data Catalog - the binding to an entity inside the Business Data Catalog is performed by specifying a valid application-entity pair. The web parts will enumerate the entities in the currently available applications for you.
    See Connecting to Business Data Catalog for more info.
  • SharePoint List - the binding to a SharePoint list is performed by specifying a valid site, web, list and view. The web part will enumerate the currently available lists per each site and web that you select.
    See Connecting to a SharePoint List for more info.
  • SharePoint Site Query - the binding to a SharePoint list is performed by specifying a valid site and web and CAML expressions for Lists, Webs, ViewFields and Query. The web part will enumerate the currently available sites and webs for you.
    See Connecting to a SharePoint Site Query for more info.
  • Excel Web Services - the binding Excel Web Services is established by specifying the URL of the workbook and the range of cells from the workbook that you want to operate on.
    See Connecting to Excel Web Services for more info.
  • Web Part Table - the binding to another web part that implements the IWebPartTable interface is performed by specifying valid site-web-page and title. The web part will enumerate the titles of web parts that you can bind to for each site, web and page that you select.
    See Connecting to a Web Part Table for more info.

If the webpart is successfully connected to a data source it will display an info message at the bottom of the page. You may then preview the first 1000 records of the data source by clicking on the Preview Data button. If the webpart is failing to connect to data source a relevant message will indicate the error.

See Also
Connecting to a Database
Connecting to Business Data Catalog
Connecting to a SharePoint List
Connecting to a SharePoint Site Query
Connecting to Excel Web Services
Connecting to a Web Part Table


Connecting to a Database
Connecting to Data > Connecting to a Database

The database connection panel is displayed when you select the Database option from the Data Source Type combo:

First you need to specify the database connection type from the DB Connection Type combo box. Currently supported are connections to the following database types:

  • ODBC
  • Ole Db
  • SQL Server
  • Oracle Server

Common for all types of database connections is that it is mandatory to specify a connection string and a SQL command.

The Connection String for each particular database connection is different, but the common rule is that it consists of a series of key-value pairs separated by the ";" character. Visit http://www.connectionstrings.com for a complete specification of the connection string format for each particular database connection.

The SQL Command must return a data view - typically this would be a SELECT statement for a database table or a database view. The SQL command syntax should be valid for the selected database connection type.

The UserName and Password fields are optional and must be specified when the database connection requires authentication. Internally the web part will append these to the connection string that you have already specified, with the correct formatting for the respective database connection type. Alternatively you can include the user name and password in the connection string itself.

All properties of the Database Connection can be specified with expressions too. This feature is very useful, if you want to connect the webpart to a dynamic data source, or provide dynamic parameterization of the SQL query.


Connecting to a SharePoint List
Connecting to Data > Connecting to a SharePoint List

SharePoint Lists are the foundation on which sites are build. Lists are automatically generated by SharePoint for different types of SharePoint infrastructural information. Of particular importance is that lists can be created and edited by SharePoint users, which allows you to feed Nevron web parts with any custom data.

The SharePoint List connection panel is displayed when you select the Share Point List option from the Data Source Type combo:

The connection is defined by the following settings:

Site Mode - lets you select the way in which the web part will connect to the site and web. The possible options are:

Static Site - the site is specified explicitly from the Site setting. The web is specified relatively to the site.
Current Site - only the site is obtained dynamically (the site is the current site in which the web part resides). The web is specified relatively to the site from the Web setting.
Current Web - both the site and web are obtained dynamically (e.g. binds to the current web of the current site in which the web part resides).

Site - only available in Static Site mode. The web part will automatically enumerate the currently available sites in all web applications for you. If you see the site in the combo just pick it - otherwise manually specify it in the site text box.

Web - only available in Static Site and Current Site modes. For the site that you have chosen, the web part automatically enumerates the server relative paths of all webs beneath it. If you see the web just pick it - otherwise manually specify it in the web text box.

List - for the site and web that you have chosen, the web part will automatically enumerate all available lists. If you see the list in the combo just pick it - otherwise manually specify it in the list text box.

View - this setting is optional and lets you select a list view. If the view setting is set to an empty (blank) string the web part will connect to the default list view.

The Site, Web, List and View can be specified with GUIDs too.
All properties of the SharePoint List connection can be specified with expressions too.


Connecting to a SharePoint Site Query
Connecting to Data > Connecting to a SharePoint Site Query

SharePoint provides a powerful method to query for data in its sites, that is based on CAML (Collaborative Application Markup Language). The result of a CAML query is a relational table, which makes it a perfect target for pivotal data analysis.

A SharePoint Site Query can be suitable in many scenarios, including:

  • Concatenating data from a dynamic set of SharePoint lists (automatically concatenate data from multiple lists, that are having common columns, template, or fall within a certain web scope).
  • Concatenating data from a fixed set of SharePoint lists (automatically concatenate data from a manually enumerated set of lists).

The SharePoint Site Query connection panel is displayed when you select the SharePoint Site Query option from the Data Source Type combo:

The connection is defined by the following settings:

Site Mode - lets you select the way in which the web part will connect to the site and web. The possible options are:

Static Site - the site is specified explicitly from the Site setting. The web is specified relatively to the site.
Current Site - only the site is obtained dynamically (the site is the current site in which the web part resides). The web is specified relatively to the site from the Web setting.
Current Web - both the site and web are obtained dynamically (e.g. binds to the current web of the current site in which the web part resides).

Site - only available in Static Site mode. The web part will automatically enumerate the currently available sites in all web applications for you. If you see the site in the combo just pick it - otherwise manually specify it in the site text box.

Web - only available in Static Site and Current Site modes. For the site that you have chosen, the web part automatically enumerates the server relative paths of all webs beneath it. If you see the web just pick it - otherwise manually specify it in the web text box.

The Site and Web can be specified with GUIDs too.

Lists CAML - contains the CAML string, that lets you select the lists, from which to retreive data. See SPSiteDataQuery.Lists for more information.

When you want to connect to a fixed set of lists, you need to know the lists GUIDs.

One easy way to obtain the list GUID, is to go to the List Settings Page and get it from the browser address bar. Following is how the URL looks like - the bold part is the list GUID:
http://testpc2003:2020/_layouts/listedit.aspx?List=%7B6701DF77-5DCE-4D75-99C4-451EA57E827F%7D

View Fields CAML - contains the CAML string, that defines the fields (columns) that you want the query to return. See SPSiteDataQuery.ViewFields for more information.

When enumerating the names of lists columns, you need to specify the columns Internal Names, which are different from their Display Names.

One easy way to obtain the field internal name, is to first go the List Settings Page, and then click on the field to go to the Edit Field Page. Following is how the URL looks like - the bold part is the field Internal Name:
http://testpc2003:2020/_layouts/FldEdit.aspx?List=%7B6701DF77%2D5DCE%2D4D75%2D99C4%2D451EA57E827F%7D&Field=RFI%5Fx0020%5FStatus
You need to then replace the "%5Fx" with "_", so for the "RFI%5Fx0020%5FStatus" we have obtained from the URL, we finally get the Internal Field Name, which is: RFI_x0020_Status.

Webs CAML - contains the CAML string, that defines the sub webs in which to search for lists. See SPSiteDataQuery.Webs for more information.

Query CAML - contains the CAML string, that defines the query filtering and sorting rules. See SPSiteDataQuery.Query for more information.

All properties of the SharePoint Site Query connection can be specified with expressions too.


Connecting to Business Data Catalog
Connecting to Data > Connecting to Business Data Catalog

The Business Data Catalog (abbreviated as "BDC") is a feature of Office SharePoint Server 2007, that enable you to surface business data from various LOB applications such as SAP, Siebel and databases in Office SharePoint Server 2007. To achieve this goal, Business Data Catalog provides homogeneous access to the underlying data sources with a metadata model that provides a consistent and simplified client object model, which consists of applications and entities.

The BDC connection panel is displayed when you select the Business Data Catalog option from the Data Source Type combo:

The web part will enumerate the available applications in the Application combo. For each application that you choose the web part will enumerate the available entities in the Entity combo.

The Entity property of the Business Data Catalog connection can be specified with expressions too.
The Business Data Catalog is a SharePoint 2007 specific feature, support for which has been dropped by Microsoft in SharePoint 2010. However, for the purpose of opening templates that were generated in SharePoint 2007, this data source connection option is also available in the SharePoint 2010 version of the Nevron WebParts.


Connecting to Excel Web Services
Connecting to Data > Connecting to Excel Web Services

Excel Web Services provide a web service interface towards Microsoft Office Excel spreadsheets. This allows you to connect to any spreadsheet for which a valid URL can be provided.

The Excel Web Services connection panel is displayed when you select the Excel Web Services option from the Data Source Type combo:

Workbook Path - enter the URL of the workbook.

Range - specifies the range of cells from the workbook. The range can be specified in two ways:

1. Sheet and cell range

[SheetName!]LD:LD

where:

[SheetName!] - is optional and specifies the name of the sheet. If not specified by default the first sheet of the workbook is considered.
LD:LD - specifies the range of the cell in the workbook. L is the sequence of letters and specifies a sheet column (the webpart will automatically convert lower case letters to upper case). D is a sequence of digits and specifies a sheet row.

2. Named range

Just type the name of a named range of cells from the workbook. In Excel you can assign a name to any range of cells.

First Row Contains Column Names - if this check is checked the names of the columns in the table generated for the sheet will be obtained from the first row in the selected range. Otherwise the web part will assign automatic names to the columns.

The Excel sheet is not a relational table, meaning that you can have values of different type in each column of the selected range. The Nevron Pivot engine is designed to handle such tabular data sources and will assign the Automatic column type to all columns.
All properties of the Excel Web Services connection can be specified with expressions too.


Connecting to a Web Part Table
Connecting to Data > Connecting to a Web Part Table

It is sometimes required to develop a custom web part that can serve as data provider for Nevron Web Parts. We decided to base our implementation on the standard IWebPartTable interface. That said the Nevron Web Parts can extract data from any other web part that implements this interface.

The Web Part Table connection panel is displayed when you select the Web Part Table option from the Data Source Type combo:

The connection is defined by the following settings:

Site Mode - lets you select the way in which the web part will connect to the site and web. The possible options are:

Static Site - the site is specified explicitly from the Site setting. The web is specified relatively to the site.
Current Site - only the site is obtained dynamically (the site is the current site in which the web part resides). The web is specified relatively to the site from the Web setting.
Current Web - both the site and web are obtained dynamically (e.g. binds to the current web of the current site in which the web part resides).

Site - only available in Static Site mode. The web part will automatically enumerate the currently available sites in all web applications for you. If you see the site in the combo just pick it - otherwise manually specify it in the site text box.

Web - only available in Static Site and Current Site modes. For the site that you have chosen, the web part automatically enumerates the server relative paths of all webs beneath it. If you see the web just pick it - otherwise manually specify it in the web text box.

Page - for the site and web that you have chosen, the web part will automatically enumerate all web pages on which you can possibly insert web part inside the selected web.

Title - for the site-web-page that you have chosen the web part will enumerate the titles of the web parts that reside on this page and that implement the IWebPartTable interface.

The Site and Web can be specified with GUIDs too.
All properties of the Web Part Table connection can be specified with expressions too.
Creating a Custom Web Part that implements the IWebPartTable interface
The following content is intended for developers that want to create custom web parts that implement the IWebPartTable interface and thus surface data sources that cannot be accessed by the currently available data source connection methods. If you are not a developer or if you can access your data source with the currently available data connection methods - skip this section.

Some sample code that outlines how to implement the IWebPartTable interface can be found at: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.iwebparttable.aspx. It is however worth mentioning that we think that this sample implementation is not correct, because of the following reasons:

1. The Schema property getter of TableProviderWebPart returns a PropertyDescriptorCollection instance, that is constructed from the the first row of the DefaultView, while the GetTableData method returns the table data rows. You cannot access the values of the enumerated records with the returned property descriptors, because the property descriptors are for DataRowView instances, not for DataRow instances.

2. The TableConsumer explicitly casts the enumerated data table objects to DataRow, which is the only reason for this example to work. If the returned ICollection for the data table is not a collection of DataRow items this sample will simply throw an exception.

So following is some sample code that correctly implements the IWebPartTable interface.

Data Provider Web Part
Copy Code
  public class MyWebPartTableWebPart : Microsoft.SharePoint.WebPartPages.WebPart, IWebPartTable
  {
   ...
   DataTable m_DataTable = null;
   void InitDataTable()
   {
    if (m_DataTable != null)
     return;
    m_DataTable = new DataTable();

    m_DataTable.Columns.Add(new DataColumn("Company", typeof(String)));
    m_DataTable.Columns.Add(new DataColumn("Sales", typeof(Double)));

    m_DataTable.Rows.Add("Bigfoot", 124);
    m_DataTable.Rows.Add("Bigfoot", 234);
    m_DataTable.Rows.Add("Bigfoot", 782);
    m_DataTable.Rows.Add("Maison", 324);
    m_DataTable.Rows.Add("Maison", 534);
    m_DataTable.Rows.Add("Maison", 182);
    m_DataTable.Rows.Add("Leka", 524);
    m_DataTable.Rows.Add("Leka", 334);
    m_DataTable.Rows.Add("Leka", 282);
   }
   public void GetTableData(TableCallback callback)
   {
    InitDataTable();
    callback(m_DataTable.DefaultView);
   }
   public PropertyDescriptorCollection Schema
   {
    get
    {
     InitDataTable();
     return TypeDescriptor.GetProperties(m_DataTable.DefaultView[0]);<br>
    }
   }
   ...
 }

The consumer of the web part data table on the other hand needs to only rely on the returned Schema and collection of objects as shown in the following code sample:

Data Consumer Web Part
Copy Code
  // somehow get a reference to the web part table interface
  IWebPartTable webPart = ...;
  // get the table schema
  PropertyDescriptorCollection tableSchema = webPart.Schema;
  // iterate through the data table row values
  webPart.GetTableData(delegate(ICollection tableData)
  {
   foreach (object row in tableData)
   {
    for (int col = 0; col < tableSchema.Count; col++)
    {
     // get the value for the current row/col
       object value = tableSchema[col].GetValue(row);
    }
   }
  });
It is important to know that a webpart that implements the IWebPartTable needs to provide it's data synchronously, when it's GetTableData method is called. This is required, because Nevron WebParts will request the data from an AJAX handler, meaning that the page on which the data source webpart resides will not go through its full post-back lifecycle. That is why even though some SharePoint webparts implement the IWebPartTable interface, their implementation is mainly targeting collaboration via webparts connections (which is an old-fashioned post-back dependant method) and Nevron WebParts will not be able to consume their data.

If the predefined set of available data connections is not fitting into your SharePoint application scenario you can contact Nevron Consulting at consulting@nevron.com for a price quote for a custom web part that connects to your data.


Chart Overview
Chart > Chart Overview

Nevron Chart for SharePoint is an advanced web part, which delivers a complete set of 2D and 3D charting types, highly customizable axes, multiple charting areas, legends and titles and a full range of enterprise charting features that are driven by pivot data aggregation. This allows the creation of complex pivot charts to be done visually and directly in SharePoint environment.

Major Features

Support for Multiple Charting Areas - unlimited number of charting areas are supported. Each charting area has its own charting type and can be rendered in 2D or 3D mode. Charting areas can be automatically or manually arranged.

Support for Multiple Legends - unlimited number of legends are supported. Each values data grouping can be assigned to a different legend. Legends can be manually positioned or docked to chart, chart areas and plot areas.

Support for Multiple Titles - unlimited number of titles are supported. Titles can be manually positioned or docked to chart, chart areas and plot areas.

Charting Types - a charting type is assigned to each charting area. Supported are the following charting types:

  • Bar - (available in 2D and 3D)
    Sub Types: Clustered, Stacked, Stacked Percent, Series, XY Scatter, XY Scatter Clustered, XY Scatter Stacked, XY Scatter Stacked Percent, XYZ Scatter, XYZ Scatter Clustered, XYZ Scatter Stacked, XYZ Scatter Stacked Percent.
    Shapes: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Ellipsoid, Smooth Edge Bar, Cut Edge Bar
  • Area - (available in 2D and 3D)
    Sub Types: Series, Stacked, Stacked Percent, XY Scatter, XY Scatter Stacked, XY Scatter Stacked Percent.
  • Smooth Area- (available in 2D and 3D)
    Sub Types: Series, XY Scatter
  • Line - (available in 2D and 3D)
    Sub Types: Series, Stacked, Stacked Percent, XY Scatter, XY Scatter Stacked, XY Scatter Stacked Percent, XYZ Scatter, XYZ Scatter Stacked, XYZ Scatter Stacked Percent
    Shapes: Line, Tape, Tube, Ellipsoid
  • Smooth Line - (available in 2D and 3D)
    Sub Types: Series, XY Scatter
  • Step Line - (available in 2D and 3D)
    Sub Types: Series, XY Scatter
    Shapes: Line, Tape, Tube, Ellipsoid
  • Pie - (available in 2D and 3D)
    Shapes: Pie, Torus, Smooth Edge Pie, Cut Edge Pie, Ring, Smooth Edge Ring, Cut Edge Ring.
  • Point - (available in 2D and 3D)
    Sub Types: Series, XY Scatter, XYZ Scatter
    Shapes: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Sphere, Ellipse, Cross, Diagonal Cross, Line Cross, Line Diagonal Cross, Star
  • Bubble - (available in 2D and 3D)
    Sub Types: Series, XYScatter, XYZScatter
    Shapes:Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Sphere, Ellipse, Cross, Diagonal Cross, Line Cross, Line Diagonal Cross, Star
  • Float Bar - (available in 2D and 3D)
    Sub Types: Series, Clustered, Stacked, XY Scatter, XYZ Scatter, XYZ Scatter Stacked
    Shapes:Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Ellipsoid, Smooth Edge Bar, Cut Edge Bar
  • High Low - (available in 2D and 3D)
    Sub Types: Series, XY Scatter
  • HeatMap - (available in 2D only)
  • Stock - (available in 2D and 3D)
    Sub Types: Series, XY Scatter
    Shapes: OHLC stick, HLC stick, Candle Stick
  • Funnel - (available in 2D and 3D)
    Control over labeling, neck width, neck height and points gap.
  • Radar - (available in 2D only)
    Sub Types: Lines, Areas
  • Polar - (available in 2D only)
    Sub Types: Lines, Areas, Points, Vector, Range
  • Surface - (available in 3D only)
    Sub Types: Grid, Mesh, Triangulated
    Drawing Modes: Scaled, Flat at Axis Begin, Flat and Axis End
  • Error Bar - (available in 2D and 3D)
    Sub Types: Series, XY Scatter, XYZ Scatter
    Controllable visibility of X, Y and Z error bars
  • Box And Whiskers - (available in 2D only)
    Sub Types: Series, XY Scatter
    Settings: Box and Whiskers size
  • Vector - (available in 2D and 3D)
    Sub TypesSeries, XY Scatter, XYZ Scatter
    Settings: Arrow shape and size
  • Range - (available in 2D and 3D)
    Sub Types: Series, XY Scatter, XYZ Scatter
  • Kagi - (available in 2D only)
    Subtypes: Series, XY Scatter
    Settings: Reversal amount, Up and Down stroke style
  • Renko - (available in 2D only)
    Sub Types: Series, XY Scatter
    Settings: Up and Down stroke style, Up and Down fill style
  • Three Line Break - (available in 2D only)
    Sub Types: Series, XY Scatter
    Settings: Box Width Percent, Number of Lines to Break, Up and Down stroke style, Up and Down fill style
  • Point And Figure - (available in 2D only)
    Sub Types: Series, XY Scatter
    Settings: Box Size, Reversal Amount, Preceding Column Peak, Preceding Column Direction, Proportional X/Y, Up and Down stroke style
  • Combo - (available in 2D and 3D)
    Sub Types: Series, XY Scatter, XYZ Scatter
    A versatile charting type allowing you to mix custom combinations of series types. Series types are specified per values data grouping. There are many per series type options. You can combine the following series types: Bar, Area, Smooth Area, Line, Smooth Line, Step Line, Point, Bubble, High Low, Stock, Error Bar, Box and Whiskers, Vector and Range.

Axes - complete set of axis related features designed to target even the most compelling charting requirements. The axes are largely automatic allowing you to focus on your project and be able to customize every aspect of the appearance and behavior of the axis if needed. Following is a short list of the axis related features of the component:

  • Primary and Secondary X and Y Axes
  • Depth Axis
  • Special Radar and Polar axes
  • Numeric Scale - automatically selected by the component depending on the chart type. The following subtypes are available:
    - Number scale - allows you to display any data in numeric format (profit, sales, percentages etc.)
    - Angular scale - allows you to display angular data in degrees and grads (used in polar charts).
    - DateTime scale - general date time scale suitable for the display of date time data.
    - ValueTimeline scale - advanced date time scale most commonly used in financial charts.
    - RangeTimeline scale - advanced date time scale most commonly used in financial and project management charts.
  • Categorical Scale - automatically selected by the component depending on the chart type. The following features are available for categorical scales:
    - single row and grouped categorical labels.
    - controllable grid style.
  • Advanced positioning options
    The axes of the component can be docked to the chart sides (or polar rim) or crossed at value with some other axis. In addition axes can share parts of the chart plot.
  • Title - control over the title text, appearance, position and angle.
  • Ruler - control over the begin / end ruler caps as well as option to highlight scale breaks on the ruler.
  • Range - control over the range displayed by the axis. Ability to inflate that range in several modes.
  • Gridlines - control over the major and minor gridlines appearance.
  • Ticks - control over the appearance and position of minor and major ticks.
  • Stripes - ability to highlight repeating ranges of data on the chart walls, with controllable show/hide pattern.
  • Sections - ability to conditionally modify the appearance of axis decorations (tick, gridlines and labels) if they fall in a specified range. This feature allows you to highlight important ranges of data on the axis.
  • Constant Lines - ability to show constant (reference) lines at specified value. In 3D mode you can also show planes crossing the plot at the specified value.
  • Scale Breaks - ability to skip a range of values on the axis with controllable style and appearance.
  • Label Layout - ability to control how the axis must resolve label overlapping and layout options.
  • Label Formatting - ability to control the label formatting on numeric scales - including many advanced options for currency, percentage, scientific and date time label formatting.

Walls

  • Walls visibility
  • Walls appearance
  • Walls depth (in 3D)

Legends

  • Advanced positioning options
  • Items layout preferences
  • Control over legend marks
  • Header and Footer
  • Gridlines
  • Stripes

Per Series (Values Data Groupings) Properties

  • Series options (for combo charts)
  • Display on chart area
  • Display on X axes
  • Display on Y axes
  • Display on legend
  • Markers - control over shape, size, position and appearance
  • Legend - control over the data describing the series in the legend
  • Data Labels - control over format, appearance and layout.
  • Interactivity - tooltips, jump to URL.

Data Groupings Editors

  • Edit grouping expressions
  • Edit filter expressions
  • Edit sorting expressions

Rendering

  • Support for different image formats
  • Specify width and height
  • On/off image map rendering
  • Control over the currently used culture settings. You can select a custom culture or synchronize the currently used culture with the server regional settings.

Appearance Customizations

  • Fill Style editor - helps you define the filling of an element. Provides options for solid color, gradient and hatch fill types.
  • Stroke Style editor - helps you define the outline/stroke of an element. Provides options for line caps and joins, line pattern and color.
  • Shadow Style editor - helps you define the shadow which is casted by an element. Provides options for solid, linear, radial blur and gaussian blur shadows.
  • Text Style editor - helps you define the default appearance of a text element. Provides options for font size and type, font filling, outline, shadow, backplane etc.
  • Frame Style editor - helps you define the frame of the component and its panels. Supports artistic/image borders.

Code Embedding - allows you to modify every aspect of the chart using C# or VB.NET code.

Templates - allows you to save and load the component state inside the web part designer.

Unique Features

Advanced Pivot Charting - the pivot charting capabilities embedded in the product are only comparable to the ones provided by leading reporting tools. However none of these solutions provides this level of flexibility and ease of configuration inside SharePoint nor the advanced data visualization of Nevron.

Expressions Everywhere - nearly all aspects of the web part (from the data source connection, through the data aggregation and data visualization) can be controlled by expressions, which means that you can bind nearly everything to user defined preferences and data.

Speed - the fastest rendering chart inside SharePoint - in both 2D and 3D modes.

3D Charting - Nevron Chart for SharePoint has the best layout in 3D and the most advanced feature set in 3D - including: 11 predefined lighting modes, largest charting types set in 3D, biggest set of shapes in 3D (applicable to pies, bars, markers, areas etc.)

2D Charting - Nevron Chart for SharePoint is the only chart for SharePoint to provide Adobe Photoshop like image filter effects, which are applicable to all chart elements - these include bevel, emboss, lighting filters etc. When it comes to shadows it is the only chart for SharePoint which has soft shadows (based on Gaussian and Radial blur image filters).

2D/3D Consistency - Nevron Chart for SharePoint is consistent in 2D/3D modes. For example you can map gradients and patterns to elements in both 2D and 3D. Colors specified in 2D are inherited by materials in 3D. You can mix 2D and 3D chart areas in a single chart control.

XY and XYZ scatters - the industry leading support for XY and XYZ scatters inside SharePoint.

XML Formatted Texts - this feature is applicable to all elements which display text. It allows you to mix fonts, mix bold, italic underline formatting and many other advanced features like different fill styles, shadows, image filters etc. - all inside a single label, title etc. XML formatted texts use a format similar to HTML, but with many more advanced options.

Blazing Fast Chart Designer - Nevron Chart for SharePoint features an advanced chart designer, which is built with jQuery UI. The designer supports all major web browsers and does not require any plugins (like Silverlight or Flash). It does not use postbacks, MS ASP.NET controls or MS AJAX, which ensures that the client-server communication is brought to a minimum. The server-side UI processing is pure HTML and script rendering. The client-side is pure HTML, CSS and jQuery JavaScript.


Chart - Getting Started
Chart > Chart - Getting Started
The purpose of this topic is to provide basic understanding of charting terminology and how pivot charts are used in data analysis.
Chart Elements

Charts are composed of various elements such as chart areas, series, legends, titles, axes, walls, etc. that are illustrated by the following image:

There is a certain hierarchy associated with chart elements - i.e. some chart elements are contained in other chart elements - for example the chart walls and axes are parts of each charting area, the legend header and footer are parts of the legend etc. There are three root elements that define the overall chart layout - Chart Areas, Legends and Titles (see Chart Panels for more info).

A Charting Type is associated with each charting area. The charting type defines the geometrical figures and logic that is used to display a collection of values - in charting terminology called Series. In the image above you can see three series - Series 1 and Series 2 are plotted on the first chart area as a cluster bar chart, and Series 3 are plotted on the second chart area as an area chart. All three series are annotated on a single legend.

It is important to know that a series contains a set of data points that are extracted from your data. A data point can contain multiple values - in the example above Series 1 and Series 2 (bars) need only 1 value for each data point to be displayed, but Series 2 (area) needs two values - a numeric value for the data point elevation and a string value for the data point label.

My First Chart in SharePoint
We assume that you are in chart web part design mode. See the Adding the WebParts to Pages for a complete discussion on how to add the web part to a page and run the chart designer.

The first step in making a chart is to connect it to a data source - the Connecting to Data topic will guide you through this process. A data source is generally a table with rows and columns. The values in each column are in most cases of the same type (e.g. numbers, texts, date-times etc.).

Lets assume that you have connected to this data source:

By default the Nevron Chart for SharePoint is configured to have one charting area with cluster column chart, so we will now investigate the possibilities to display the data source. Generally, there are two strategies:

1. Tabular View - use this approach to display a data point for each record.

For example: to create a bar for each row sales value, that has categorical labels with the company names - do the following:

  • Go to the Pivot page
  • Go to Data Groupings > Values page
    - Drag and Drop the sales field on the Drop Value Fields Here spot.
    - In the General > Data > Value field type: =Fields!sales
  • Go the Data Groupings > Categories page
    - click on the Add Category button (to create a new category)
    - click on the Add Group By button and type: =Fields![RowIndex]
    -     in the Label text box type: =Fields!company

When you click the Preview page the following chart will show:

Q. What have we done?

A. We have created a single category that creates a group for each record of the data source. The category label is extracted from the company column. The bars values are extracted from the sales column.

Q. When to use?

A. When the data is already aggregated (e.g. if you use a SELECT statement with a GROUP BY clause), or when you want to explicitly show each row.

2. Matrix View - use this approach to display summary values.

For example: to create a bar for each company total sales value, that has categorical labels with the company names - do the following:

  • Go to the Pivot page
  • Go to Data Groupings > Values page
    - Drag and Drop the sales field on the Drop Value Fields Here spot.
  • Go to Data Groupings > Values page
    - Drag and Drop the company field on the Drop Category Fields Here spot.

When you click the Preview page the following chart will show:

Q. What have we done?

A. We have created a single category that creates a group for all records that belong to a single company. The category label is extracted from the company column. The bars values are calculated as the sum of all sales for the company group records.

Q. When to use?

A. When the data is not aggregated and you want to:

- Summarize a large quantity of data into a smaller, more condensed and readable chart. Even in our basic sample we reduced the data points count three times - thus increasing readability.

- Help identify relationships/trends within your data that would otherwise be hard to see due to its quantity. Even in our basic sample the tabular view fails to provide a clear visual perception for which is the company with most total sales. What about - Which is the best selling region? Which is the best performing company-region? What is the average profit per company and/or region? - pivot charts give a visual answer to these and many other strategic/performance questions.

For the purpose of simplicity, we have only scratched the surface of pivot charting. You should however know that even a simple dataset can have multiple types of matrix views, each "slicing and dicing" it in very diverse ways. These views will visually give the answers to very complex questions, that will otherwise remain hidden in stockpiles of data.
See Also
The Chart Designer
The Chart Data Model


The Chart Designer
Chart > The Chart Designer

Nevron Chart for SharePoint can be visually edited in any major web browser, though a web based designer. The chart designer is invoked by the "Run Chart Designer" toolbar command, which appears above the web part in page editing mode. The chart designer header consists of two important controls - the main toolbar and the main tab strip as shown by the following screenshot:

The editing info bar provides information about the currently edited web part, the current SharePoint user and the location of the edited web part in SharePoint.

The main toolbar provides access to the main commands related to the webpart that you edit - see The Main Toolbar for more info.

The main tabstrip provides access to different web part settings - following is a brief overview of its pages:

  • Data Source Page - lets you connect the chart to a data source.
  • Chart Page - exposes properties of the chart areas, legends, titles etc.
  • Pivot Page - provides a visual interface to the chart pivot.
  • Code_Page - provides a visual interface for custom code injection.
  • Rendering Page - exposes properties related to chart rendering.
  • Preview Page - lets you see a WYSIWYG preview of the current chart configuration.
The Main Toolbar

The main toolbar has the following commands:

  • OK - saves any changes in the edited web part and returns you to the edited page (leaves the designer).
  • Cancel - discards any changes to the web part and returns you to the edited page (leaves the designer).
  • Apply - saves any changes in the edited web part and lets you continue the editing (does not leave the designer).
  • Reset - lets you reset the web part to a blank (default) one. The blank web part is not connected to any data source and is the web part with which you start by default.
  • Save - saves the current state of the web part to an external file. You can later load this state file in any other web part.
  • Load - loads a previously saved state file.
  • View Web Parts Config - lets you inspect the global settings under which the webpart operates. See the The WebParts Config File for more info.
  • Help - opens the web help of the Nevron SharePoint Vision product.
No changes are applied to the edited web part until you click the OK or Apply buttons.
Data Source Page

The Data Source page lets you connect the chart to a tabular data source. Currently you can bind the chart to the following types of data sources:

  • Database
  • SharePoint List
  • SharePoint Site Query
  • Excel Services
  • Business Data Catalog
  • Web Part Table

See the Connecting to Data topic for a complete discussion.

The chart must be connected to a data source prior to editing the rest of its settings. That is why for a blank web part the Data Source page is displayed first. Once specified, it is not recommended to change your data source, since expressions that you write may reference field values from the data source.
Chart Page

Nevron Chart for SharePoint supports multiple chart areas, legends and titles. These chart elements are fully editable from the Chart Areas, Legends and Titles sub-tabs of the Chart page. See the Chart Areas, Legends and Titles topics for a full description of the settings per each of these elements.

The Layout and Appearance sub-tabs of the Chart Designer tab control general layout and appearance settings, which are not associated with a particular chart area, legend or title. See Understanding the Chart Layout and Customizing the Chart Appearance for a complete discussion.

For a chart web part that is already connected to a data source the Chart Page is displayed by default.
Pivot Page

Nevron Chart for SharePoint is built on top of the Nevron Pivot Engine. The Pivot page lets you define the category, series and values data grouping of the chart pivot, as well as edit the grouping, sorting and filtering rules associated with them. Creating new value, category and series data groupings is performed by dragging and dropping data set fields in the respective drop spots.

See the The Chart Data Model for a complete discussion of the chart pivot. The Values Data Groupings and Category and Series Data Grouping topics explain the properties of the values and categories/series data groupings in details.

Code Page
Nevron Chart for SharePoint allows for users with development experience in C# or VB.NET to inject custom code, which is executed at runtime. The code injection is dynamic meaning that no deployment of assemblies is needed for the injected code to run. See Code Injection for more information.
Rendering Page
The Rendering page lets you tune the image rendering options of the chart. See the Rendering Options for more information.
Preview Page
The Preview page lets you see a WYSIWYG preview of the webpart as it will appear at runtime. The preview is generated with the processed chart pivot and uses the current data source state.
Browser Compatibility

The Designer is compatible with all modern web browsers (Chrome, FireFox, Opera, IE 11/10/9/8/7 etc.). Browser compatibility is ensured by the JQuery JavaScript library and a common CSS layer developed by Nevron.

See Also
The Chart Data Model
Pivot Engine - Getting Started


Chart Panels
Chart > Chart Panels > Chart Panels

There are three main types of blocks (panels) involved in each chart:

  • Charting Area - a charting area is panel that displays a chart of a certain type. Depending on the type of chart displayed inside the charting area, the charting area may also include settings for axes, walls and other decorations that are specific for each charting type. Nevron Chart for SharePoint supports multiple charting areas. See Chart Areas for more info.
  • Legend - a legend is a panel, that displays information about the chart series or the chart series data points. The content of the legend is automatically populated. For each chart series you can individually specify whether it displays series information or data point information inside the legend to which it is assigned. Each charting series can be associated to exactly one legend, however you can have multiple legends that display information from arbitrary series. See Legends for more info.
  • Title - a title is the most simple type of panel. It simply displays a text string that is generally used title the chart. Nevron Chart for SharePoint supports multiple titles. See Titles for more info.

The arrangement of the chart areas, legends and titles is described in the The Chart Layout topic.

The Charting Areas, Legends and Titles are all edited from sub-tabs of the main Chart Page. When the chart web part is connected to a data source, the Chart Page is the first displayed page, when you run The Chart Designer.

It is important to know that all properties that reside in the Chart Page are recorded in the Pivot Properties, and hence the default scope of their evaluation is the Pivot scope. See Pivot Engine - Getting Started for more information.
See Also
Chart Areas
Legends
Titles
The Chart Layout


Chart Areas
Chart > Chart Panels > Chart Areas

Nevron Chart for SharePoint supports multiple chart areas. Chart areas are added, removed and edited by the Chart Areas Tab of the Chart Major Tab (Chart > Chart Areas). Nevron Chart for SharePoint must have at least one chart area, which is created by default. Each values data grouping is displayed on exactly one chart area - see the Value Data Groupings topic for more information.

Each chart area has a charting type, axes, walls, layout, appearance and 3D effects associated with it. The chart area editor for the currently selected chart area has tabs for each of these chart area elements. For each chart area you can currently choose among the following charting types: Bar, Area, Line, Pie, Point, Bubble, Float Bar, High Low, Stock, Funnel, Polar, Radar and Surface.

Chart Type

The currently selected charting type defines the types of axes and walls which appear in the Axes and Walls tab pages. The following table summarizes the relationship between the charting type and the axes and walls models:

Chart Type | Axes | Walls
Bar Chart | Cartesian Axes | Cartesian Walls
Area Chart | Cartesian Axes | Cartesian Walls
Smooth Area Chart | Cartesian Axes | Cartesian Walls
Line Chart | Cartesian Axes | Cartesian Walls
Smooth Line Chart | Cartesian Axes | Cartesian Walls
Step Line Chart | Cartesian Axes | Cartesian Walls
Pie Chart | None | None
Point Chart | Cartesian Axes | Cartesian Walls
Bubble Chart | Cartesian Axes | Cartesian Walls
Float Bar Chart | Cartesian Axes | Cartesian Walls
Heat Map Chart | Cartesian Axes | Cartesian Walls
High Low Chart | Cartesian Axes | Cartesian Walls
Stock Chart | Cartesian Axes | Cartesian Walls
Funnel Chart | None | None
Polar Chart | Polar Axes | Polar Wall
Radar Chart | Radar Axes | Radar Wall
Surface Chart | Cartesian Axes | Cartesian Walls
Error Bar Chart | Cartesian Axes | Cartesian Walls
Box And Whiskers Chart | Cartesian Axes | Cartesian Walls
Vector Chart | Cartesian Axes | Cartesian Walls
Range Chart | Cartesian Axes | Cartesian Walls
Kagi Chart | Cartesian Axes | Cartesian Walls
Renko Chart | Cartesian Axes | Cartesian Walls
Three Line Break Chart | Cartesian Axes | Cartesian Walls
Point And Figure Chart | Cartesian Axes | Cartesian Walls
Combo Chart | Cartesian Axes | Cartesian Walls

Axes

When the currently selected charting type uses Cartesian axes, the Axes tab contains the PrimaryY, SecondaryY, PrimaryX, SecondaryX and Depth axes. For Cartesian charting types the charting type also defines the dimension types of the chart. In a Cartesian coordinate system composed of X, Y and Z dimensions a certain dimension can be Numeric, Categorical or One. All Cartesian axes support the Numeric and Categorical scaling mode. The One scaling mode is only supported for the Z dimension and means that only a single depth level is created to display the series of this chart. The documentation for each Cartesian charting type specifies the dimension types. See Cartesian Axes for more information.

When the currently selected charting type uses polar axes, the Axes tab contains the PolarValue and PolarAngle axes. See Polar Axes for more information. Similarly the Radar Axes are displayed when the currently selected charting type uses polar axes.

If the selected charting type has no axes the Axes tab is empty.

Labels

When the currently selected charting type is Cartesian, Polar or Radar the Labels tab allows you to define some label layout properties applied to all data labels displayed on that chart area. The objective of the label layout feature is to ensure maximum visibility for chart elements by preventing data point labels from overlapping with each other and with the data points themselves. The label layout is performed on three stages that can work independently or in combination. By default all layout stages are disabled. They are activated on a per-chart basis so all data point labels displayed in a given chart are subject to automatic layout.

Enable Initial Positioning

The first layout stage is called Initial Positioning. It can be enabled by checking the "Enable Initial Positioning" check box. The purpose of Initial Positioning is to select a position for each label from a set of proposed locations situated around the origin point of the label. The control selects the location that causes minimum potential conflicts with other labels locations.

Remove Overlapping Labels

The second stage removes all labels that overlap each other.

Label Adjustment

The third stage of the Automatic Data Label Layout is called Label Adjustment. It can be enabled by checking the "Enable Label Adjustment" check box. This stage removes overlaps by shifting overlapping labels apart from each other.

Walls

When the currently selected charting type uses Cartesian walls, the Walls tab contains the Side, Floor and Back walls. See Cartesian Walls for more information.

When the currently selected charting type uses polar wall, the Walls tab contains a single wall - the polar wall. Analogously the radar wall is displayed when the charting type uses a radar wall. See Polar Wall and Radar Wall for more information.

If the selected charting type has no walls the Walls tab is empty.

Layout
See the Understanding the Chart Layout topic for complete information about chart layout.
Appearance
See the Customizing the Chart Appearance topic for complete information about chart appearance.
2D/3D Effects

See 2D/3D Effects topic for more information.


Bar Chart
Chart > Chart Panels > Charting Types > Bar Chart

A Bar Chart displays a sequence of vertical or horizontal bars (shapes) of lengths proportional to the value that they represent. Bar charts are usually used for comparing two or more values or representing the contribution of each value to a total (stacks). Following is a description of the bar chart settings:

Settings

Sub Type - The following table summarizes the different subtypes of the bar chart type:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
First in Chart | Next in Chart

Classical - displayed in both 2D and 3D. The X dimension type is always Categorical.
Clustered | Categorical | One | Value | Value | Shows series side by side.
Stacked | Categorical | One | Value | Value | Piles series on top of each other. Supports negative values.
Stacked Percent | Categorical | One | Value | Value | Piles series on top of each other and scales each pile to 100%.
Series | Categorical | Categorical | Value | Value | Shows series behind each other (best viewed in 3D).

Histogram - displayed in both 2D and 3D. The X dimension type is always Numeric.
Histogram Numeric Categorical Value Value

Show the histogram of the data point values. The following options are avaiable:

Interval Mode - possible values are Count and Width. The Count allows you to specify the count of the histogram bins whereas the second mode allows you specify the width of the histogram bins.

Interval Count - the number of bins in the histogram (regarded when Interval Mode is set to Count).

Interval Width - the width of histogram bins (regarded when Interval Mode is set to Width).

Round Interval - whether to round the automatically computed histogram bin width (regarded when Interval Mode is set to Count).

Round Range Begin - whether to round the histogram range begin value.

Round Range End - whether to round the histogram range end value.

XY Scatters - displayed in both 2D and 3D. The X dimension type is always Numeric.
XY Scatter Numeric Categorical Value
X 		Value
X 		Besides the value, each bar has a X coordinate at which it is positioned.
XY Scatter Clustered Numeric One Value
X 		Value The first in chart defines the cluster X position. Next in chart are arranged side by side relatively to this position.
XY Scatter Stacked Numeric One Value
X 		Value The first in chart defines the stack X position. Next in chart piled on top. Supports negative values.
XY Scatter Stacked Percent Numeric One Value
X 		Value The first in chart defines the stack X position. Next in chart are piled on top. Each pile is scaled to 100%.

XYZ Scatters - need 3D to be displayed correctly. The X and Z dimension types are always Numeric.
XYZ Scatter Numeric Numeric Value
X
Z 		Value
X
Z 		Besides the value, each bar has a X and Z coordinate at which it is positioned in the XZ plane.
XYZ Scatter Clustered Numeric Numeric Value
X
Z 		Value The first in chart defines the cluster XZ position. Next in chart are arranged side by side relatively to this position.
XYZ Scatter Stacked Numeric Numeric Value
X
Z 		Value The first in chart defines the stack XZ stack position. Next in chart are piled on top. Supports negative values.
XYZ Scatter Stacked Percent Numeric Numeric Value
X
Z 		Value The first in chart defines the stack XZ position. Next in chart are piled on top. Each pile is scaled to 100%.

All subtypes support a Label value for each data point. The Y dimension is always Numeric.

Shape - specifies the shape of the bars. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Ellipsoid, Smooth Edge Bar and Cut Edge Bar.

Edge Percent - defines the size of the edge in case the Shape is set to Smooth Edge Bar or Cut Edge Bar.

Width Percent - for classical subtypes the Width Percent defines the width of the bar or bar group in percents of the space available for each category. For XY and XYZ Scatters The Width Percent defines the width of the bar or bar group in percents of 1/10 of the chart width.

Depth Percent - for classical and XY scatter subtypes the Depth Percent defines the depth of the bars in the series in percents of the series size along the depth axis. For XYZ scatter subtypes the Depth Percent defines the depth of bars in percents of 1/10 of the chart depth.

Gap Percent - controls the gap (space) between the bars, when the subtype is set to one of the cluster modes.

The settings in the Palette tab are described in the Value Palette Settings topic.

Show Connector Lines - whether to show connector lines (lines connecting adjacent bars).

Connector Lines Stroke Style - the stroke style of the connector lines.

Automatic Data Labels Positioning
The automatic positioning of data labels in the case of all types of stacks is the data point center. In all other cases data labels are displayed on top of the data point.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).
See Also
Horizontal Charts


Area Chart
Chart > Chart Panels > Charting Types > Area Chart

Area charts display a sequence of filled areas between the axis (or an origin line) and the value line. Area charts are usually used for comparing two or more values or representing the contribution of each value to a total (stacks), usually over time or other X measurement. Following is a description of the area chart settings:

Settings

Sub Type - the following table summarizes the different subtypes of the area chart type:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements |  | Description
 |  |  | First in Chart | Next in Chart
Classical - Displayed in both 2D and 3D. The X dimension type is always Categorical.
Series | Categorical | Categorical | Value | Value | Shows series behind each other (best viewed in 3D).
Stacked | Categorical | One | Value | Value | Piles series on top of each other. Supports negative values.
Stacked Percent | Categorical | One | Value | Value | Piles series on top of each other and scales each pile to 100%.
XY Scatters - Displayed in both 2D and 3D. The X dimension type is always Numeric.
XY Scatter | Numeric | Categorical | Value X | Value X | Besides the value, each data point has a X coordinate at which it is positioned.
XY Scatter Stacked | Numeric | One | Value X | Value | The first in chart defines the stack X position. Next in chart piled on top. Supports negative values.
XY Scatter Stacked Percent | Numeric | One | Value X | Value | The first in chart defines the stack X position. Next in chart are piled on top. Each pile is scaled to 100%.

All subtypes support a Label value for each data point. The Y dimension is always Numeric.

Depth Percent - defines the depth of the area in the series in percents of the series size along the depth axis.

Drop Lines - when checked, displays vertical lines at each data point, which connect the data point value with the area base line.

Sampling Mode - controls whether the area uses sampling. When using sampling the area will detect very close individual area segments and display a single area segment that has the minimum and maximum values of the area segments that comprise it. This reduces the number of visual area segments and therefore leads to improved performance. When using sampling the area series will not regard settings for markers and data labels, individual appearance styles and shadow. Possible value are:

Auto - The area series uses sampling only when the number of data points is large.
Enabled - The area series always uses sampling.
Disabled - The area series does not use sampling. This is the default.

Sample Distance - controls the precision of the area series when it aggregates adjacent area segments. The precision is specified in points.

The settings in the Palette tab are described in the Value Palette Settings topic.

Automatic Data Labels Positioning

The automatic positioning of data labels in the case of all types of stacks is the data point center. In all other cases data labels are displayed on top of the data point.

Automatic Legend Mode

The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Smooth Area Chart
Chart > Chart Panels > Charting Types > Smooth Area Chart

Smooth Area charts are similar to Area charts, the difference being that the successive data points are connected with cubic spline segments instead of straight lines. Following is a description of the smooth area chart settings:

Settings

Sub Type - the following table summarizes the different subtypes of the area chart type:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Value | Shows series behind each other (best viewed in 3D).
XY Scatter | Numeric | Categorical | Value X | Besides the value, each data point has a X coordinate at which it is positioned.

All subtypes support a Label value for each data point. The Y dimension is always Numeric.

Depth Percent - defines the depth of the area in the series in percents of the series size along the depth axis.

Drop Lines - when checked, displays vertical lines at each data point, which connect the data point value with the area base line.

The settings in the Palette tab are described in the Value Palette Settings topic.

Automatic Data Labels Positioning

The automatic positioning of data labels in the case of all types of stacks is the data point center. In all other cases data labels are displayed on top of the data point.

Automatic Legend Mode

The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Line Chart
Chart > Chart Panels > Charting Types > Line Chart

A Line Chart displays a sequence of line segments that are sequentially connected. Line charts are usually used to show a trend or how a value contributes to a trend total (stacks), usually over time or other X measurement. Following is a description of the line chart settings:

Settings

Sub Type - the following table summarizes the different subtypes of the line chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements |  | Description
 |  |  | First in Chart | Next in Chart
Classical - Displayed in both 2D and 3D. The X dimension type is always Categorical.
Series | Categorical | Categorical | Value | Value | Shows series behind each other.
Stacked | Categorical | One | Value | Value | Piles series on top of each other.
Stacked Percent | Categorical | One | Value | Value | Piles series on top of each other and scales each pile to 100%.
XY Scatters - Displayed in both 2D and 3D. The X dimension type is always Numeric.
XY Scatter | Numeric | Categorical | Value X | Value X | Besides the value, each data point has a X coordinate at which it is positioned.
XY Scatter Stacked | Numeric | One | Value X | Value | The first in chart defines the stack X position. Next in chart are piled on top. Supports negative values.
XY Scatter Stacked Percent | Numeric | One | Value X | Value | The first in chart defines the stack X position. Next in chart are piled on top. Each pile is scaled to 100%.
XYZ Scatters - need 3D to be displayed correctly. The X and Z dimension types are always Numeric.
XYZ Scatter | Numeric | Numeric | Value X Z | Value X Z | Besides the value, each data point has a X and Z coordinate at which it is positioned in the XZ plane.
XYZ Scatter Stacked | Numeric | Numeric | Value X Z | Value | The first in chart defines the stack XZ stack position. Next in chart are piled on top. Supports negative values.
XYZ Scatter Stacked Percent | Numeric | Numeric | Value X Z | Value | The first in chart defines the stack XZ position. Next in chart are piled on top. Each pile is scaled to 100%.

Shape - defines the shape of the line segments. Possible values are: Line, Tape, Tube and Ellipsoid.

Depth Percent - controls the size of the tape shape in all subtypes except for XYZ scatter.

Size - controls the size of the shape in all XYZ scatters.

Sampling Mode - controls whether the line uses sampling. When using sampling the line will filter very close individual line segments and display a single line segment instead. This reduces the number of visual line segments and therefore leads to improved performance. When using sampling the line series will not regard settings for markers and data labels, individual appearance styles and shadow. Possible value are:

Auto - The line series uses sampling only when the number of data points is large.
Enabled - The line series always uses sampling.
Disabled - The line series does not use sampling. This is the default.

Sample Distance - controls the precision of the line series when it aggregates adjacent line segments. The precision is specified in points.

Automatic Data Labels Positioning
The automatic positioning of data labels is the top of the data point.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Smooth Line Chart
Chart > Chart Panels > Charting Types > Smooth Line Chart

Smooth Line charts are similar to Line charts, the difference being that the successive data points are connected with cubic spline segments instead of straight lines. Following is a description of the line chart settings:

Settings

Sub Type - the following table summarizes the different subtypes of the line chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Value | Shows series behind each other.
XY Scatter | Numeric | Categorical | Value X | Besides the value, each data point has a X coordinate at which it is positioned.
XYZ Scatter | Numeric | Numeric | Value X Z | Besides the value, each data point has a X and Z coordinate at which it is positioned in the XZ plane.
Automatic Data Labels Positioning
The automatic positioning of data labels is the top of the data point.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Step Line Chart
Chart > Chart Panels > Charting Types > Step Line Chart

Step Line charts are similar to Line charts, the difference being that the successive data points are connected with horizontal and vertical segments instead of straight lines. Following is a description of the step line chart settings:

Settings

Sub Type - the following table summarizes the different subtypes of the line chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Value | Shows series behind each other.
XY Scatter | Numeric | Categorical | Value X | Besides the value, each data point has a X coordinate at which it is positioned.

Shape - defines the shape of the line segments. Possible values are: Line, Tape, Tube and Ellipsoid.

Depth Percent - controls the size of the tape shape.

Size - controls the size of the tube and ellipsoid shapes.

Sampling Mode - controls whether the step line uses sampling. When using sampling the step line will filter very close individual line segments and display a single line segment instead. This reduces the number of visual line segments and therefore leads to improved performance. When using sampling the step line series will not regard settings for markers and data labels, individual appearance styles and shadow. Possible value are:

Auto - The step line series uses sampling only when the number of data points is large.
Enabled - The step line series always uses sampling.
Disabled - The step line series does not use sampling. This is the default.

Sample Distance - controls the precision of the step line series when it aggregates adjacent line segments. The precision is specified in points.

Automatic Data Labels Positioning
The automatic positioning of data labels is the top of the data point.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Pie Chart
Chart > Chart Panels > Charting Types > Pie Chart

A Pie Chart is a circular chart divided into sectors, where the arc length of each sector is proportional to the quantity it represents. Multiple series are not supported by pie charts. That is why only one series is created which takes the properties of the first values data grouping displayed in the Pie Chart chart area. Additional series just append values to this series. Each data point supports a Value and a Label value. Following is a description of the pie chart settings:

Settings

The settings of the pie chart are divided in two tabs - General and Others Group.

General Tab

The general settings control the overall appearance and labeling of the pie chart. Following are the options:

Shape - defines the shape of each sector. Possible values are: Pie, Torus, Smooth Edge Pie, Cut Edge Pie, Ring, Smooth Edge Ring and Cut Edge Ring.

Edge Percent - defines the size of the edge for smooth and cut edge shapes.

Inner Radius Percent - defines the size of the inner radius as percent of the outer radius for torus and ring shapes.

Label Mode - defines the labeling method used to annotate the data points. Possible values are:

Center - places data labels in the center of the sector.
Rim - places data labels at equally spaced distances along the sectors rims.
Spider - places data labels symmetrically in left and right aligned columns.
Spider No Overlap - similar to spider but resolves any data labels overlaps.

Begin Angle - controls the begin angle of the pie in degrees, counter clock wise.

Sweep Angle - controls the sweep angle of the pie in degrees, clock wise.

Others Group Tab

The pie chart can automatically group small pie slices into a single pie, which is usually labeled as the "Others" pie slice. This increases the overall readability of the pie chart. Following are the Others Group options:

Others Group Mode - defines the mode in which the "Others" pie slice is created. Possible values are:

None - the Others pie slice is not created.
Below Value - the Others pie slice is created as the cumulative slice of all slices whose value is below the value specified by the Below Value setting.
Below Percent - the Others pie slice is created as the cumulative slice of all slices whose percent contribution to the total is below the value specified by the Below Percent setting.

Below Value - controls the threshold value below which pie slices are grouped in the Others pie slice. Only applicable if Others Group Mode is set to Below Value.

Below Percent - controls the threshold percent below which pie slices are grouped in the Others pie slice. Only applicable if Others Group Mode is set to Below Percent.

Label - controls the label of the Others pie slice. By default set to "Others".

Fill Style - controls the filling the "Others" pie slice.

Border Style - controls the border of the "Others" pie slice.

Automatic Data Labels Positioning
The automatic positioning of data labels in pie charts is simply ignored because there is a specialized pie label method.
Automatic Legend Mode
The automatic legend mode evaluates to data points (e.g. the series data points are displayed in the legend).


Point Chart
Chart > Chart Panels > Charting Types > Point Chart

Point Charts display 1, 2 or 3-dimensional data as points in a Cartesian coordinate system. They are often used for XY and XYZ scatter plots especially when a large number of data points need to be displayed. Following is a description of the point chart settings:

Settings

Sub Type - the following table summarizes the different subtypes of the point chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Y | Shows series behind each other
XY Scatter | Numeric | Categorical | Y X | Besides the Y value, each data point has a X coordinate at which it is positioned.
XYZ Scatter | Numeric | Numeric | Y X Z | Besides the Y value, each data point has a X and Z coordinate at which it is positioned.

Shape - defines the shape of the points. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Sphere, Ellipse, Cross, Diagonal Cross, Line Cross, Line Diagonal Cross and Star.

Size - controls the size of the point shape.

Cluster Mode - controls whether the point chart uses clustering. Clustering works by identifying densely populated regions of data, which are later visualized by a single point. This reduces the number of visual points on the screen and therefore improves performance. When you use clustering the point series will not regard settings for markers, data points, individual fill styles and shadow. Possible values are:

Auto - The area series uses sampling only when the number of data points is large.
Enabled - The area series always uses sampling.
Disabled - The area series does not use sampling. This is the default.

Cluster Distance Factor - controls the maximum distance between two data points if they are to be merged in a cluster. Higher values for this property will diminish the number of visual points, but will decrease the precision of the cluster and vice versa.

Drop Lines (X/Y/Z)

Show - controls whether the dropline is visible

Origin Mode - controls the dropline origin mode. Possible values are:

Scale Min- dropline extends from the point value to the scale min value.

Scale Max - dropline extends from the point value to the scale max value.

Custom Value - dropline extends from the point value to the specified custom value.

Origin - controls the second point of the dropline in case Origin Mode is set to Custom Value.

Stroke Style - controls the stroke style of the droplines.

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Bubble Chart
Chart > Chart Panels > Charting Types > Bubble Chart

Bubble Charts display multi dimensional data as points in a Cartesian coordinate system. The size of each point is determined by an additional size value. The actual size of the bubble is interpolated to be in the MinSize - MaxSize range (see below). Following is a description of the bubble chart settings:

Settings
Sub Type - the following table summarizes the different subtypes of the bubble chart:
Subtype | X Dimension Type | Z Dimension Type | Data Requirements |  | Description
 |  |  | First in Chart | Next in Chart
Series | Categorical | Categorical | Y Size | Y Size | Shows series behind each other.
XY Scatter | Numeric | Categorical | Y X Size | Y X Size | Besides the Y value, each data point has a X coordinate at which it is positioned.
XYZ Scatter | Numeric | Numeric | Y X Z Size | Y X Z Size | Besides the value, each data point has a X and Z coordinate at which it is positioned in the XZ plane.

All subtypes support a Label value for each data point. The Y dimension is always Numeric.

Shape - defines the shape of the bubbles. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Sphere, Ellipse, Cross, Diagonal Cross, Line Cross, Line Diagonal Cross and Star.

Min Size - controls the size of the bubble with the smallest Size value.

Max Size - controls the size of the bubble with the largest Size value.

Automatic Data Labels Positioning

The automatic positioning of data labels is the data point center.

Automatic Legend Mode

The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Float Bar Chart
Chart > Chart Panels > Charting Types > Float Bar Chart

A Floating Bar Chart displays a sequence of vertical or horizontal bars, where each bar represents a one-dimensional value range. A Floating Bar chart can be used as a Gantt chart if the Y axis is in date-time scale mode. Gantt charts are popular in project management for planning the use of resources over time. Different activities that take place in the project are denoted by their start and finish dates/times. Following is a description of the float bar chart settings:

Settings

Sub Type - the following table summarizes the different subtypes of the float chart type:

Sub Type | X Dimension Type | Z Dimension Type | Data Requirements |  | Description
 |  |  | First in Chart | Next in Chart
Classical - displayed in both 2D and 3D. The X dimension type is always Categorical.
Clustered | Categorical | One | Value | Value | Shows series side by side.
Stacked | Categorical | One | Value | Value | Piles series on top of each other. Supports negative values.
Stacked Percent | Categorical | One | Value | Value | Piles series on top of each other and scales each pile to 100%.
Series | Categorical | Categorical | Value | Value | Shows series behind each other (best viewed in 3D).
XY Scatters - displayed in both 2D and 3D. The X dimension type is always Numeric.
XY Scatter | Numeric | Categorical | Value X | Value X | Besides the value, each bar has a X coordinate at which it is positioned.
XY Scatter Clustered | Numeric | One | Value X | Value | The first in chart defines the cluster X position. Next in chart are arranged side by side relatively to this position.
XY Scatter Stacked | Numeric | One | Value X | Value | The first in chart defines the stack X position. Next in chart piled on top. Supports negative values.
XY Scatter Stacked Percent | Numeric | One | Value X | Value | The first in chart defines the stack X position. Next in chart are piled on top. Each pile is scaled to 100%.
XYZ Scatters - need 3D to be displayed correctly. The X and Z dimension types are always Numeric.
XYZ Scatter | Numeric | Numeric | Value X Z | Value X Z | Besides the value, each bar has a X and Z coordinate at which it is positioned in the XZ plane.
XYZ Scatter Clustered | Numeric | Numeric | Value X Z | Value | The first in chart defines the cluster XZ position. Next in chart are arranged side by side relatively to this position.
XYZ Scatter Stacked | Numeric | Numeric | Value X Z | Value | The first in chart defines the stack XZ stack position. Next in chart are piled on top. Supports negative values.
XYZ Scatter Stacked Percent | Numeric | Numeric | Value X Z | Value | The first in chart defines the stack XZ position. Next in chart are piled on top. Each pile is scaled to 100%.

All subtypes support a Label value for each data point. The Y dimension is always Numeric.

Shape - specifies the shape of the columns. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Ellipsoid, Smooth Edge Bar and Cut Edge Bar.

Edge Percent - defines the size of the edge in case the Shape is set to Smooth Edge Bar or Cut Edge Bar.

Width Percent - for classical subtypes the Width Percent defines the width of the bar or bar group in percents of the space available for each category. For XY and XYZ Scatters The Width Percent defines the width of the bar or bar group in percents of 1/10 of the chart width.

Depth Percent - for classical and XY scatter subtypes the Depth Percent defines the depth of the bars in the series in percents of the series size along the depth axis. For XYZ scatter subtypes the Depth Percent defines the depth of bars in percents of 1/10 of the chart depth.

Gap Percent - controls the gap (space) between the bars, when the subtype is set to one of the cluster modes.

Show Connector Lines - whether to show connector lines (lines connecting adjacent bars begin and end values).

Connector Lines Stroke Style - the stroke style of the connector lines.

Automatic Data Labels Positioning
The automatic positioning of data labels in the case of all types of stacks is the data point center. In all other cases data labels are displayed on top of the data point.

Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).

See Also
Horizontal Charts


Heatmap Chart
Chart > Chart Panels > Charting Types > Heatmap Chart

A heat map is a 2D representation of data where the individual values are contained in a matrix and are represented as colors, which are taken from an associated palette. Heatmap charts are only displayed in 2D mode.

Multiple series are not supported by heatmap charts. That is why only one series is created, which takes the properties of the first values data grouping displayed in the Heatmap Chart area. To show a Heatmap chart you typically create a series data grouping.

Settings

Position

X Values Mode - defines the mode in which the x values of the heat map are computed. Possible values are:

Natural- the x values of the heatmap grid are computed as natural numbers starting from 0 with step 1
Origin And Step - the x values of the heatmap grid are computed using the following formula - x_value = x_index * XStep + XOrigin

X Step - controls the distance(step) between heat map surface cells when the X Values Mode is set to Origin And Step.

X Origin - controls the x origin value of the heat map grid.

Y Values Mode - defines the mode in which the y values of the heat map are computed. The possible values are the same as in the X Values Mode setting.

Y Step - controls the distance(step) between heat map surface cells when the y values mode is set to Origin And Step.

Y Origin - controls the y origin value of the heat map grid.

Appearance

Contour Display Mode - controls the way in which contour values are visualized. Possible values are:

None - the heatmap does not display contours.
Dots - contour values are displayed as dots (with controllable color and size).
Contour - contour values are displayed as contour lines.

Contour Color Mode - controls the way in which contour lines or dots are colored. Possible values are:

Uniform - the contour lines or dots are displayed with a single color / stroke which is specified from the Contour Stroke Style setting.
Palette - the contour lines or dots are displayed with the color corresponding to the the contour value as specified from the attached palette.

Contour Stroke Style - controls the stroke style of contour lines. This setting has effect when Contour Display Mode is set to Contour.

Contour Dot Size - controls the size of the contour dots. This setting has effect when Contour Display Mode is set to Dots.

Labels

Show Contour Labels - whether contour lines should be annotated.

Contour Label Distance - the distance between labels on the contour (specified in points).

Clip Contour - whether the label should clip the generated contour lines.

Allow Label to Flip - whether the label is allowed to flip (e.g. have non left to right reading direction).

Contour Label Format - the format string used for contour labels.

Contour Label Text Style - the text style of contour labels.


High Low Chart
Chart > Chart Panels > Charting Types > High Low Chart

A High-Low Chart displays a sequence of data points, each representing a one-dimensional value range. The begin values of consecutive data points are connected with a "low" line. The end values are connected with a "high" line. The area between these two lines is filled with different colors, depending on whether the "high" line runs above or below the "low" line. Following is a description of the float bar chart settings:

Settings

Sub Type - the following table summarizes the different subtypes of the high low chart:

Sub Type | X Dimension Type | Z Dimension Type | Data Requirements |  | Description
 |  |  | First in Chart | Next in Chart
Series | Categorical | Categorical | High Low | High Low | Shows series behind each other.
XY Scatter | Numeric | Categorical | High Low X | High Low X | Shows series behind each other. Has an additional X value, which defines the data points X position.

All subtypes support a Label value for each data point. The Y dimension is always Numeric.

Depth Percent - defines the depth of the high-low area in percents of the series size along the depth axis.

Drop Lines - specifies whether the high-low area segments must be divided by vertical lines.

High Label - defines the label, which is associated with data points for which the high value is larger than the low value. See Data Point Formatting Commands for more information.

Low Label - defines the label, which is associated with data points for which the high value is smaller than the low value. See Data Point Formatting Commands for more information.

High Fill Style - controls the filling of the areas for which the high ending value is larger than the low ending value.

High Border Style - controls the border of the areas for which the high ending value is larger than the low ending value.

Low Fill Style - controls the filling of the areas for which the high ending value is smaller than the low ending value.

Low Border Style - controls the border of the areas for which the high ending value is smaller than the low ending value.

The settings in the Palette tab are described in the Value Palette Settings topic.

Automatic Data Labels Positioning
The automatic positioning of data labels in the case of all types of stacks is the data point center. In all other cases data labels are displayed on top of the data point.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series full name is displayed in the legend).


Stock Chart
Chart > Chart Panels > Charting Types > Stock Chart

Stock charts are used to plot stock data, usually over time. Stock charts use color coding to distinguish between stock prices, which went up or down when the stock closed.

Settings

Sub Type - the following table summarizes the different subtypes of the stock chart:

Sub Type | X Dimension Type | Z Dimension Type | Data Requirements | Comments
Series | Categorical | Categorical | Open High Low Close | Shows series behind each other.
XY Scatter | Numeric | Categorical | Open High Low Close X | Shows series behind each other. Has an additional X value, which defines the data points X position.

The Y dimension is always Numeric.
Shape - controls the shape of the data points. Possible values area:

Open High Low Close Stick - draws a stick connecting the high and low values. The open value is displayed as a tick on the left. The close value is displayed as a tick on the right. If the close value is higher than the open value the stick uses the Up Stroke Style. Otherwise it uses the Down Stroke Style.

Candle Stick - draws a stick connecting the high and low values. The open and close values define a box along the stick. This box is filled/stroked with the Up Fill Style and Up Stroke Style if the open value is smaller than the close value. Otherwise the box is shaded with the Down Fill Style and Down Stroke Style.

Width - controls the width of the stock stick/candle.

Up Label - defines the label, which is associated with data points for which the close value is larger than the open value. See Data Point Formatting Commands for more information.

Down Label - defines the label, which is associated with data points for which the close value is smaller than the open value. See Data Point Formatting Commands for more information.

Up Fill Style - controls the filling of the candle boxes for which the close value is larger than the open ending value.

Up Stroke Style - controls the border/stroke of the candle boxes/stick for which the close value is larger than the open value.

Down Fill Style - controls the filling of the candle boxes for which the close value is smaller than the open value.

Down Stroke Style - controls the border/stroke of the candle boxes/stick for which the close value is smaller than the open value.

Automatic Data Labels Positioning
Stock charts do not display data labels. That is why all data label settings are ignored.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to logic, which in the case of a stock chart produces two legend items - one for the "up" data points and one for the "down" data points.


Funnel Chart
Chart > Chart Panels > Charting Types > Funnel Chart

The Funnel chart is similar to a Stacked Percent Bar Charts with only one category. It represents 100% of the summary values for the data items included in the chart. Funnel Charts are often used to represent stages in a sales process and show the amount of potential revenue for each stage. This type of chart can also be useful in identifying potential problem areas in an organization’s sales processes.

Multiple series are not supported by funnel charts. That is why only one series is created which takes the properties of the first values data grouping displayed in the Funnel chart area. Additional series just append values to this series. Each data point supports a Value and a Label value. Following is a description of the funnel chart settings:

Settings

Neck Width Percent - specifies the width of the funnel neck, in percents of the total funnel width. Accepts values in the [0;50] range.

Neck Height Percent - specifies the height of the funnel neck, in percents of the total funnel height. Accepts values in the [0;50] range.

Point Gap - controls the size of the gap between the data points.

Label Mode - defines the labeling method used to annotate the data points. Possible values are:
Center - data labels are placed at the center of the funnel segments
Right - data labels are placed on the right side of the funnel segments
Right Aligned - data labels are placed on the right side of the funnel segments and are aligned in a single column.
Left - data labels are placed on the left side of the funnel segments
Left Aligned - data labels are placed on the left side of the funnel segments and are aligned in a single column.

Automatic Data Labels Positioning
The automatic positioning of data labels in funnel charts is simply ignored, because there is a specialized funnel label mode.
Automatic Legend Mode
The automatic legend mode evaluates to data points (e.g. the series data points are displayed in the legend).


Polar Chart
Chart > Chart Panels > Charting Types > Polar Chart

Polar Charts display 2-dimensional data points in a polar coordinate system. The position of a point is specified by its distance from the center and a rotation angle (i.e. in polar coordinates). The points are connected by a line and optionally the area enclosed by the line can be filled. Polar Charts need a Value and Angle values for each data point. A Label value is also supported for each data point. Polar Charts are displayed with Polar Axes and Polar Wall. Following is a description of the polar chart settings:

Settings

Sub Type - Defines the polar chart subtype. Possible values are:
Lines - displays each series as a line connecting the subsequent data points.
Areas - displays each series as a line connecting the subsequent data points and fills the enclosed area.
Points - displays each series as points.
Range - displays each series as ranges (requires you to specify a second value and angle pair).
Vector - displays each series as vectors (requires you to specify a second value and angle pair).

Close Contour - specifies whether the chart should connect the last and first data points. Only applicable for Lines subtype.

Shape - defines the shape of the polar data points. Only applicable for Points subtype.

Size - defines the size of the polar data points. Only applicable for Points subtype.

Begin Angle - specifies the angle at which the data points with zero angle are displayed.

Automatic Data Labels Positioning
The automatic positioning of data labels in polar charts is the data point center.
Automatic Legend Mode
The automatic legend mode evaluates to series (e.g. the series full name is displayed in the legend).


Radar Chart
Chart > Chart Panels > Charting Types > Radar Chart

A Radar Chart plots the values of each category along a separate axis that radiates from the center of the chart and ends on the outer ring. A line connects all the values from the same series and optionally the area enclosed by the line can be filled. Radar Charts need a Value value for each data point. A Label value is also supported for each data point. Radar Charts are displayed with Radar Axes and Radar Wall. Following is a description of the radar chart settings:

Settings

Sub Type - defines the radar chart subtype. Possible values are:
Lines - displays each series as a line connecting the adjacent data points.
Areas - displays each series as a line connecting the adjacent data points and fills the enclosed area.

Automatic Data Labels Positioning
The automatic positioning of data labels in radar charts is the data point center.
Automatic Legend Mode
The automatic legend mode evaluates to series (e.g. the series full name is displayed in the legend).


Surface Chart
Chart > Chart Panels > Charting Types > Surface Chart

Surface Charts display a surface connecting adjacent data points (Grid and Mesh subtypes) or an automatic triangulation of a set of points (Triangulated subtype). Surface charts are only displayed in 3D mode.

Multiple series are not supported by surface charts. That is why only one series is created, which takes the properties of the first values data grouping displayed in the Surface Chart area.

Additional series add depth to the surface base grid (in the case of Grid or Mesh surface) or add data points (in the case of Triangulated surface). Following is a description of the surface chart settings:

Settings

Sub Type - the following table summarizes the surface chart subtypes:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Grid | Categorical | Categorical | Y | Shows a surface connecting the adjacent data points. The X and Z location of each data point is the center of the grid cell corresponding to the respective category - series. To show a Grid surface chart you typically create a series data grouping.
Mesh | Numeric | Numeric | Y X Z | Shows a surface connecting the adjacent data points. The X and Z location of each data point is explicitly specified. To show a Grid surface chart you typically create a series data grouping.
Triangulated | Numeric | Numeric | Y X Z | Shows a surface built from the automatic triangulation of a set of points in 3D.

Drawing Mode - defines the mode in which the surface is drawn. Possible values are:

Scaled - the surface Y dimension is scaled on the Y axis (the default setting)
Flat At Axis Begin - the surface is drawn flat at the Y axis begin
Flat At Axis End - the surface is drawn flat at the Y axis end

Flat drawing modes are typically used for contour plots. If you use a flat drawing mode you may consider changing the PaletteMode to Custom Steps Count. Contour plots are best displayed with the following 3D effects: Rotation=0, Elevation=90, Projection Type=Orthogonal, X Depth Offset=0, Y Depth Offset = 0.

Frame Mode - defines the mode in which the surface frame is rendered. Possible values are:

None - the frame of the surface is not displayed.
Mesh - displays the frame as lines connecting the adjacent data points. In the case of a mesh surface the adjacent data points are determined by the triangulation.
Contour - displays lines, which outline the elevation zones.
Mesh Contour - combines the mesh and contour modes.

Fill Mode - defines the mode of the surface filling. Possible values are:

None - the surface is not filled.
Zone - the surface is filled in zones which depict the ranges of elevation.
Uniform - the surface is filled with the Fill Style of the "first in chart" values data grouping.

Palette Mode - defines the mode in which the surface zoning palette is determined. Possible values are:

Sync With Axis Scale - the palette is automatically synchronized with axis scale.
Custom Steps Count - the palette is automatically calibrated to the elevation data [min:max] range, but has the number of steps defined by the Palette Steps setting.

Palette Steps - defines the number of steps in the palette when the Palette Mode is set to Custom Steps Count.

Smooth Palette - defines whether palette smoothing should be performed for zoned filling.

Use Precise Geometry - when checked geometric operations used in the triangulation are more precise, at the cost of performance. This option is available only for Triangulated surface sub type.

Cluster Mode - this mode controls whether the visualized data set will first be simplified before triangulation is performed. When rendering in cluster mode the surface will automatically reduce the number of triangulated data points, which will speed up rendering at the expense of the surface accuracy. Possible options are:

Auto - clustering is automatically enabled when the number of data points becomes large.
Enabled - clustering is always enabled.
Disabled - clustering is always disabled (this is the default).

Cluster Distance Factor - control the amount of simplification of the original set of points passed for triangulation. Smaller values for this property produce less simplified and more accurate data set and vice versa.

Automatic Legend Mode
The automatic legend mode evaluates to logic - in the case of the surface chart this displays the surface zones.


Error Bar Chart
Chart > Chart Panels > Charting Types > Error Bar Chart

An Error Chart can be used to indicate estimated error in a measurement. The error values are shown as "T" and upside-down "T" symbols above and below the primary value. The most common Error Chart displays errors only in Y values. XY Error Charts can display errors both in X and Y values. XYZ Error Charts are available in 3D mode if you need to display errors for X, Y and Z values simultaneously.

Settings

Sub Type - the following table summarizes the different subtypes of the error bar chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Settings
Series | Categorical | Categorical | Y Lower Error Y Upper Error Y | Show Lower Error Y - show/hide the lower Y error marks. Show Upper Error Y - show/hide the upper Y error marks. Size Y - controls the size of the Y error marks
XY Scatter | Numeric | Categorical | Y Lower Error Y Upper Error Y X Lower Error X Upper Error X | Show Lower Error Y - show/hide the lower Y error marks. Show Upper Error Y - show/hide the upper Y error marks. Size Y - controls the size of the Y error marks Show Lower Error X - show/hide the lower X error marks. Show Upper Error X - show/hide the upper X error marks. Size X - controls the size of the X error marks
XYZ Scatter | Numeric | Numeric | Y Lower Error Y Upper Error Y X Lower Error X Upper Error X Z Upper Error Z Lower Error Z | Show Lower Error Y - show/hide the lower Y error marks. Show Upper Error Y - show/hide the upper Y error marks. Size Y - controls the size of the Y error marks Show Lower Error X - show/hide the lower X error marks. Show Upper Error X - show/hide the upper X error marks. Size X - controls the size of the X error marks Show Lower Error Z - show/hide the lower Z error marks. Show Upper Error Z - show/hide the upper Z error marks. Size Z - controls the size of the Z error marks

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Box And Whiskers Chart
Chart > Chart Panels > Charting Types > Box And Whiskers Chart

Box and Whiskers plots are very helpful in interpreting the distribution of data. Each box and whiskers item represents a set of values and displays statistical information like minimum, maximum and median values, upper and lower quartiles and optionally a mean value. This charting type is available in 2D mode only.

Settings

Sub Type - the following table summarizes the different subtypes of the error bar chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Settings
Series | Categorical | Categorical | Upper Box Lower Box Upper Whisker Lower Whisker Median Average | The X value of each item will be automatically determined by the control.
XY Scatter | Numeric | Categorical | X Upper Box Lower Box Upper Whisker Lower Whisker Median Average | Each Box and Whisker data point can have arbitrary X value allowing you to display scatter Box and Whiskers charts.

Whiskers Width Percent - defines the width of the whiskers in percentages relative to the box width. When the chart type is in Series mode the box width is automatically defined. In XY Scatter mode the box width is controlled through the Box Width setting.

Box Width Percent - defines the width of the box in percentages relative to the box width. When the chart type is in Series mode the box width is automatically defined. In XY Scatter mode the box width is controlled through the Box Width setting.

Box Width - controls the box width when the chart type is XY Scatter.

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Vector Chart
Chart > Chart Panels > Charting Types > Vector Chart

Vector charts display arrows in 2D or 3D space. A vector data item is defined by two points (begin - end) and is represented by a single arrow. An arrowhead is placed at the end point to indicate the vector direction. Vector Charts are commonly used to display force fields.

Settings

Sub Type - the following table summarizes the different subtypes of the vector chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Y1 Y2 | An arrow is drawn from Y1 to Y2. Both points have the same X value.
XY Scatter | Numeric | Categorical | Y1 X1 Y2 X2 | An arrow is drawn from [X1, Y1] to [X2, Y2].
XYZ Scatter | Numeric | Numeric | Y1 X1 Z1 Y2 X2 Z2 | An arrow is drawn from [X1, Y1, Z1] to [X2, Y2, Z2]. You need to switch the chart mode to 3D.

Shape - controls the shape of the arrow head. Possible options are None, Arrow and Triangle.

Arrowhead Size - controls the width and height of the arrowhead in percentages of the vector width.

Min Arrowhead Size - controls the minimum width and height of the arrow head.

Max Arrowhead Size - controls the maximum width and height of the arrow head.

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Range Chart
Chart > Chart Panels > Charting Types > Range Chart

The Range Chart can display 2D or 3D shapes defined by the begin / end values of their bounding boxes. It can be used for display of histograms, bars with custom sizes, 3D ranges etc.

Settings

Sub Type - the following table summarizes the different subtypes of the range chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Y1 Y2 | A line is drawn from Y1 to Y2. Both points have the same X value.
XY Scatter | Numeric | Categorical | Y1 X1 Y2 X2 | A rectangle is drawn from [X1, Y1] to [X2, Y2].
XYZ Scatter | Numeric | Numeric | Y1 X1 Z1 Y2 X2 Z2 | A box is drawn from [X1, Y1, Z1] to [X2, Y2, Z2]. You need to switch the chart mode to 3D.

The settings in the Palette tab are described in the Value Palette Settings topic.

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Kagi Chart
Chart > Chart Panels > Charting Types > Kagi Chart

Kagi charts display series of vertical lines to illustrate general levels of supply and demand for certain assets. The thickness and direction of the lines are dependent on the price action. Thick lines are drawn when the price breaks above the previous high price and is interpreted as an increase in demand. Thin lines are used to represent increased supply when the price falls below the previous low. Kagi charts ignore the passage of time.

Settings

Sub Type - the following table summarizes the different subtypes of the range chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Value | X Values are automatically generated by the control.
XY Scatter | Price | Categorical | Value X |

Reversal Amount - Price reversals are ignored if the amount of the change is below the value of the reversal amount.

Reversal Amount in Percents - The reversal amount can be specified as a fixed value or as a percent of the current price. Check the Reversal Amount In Percents property to true in order to specify the reversal amount in percents.

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Renko Chart
Chart > Chart Panels > Charting Types > Renko Chart

Renko charts display series of white and black boxes (bricks) to illustrate general price movement and trend reversals. A Renko chart is constructed by placing a brick in the next column once the price surpasses the top or bottom of the previous brick by a predefined amount. White bricks are used when the direction of the trend is up, black bricks are used when the trend is down. All bricks are equal in size. This type of chart helps traders to identify key support/resistance levels.

Settings

Sub Type - the following table summarizes the different subtypes of the range chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Value | X Values are automatically generated by the control.
XY Scatter | Price | Categorical | Value X |

Up Fill Style - controls the fill style of the bricks that show an up trend.

Up Stroke Style - controls the stroke style of the bricks that show an up trend.

Down Fill Style - controls the fill style of the bricks that show a down trend.

Down Stroke - controls the stroke style of the bricks that show a down trend.

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Ternary Chart
Chart > Chart Panels > Charting Types > Ternary Chart

A ternary plot is a barycentric plot on three variables which sum to a constant. It graphically depicts the ratios of the three variables as positions in an equilateral triangle.

Settings

Sub Type - the following table summarizes the different subtypes of the range chart:

Point - displays a scatter point chart on three variables (A, B and C Value).

Bubble - displays a scatter bubble chart on four variables (A, B, C and Size).

Shape - controls the shape of the points / bubbles

Size - controls the size of the points markers. Visible only when Sub Type is set to Shape.

Min Bubble Size - controls the minimum size of the bubbles. Visible only when Sub Type is set to Bubble.

Max Bubble Size - controls the maximum size of the bubbles. Visible only when Sub Type is set to Bubble.


Three Line Break Chart
Chart > Chart Panels > Charting Types > Three Line Break Chart

Three Line Break charts display a series of vertical boxes ("lines") that are based on changes in prices. A new rising line is drawn if the closing price is higher than the previous one. A new falling line is drawn if the closing price is lower than the previous one. If a rally or a sell-off is powerful enough to form several consecutive lines with the same direction, then prices must reverse by the extreme price of the last several lines in order to create a new line. Usually three consecutive lines are used for the reversal criterion, hence the name Three Line Break. As with Kagi, Point and Figure, and Renko charts, Three Line Break charts ignore the passage of time.

Settings

Sub Type - the following table summarizes the different subtypes of the range chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Value | X Values are automatically generated by the control.
XY Scatter | Price | Categorical | Value X |

Box Width Percent - controls the width of the boxes in percentages.

Number Of Lines To Break - controls the number of lines that must be broken in order for a reversal to happen.

Up Fill Style - controls the fill style of the bricks that show an up trend.

Up Stroke Style - controls the stroke style of the bricks that show an up trend.

Down Fill Style - controls the fill style of the bricks that show a down trend.

Down Stroke - controls the stroke style of the bricks that show a down trend.

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Point And Figure Chart
Chart > Chart Panels > Charting Types > Point And Figure Chart

Point and Figure charts display series of columns that are made up of 'X' or 'O' signs. A column of X's represents an uptrend, while a column of O's represents a downtrend. The charts ignore the time factor and focus on price movements. Point and Figure charts are used to identify support levels, resistance levels and chart patterns.

Settings

Sub Type - the following table summarizes the different subtypes of the range chart:

Subtype | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Value | X Values are automatically generated by the control.
XY Scatter | Price | Categorical | Value X |

Box Size - controls the "sensitivity" of the chart. The box size is the minimum price movement that is regarded by the chart and is used to filter minor price changes. Larger box sizes are used for charting longer time periods.

Reversal Amount - controls the number of boxes needed for a reversal.

Preceding Column Peak -

Preceding Column Direction -

Proportional X - indicates whether the series will modify the x axis scaling in order to display square point and figure boxes.

Proportional Y - indicates whether the series will modify the y axis scaling in order to display square point and figure boxes.

Automatic Data Labels Positioning
The automatic positioning of data labels is the data point center.
Automatic Legend Mode
The automatic legend mode in all subtypes evaluates to series (e.g. the series is displayed in the legend).


Tree Map Chart
Chart > Chart Panels > Charting Types > Tree Map Chart


Combo Chart
Chart > Chart Panels > Charting Types > Combo Chart

The Combo Chart is versatile charting type, which allows you to specify a series type per each values data grouping, which is displayed in the combo chart area. The series type needs to be manually specified per each values data grouping and is by default set to Bar with Clustered group mode.

The combo chart has only one setting - its subtype, which defines the chart dimension types and also determines whether the series displayed in the combo have explicit or automatic X positioning:

Sub Type | X Dimension Type | Z Dimension Type | Data Requirements | Description
Series | Categorical | Categorical | Series defined values | Each series defines a set of values.
XY Scatter | Numeric | Categorical | Series defined values X | Besides the series defined values, each series data point has an additional X coordinate at which it is positioned.

For example, if you want to display a bar and area combo chart follow these steps:

  1. Ensure that you have two values data groupings.
  2. Open the Chart Properties Dialog.
  3. In the Chart > Chart Areas > Chart Type list box - select the Combo item.
  4. In the Data > Groupings > Values list box - double click on the first values data grouping. In the Values Grouping editor set Series Type to Bar.
  5. In the Data > Groupings > Values list box - double click on the second values data grouping. In the Values Grouping editor set Series Type to Area.
The Series Type combo box is visible in the Values Grouping editor only if the selected chart area - chart type is set to Combo. If you do not see the Series Type combo box, then the selected chart area - chart type is not set to Combo.

Depending on the currently selected series type the Values Data Grouping editor will automatically update the Data tab (which shows the supported data point values for the current series type) and the Options tab (which shows options specific to each series type). The following table summarizes the topics you can read for the specific data/options for each series type:

Series Type | Topic
Bar | Bar Series
Float Bar | Float Bar Series
Area | Area Series
Smooth Area | Smooth Area Series
Line | Line Series
Smooth Line | Smooth Line Series
Step Line | Step Line Series
Point | Point Series
Bubble | Bubble Series
High Low | High Low Series
Stock | Stock Series
Error Bar | Error Bar Series
Box And Whiskers | Box And Whiskers Series
Vector | Vector Series
Range | Range Series


Bar Series
Chart > Chart Panels > Charting Types > Series Types > Bar Series

Bar series are created for values data groupings displayed in combo charts, the Series Type of which is set to Bar.

Options

Group Mode - defines the way in which the bar series groups with the previous bar series in the chart. Possible values are:

Clustered - the bar series is displayed next to the previous bar series (starts a new cluster group).
Series - the bar series is displayed in a separate depth space (starts a new series).
Stacked - the bar series is stacked on top of the previous Series, Clustered or Stacked Percent bar series.
Stacked Percent - the bar series is stacked on top of the previous Series, Clustered or Stacked bar series. The stack is scaled to 100%.

You can use the Group Mode to create cluster-stack bar charts. For example, if you have four values data groupings with Series Type set to Bar, set the first Group Mode to Series, the second Group Mode to Stacked, the third Group Mode to Cluster and the fourth Group Mode to Stacked. If there are series data groupings, the first series Grouping Mode is also important. It controls how each series data grouping is linked with the previous one.

Shape - specifies the shape of the bars. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Ellipsoid, Smooth Edge Bar and Cut Edge Bar.

Edge Percent - defines the size of the edge in case the Shape is set to Smooth Edge Bar or Cut Edge Bar.

Width Percent - for series Combo chart subtype the Width Percent defines the width of the bar or bar group in percents of the space available for each category. For XY Scatter Combo chart subtype the Width Percent defines the width of the bar or bar group in percents of 1/10 of the chart width.

Depth Percent - defines the depth of the bars in the series in percents of the series size along the depth axis.

Gap Percent - controls the gap (space) between the cluster bars.

Show Connector Lines - whether to show connector lines (lines connecting adjacent bars).

Connector Lines Stroke Style - the stroke style of the connector lines.

Data Requirements

Bar series always support the Value and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the first bar series with Group Mode set to Series will accept a X data point value.

See Also
Combo Chart


Float Bar Series
Chart > Chart Panels > Charting Types > Series Types > Float Bar Series

Float Bar series are created for values data groupings displayed in combo charts, by setting the Series Type to FloatBar.

Options

Group Mode - defines the way in which the float bar series groups with the previous float bar series in the chart. Possible values are:

Clustered - the float bar series is displayed next to the previous float bar series (starts a new cluster group).
Series - the float bar series is displayed in a separate depth space (starts a new series).
Stacked - the float bar series is stacked on top of the previous Series or Clustered float bar series.

You can use the Group Mode to create cluster-stack float bar charts. For example, if you have four values data groupings with Series Type set to Float Bar, set the first Group Mode to Series, the second Group Mode to Stacked, the third Group Mode to Cluster and the fourth Group Mode to Stacked. If there are series data groupings, the first series Grouping Mode is also important. It controls how each series data grouping is linked with the previous one.

Shape - specifies the shape of the float bars. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Ellipsoid, Smooth Edge Bar and Cut Edge Bar.

Edge Percent - defines the size of the edge in case the Shape is set to Smooth Edge Bar or Cut Edge Bar.

Width Percent - for series Combo chart subtype the Width Percent defines the width of the bar or bar group in percents of the space available for each category. For XY Scatter Combo chart subtype the Width Percent defines the width of the bar or bar group in percents of 1/10 of the chart width.

Depth Percent - defines the depth of the bars in the series in percents of the series size along the depth axis.

Gap Percent - controls the gap (space) between the cluster float bars.

Show Connector Lines - whether to show connector lines (lines connecting adjacent bars begin and end values).

Connector Lines Stroke Style - the stroke style of the connector lines.

Data Requirements

Float Bar series typically support the Begin, End and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the first bar series with Group Mode set to Series will accept a X data point value. If a float bar series GroupMode is set to Stacked, the bar will only require a Value data series, instead of the usual Begin and End data series.


Area Series
Chart > Chart Panels > Charting Types > Series Types > Area Series

Area series are created for values data groupings displayed in combo charts, the Series Type of which is set to Area.

Options

Group Mode - defines the way in which the bar series groups with the previous bar series in the chart. Possible values are:

Series - the area series is displayed in a separate depth space (starts a new series).
Stacked - the area series is stacked on top of the previous Series or Stacked Percent area series.
Stacked Percent - the area series is stacked on top of the previous Series or Stacked area series. The stack is scaled to 100%.

Depth Percent - defines the area in the series in percents of the series size along the depth axis.

Drop Lines - when checked, displays vertical lines at each data point, which connect the data point value with the area base line.

Data Requirements

Area series always support the Value and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the first area series with Group Mode set to Series will accept a X data point value.

See Also
Combo Chart


Smooth Area Series
Chart > Chart Panels > Charting Types > Series Types > Smooth Area Series

Smooth area series are created for values data groupings displayed in combo charts, the Series Type of which is set to Smooth Area.

Options

Depth Percent - defines the area in the series in percents of the series size along the depth axis.

Drop Lines - when checked, displays vertical lines at each data point, which connect the data point value with the area base line.

Data Requirements

Smooth area series always support the Value and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the smooth area series will accept a X data point value.

See Also
Combo Chart


Line Series
Chart > Chart Panels > Charting Types > Series Types > Line Series

Line series are created for values data groupings displayed in combo charts, the Series Type of which is set to Line.

Options

Group Mode - defines the way in which the line series groups with the previous line series in the chart. Possible values are:

Series - the line series is displayed in a separate depth space (starts a new series).
Stacked - the line series is stacked on top of the previous Series or Stacked Percent line series.
Stacked Percent - the line series is stacked on top of the previous Series or Stacked line series. The stack is scaled to 100%.

Shape - defines the shape of the line segments. Possible values are: Line, Tape, Tube and Ellipsoid.

Depth Percent - controls the size of the Tape shape.

Size - controls the size of Tube and Ellipsoid shapes.

Sampling Mode - controls whether the line uses sampling. When using sampling the line will filter very close individual line segments and display a single line segment instead. This reduces the number of visual line segments and therefore leads to improved performance. When using sampling the line series will not regard settings for markers and data labels, individual appearance styles and shadow. Possible value are:

Auto - The line series uses sampling only when the number of data points is large.
Enabled - The line series always uses sampling.
Disabled - The line series does not use sampling. This is the default.

Sample Distance - controls the precision of the line series when it aggregates adjacent line segments. The precision is specified in points.

Data Requirements

Line series always support the Value and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the first line series with Group Mode set to Series will accept a X data point value.

See Also
Combo Chart


Smooth Line Series
Chart > Chart Panels > Charting Types > Series Types > Smooth Line Series

Smooth Line series are created for values data groupings displayed in combo charts, the Series Type of which is set to Smooth Line. Smooth Line series currently do not have any series specific options.

Data Requirements

Smooth area series always support the Value and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the smooth area series will accept a X data point value.

See Also
Combo Chart


Step Line Series
Chart > Chart Panels > Charting Types > Series Types > Step Line Series

Step Line series are created for values data groupings displayed in combo charts, the Series Type of which is set to Step Line.

Options

Shape - defines the shape of the line segments. Possible values are: Line, Tape, Tube and Ellipsoid.

Depth Percent - controls the size of the Tape shape.

Size - controls the size of Tube and Ellipsoid shapes.

Sampling Mode - controls whether the step line uses sampling. When using sampling the step line will filter very close individual line segments and display a single line segment instead. This reduces the number of visual line segments and therefore leads to improved performance. When using sampling the step line series will not regard settings for markers and data labels, individual appearance styles and shadow. Possible value are:

Auto - The line series uses sampling only when the number of data points is large.
Enabled - The line series always uses sampling.
Disabled - The line series does not use sampling. This is the default.

Sample Distance - controls the precision of the step line series when it aggregates adjacent line segments. The precision is specified in points.

Data Requirements

Smooth area series always support the Value and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the smooth area series will accept a X data point value.

See Also
Combo Chart


Point Series
Chart > Chart Panels > Charting Types > Series Types > Point Series

Point series are created for values data groupings displayed in combo charts, the Series Type of which is set to Point.

Options

Shape - defines the shape of the points. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Sphere, Ellipse, Cross, Diagonal Cross, Line Cross, Line Diagonal Cross and Star.

Size - controls the size of the point shape.

Cluster Mode - controls whether the point series uses clustering. Clustering works by identifying densely populated regions of data, which are later visualized by a single point. This reduces the number of visual points on the screen and therefore improves performance. When you use clustering the point series will not regard settings for markers, data points, individual fill styles and shadow. Possible values are:

Auto - The area series uses sampling only when the number of data points is large.
Enabled - The area series always uses sampling.
Disabled - The area series does not use sampling. This is the default.

Cluster Distance Factor - controls the maximum distance between two data points if they are to be merged in a cluster. Higher values for this property will diminish the number of visual points, but will decrease the precision of the cluster and vice versa.

Drop Lines (X/Y/Z)

Show - controls whether the dropline is visible

Origin Mode - controls the dropline origin mode. Possible values are:

Scale Min- dropline extends from the point value to the scale min value.

Scale Max - dropline extends from the point value to the scale max value.

Custom Value - dropline extends from the point value to the specified custom value.

Origin - controls the second point of the dropline in case Origin Mode is set to Custom Value.

Stroke Style - controls the stroke style of the droplines.

Data Requirements

Point series always support the Value and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the point series will accept a X data point value.

See Also
Combo Chart


Bubble Series
Chart > Chart Panels > Charting Types > Series Types > Bubble Series

Bubble series are created for values data groupings displayed in combo charts, the Series Type of which is set to Bubble.

Options

Shape - defines the shape of the bubbles. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Sphere, Ellipse, Cross, Diagonal Cross, Line Cross, Line Diagonal Cross and Star.

Min Size - controls the size of the bubble with the smallest Size value.

Max Size - controls the size of the bubble with the largest Size value.

Data Requirements

Bubble series always support the Y, Size and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the bubble series will accept a X data point value.

See Also
Combo Chart


High Low Series
Chart > Chart Panels > Charting Types > Series Types > High Low Series

High-Low series are created for values data groupings displayed in combo charts, the Series Type of which is set to High Low.

Options

High-Low series have the following options:

Depth Percent - defines the depth of the high-low area in percents of the series size along the depth axis.

Drop Lines - specifies whether the high-low area segments must be divided by vertical lines.

High Label - defines the label, which is associated with data points for which the high value is larger than the low value. See Data Point Formatting Commands for more information.

Low Label - defines the label, which is associated with data points for which the high value is smaller than the low value. See Data Point Formatting Commands for more information.

High Fill Style - controls the filling of the areas for which the high ending value is larger than the low ending value.

High Border Style - controls the border of the areas for which the high ending value is larger than the low ending value.

Low Fill Style - controls the filling of the areas for which the high ending value is smaller than the low ending value.

Low Border Style - controls the border of the areas for which the high ending value is smaller than the low ending value.

Data Requirements

High-low series always support the High, Low and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the High-low series will accept a X data point value.

See Also
Combo Chart


Stock Series
Chart > Chart Panels > Charting Types > Series Types > Stock Series

Stock series are created for values data groupings displayed in combo charts, the Series Type of which is set to Stock.

Options

Shape - controls the shape of the data points. Possible values area:

Open High Low Close Stick - draws a stick connecting the high and low values. The open value is displayed as a tick on the left. The close value is displayed as a tick on the right. If the close value is higher than the open value the stick uses the Up Stroke Style. Otherwise it uses the Down Stroke Style.

Candle Stick - draws a stick connecting the high and low values. The open and close values define a box along the stick. This box is filled/stroked with the Up Fill Style and Up Stroke Style if the open value is smaller than the close value. Otherwise the box is shaded with the Down Fill Style and Down Stroke Style.

Width - controls the width of the stock stick/candle.

Up Label - defines the label, which is associated with data points for which the close value is larger than the open value. See Data Point Formatting Commands for more information.

Down Label - defines the label, which is associated with data points for which the close value is smaller than the open value. See Data Point Formatting Commands for more information.

Up Fill Style - controls the filling of the candle boxes for which the close value is larger than the open ending value.

Up Stroke Style - controls the border/stroke of the candle boxes/stick for which the close value is larger than the open value.

Down Fill Style - controls the filling of the candle boxes for which the close value is smaller than the open value.

Down Stroke Style - controls the border/stroke of the candle boxes/stick for which the close value is smaller than the open value.

Data Requirements

Stock series always support the Open, High, Low, Close and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the stock series will accept a X data point value.

See Also
Combo Chart


Error Bar Series
Chart > Chart Panels > Charting Types > Series Types > Error Bar Series

Error Bar series are created for values data groupings displayed in combo charts, by setting the Series Type to Error Bar.

Options

Show Lower Error X - whether the lower X errors must be displayed.
Show Upper Error X - whether the upper X errors must be displayed.
Size X - the size of the X error bars (upper and lower).

Show Lower Error Y - whether the lower Y errors must be displayed.
Show Upper Error Y - whether the upper Y errors must be displayed.
Size Y - the size of the Y error bars (upper and lower).

Show Lower Error Z - whether the lower Z errors must be displayed.
Show Upper Error Z - whether the upper Z errors must be displayed.
Size Z - the size of the Z error bars (upper and lower).

Data Requirements

Error Bar series always support the Y and Label data point values, lower and upper Y error bar values are regarded if Show Lower / Upper Error Y is checked. If the Combo Chart Subtype is set to XY Scatter, the series will also accept X, Upper Error X and Lower Error X data point values. Similarly when the Combo Chart Subtype is set to XYZ Scatter the available data point value will be extended with Z, Upper Error Z and Lower Error Z data point values.


Box And Whiskers Series
Chart > Chart Panels > Charting Types > Series Types > Box And Whiskers Series

Box And Whiskers series are created for values data groupings displayed in combo charts, by setting the Series Type to Box And Whiskers.

Options

Whiskers Width Percent - defines the width of the whiskers in percentages relative to the box width. When the chart type is in Series mode the box width is automatically defined. In XY Scatter mode the box width is controlled through the Box Width setting.

Box Width Percent - defines the width of the box in percentages relative to the box width. When the chart type is in Series mode the box width is automatically defined. In XY Scatter mode the box width is controlled through the Box Width setting.

Box Width - controls the box width when the chart type is XY Scatter mode.

Data Requirements

Box And Whiskers series always support the Upper Box, Lower Box, Upper Whisker, Lower Whisker, Meadian, Average and Label and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the series will also accept X data point values. Box And Whiskers series cannot be displayed in 3D.


Vector Series
Chart > Chart Panels > Charting Types > Series Types > Vector Series

Vector series are created for values data groupings displayed in combo charts, by setting the Series Type to Vector.

Options

Shape - controls the shape of the arrow head. Possible options are None, Arrow and Triangle.

Arrowhead Size - controls the width and height of the arrowhead in percentages of the vector width.

Min Arrowhead Size - controls the minimum width and height of the arrow head.

Max Arrowhead Size - controls the maximum width and height of the arrow head.

Data Requirements

Vector series always support the Y1, Y2 and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the series will also accept X1 and X2 data point values. Similarly when the Combo Chart Subtype is set to XYZ Scatter the series will also accept Z1 and Z2 data point values.


Range Series
Chart > Chart Panels > Charting Types > Series Types > Range Series

Range series are created for values data groupings displayed in combo charts, by setting the Series Type to Range. The Range Series can display 2D or 3D shapes defined by the begin / end values of their bounding boxes. It can be used for display of histograms, bars with custom sizes, 3D ranges etc.

Data Requirements

Range series always support the Y1, Y2 and Label data point values. If the Combo Chart Subtype is set to XY Scatter, the series will also accept X1 and X2 data point values. Similarly when the Combo Chart Subtype is set to XYZ Scatter the series will also accept Z1 and Z2 data point values.


Value Palette Settings
Chart > Chart Panels > Charting Types > Value Palette Settings

Many charts types allow you to assign a palette of colors from which individual data points fillings are computed based on their value. This is very useful if you need to color code data points depending on their value, display heat maps, terrains with color coded elevation etc. The charting types that currently support this feature are Bar, Area, Smooth Area, Floatbar, Heatmap, High Low and Surface. The value palette settings are accessible from the "Palette" tab in the chart type editor. The following paragraphs discuss the settings of this object.

Settings

Use Palette - whether the chart type should use a palette filling instead of the standard filling defined by the current chart appearance settings. The Heatmap and Surface chart types always use a palette filling.

Smooth Palette - whether to smooth(interpolate) the colors palette.

Use Min Max - whether to use the Min Value and Max Value properties in order to specify a range of values to which the palette applies or use automatically computed range.

Min Value - the minimum of the palette range.

Max Value - the maximum of the palette range.

Color Mode - controls the way in which palette colors are computed. Possible values are:

Min Max - in this mode the palette is computed based on two colors. The first one is mapped to the palette range minimum value and the second one is mapped to the palette maximum range value.
Auto - the palette colors are automatically computed based on a user specified number of colors or automatically computed based on the number of major ticks of the axis on which the palette scales.

Steps - controls the number of entries in the automatically computed palette.

Synchronize With Scale - the number of entries in the automatically computed palette is synchronized with the major ticks of the axis on which the palette scales.


Cartesian Axes
Chart > Chart Panels > Axes > Cartesian Axes > Cartesian Axes

The Axes page of the currently selected charting type is filled with the Cartesian axes, in case the currently selected charting type of the chart area is a Cartesian chart (see Chart Areas for more info). The Cartesian Axes model consists of five axes in 3D and four axes in 2D, as shown by the following images:

Cartesian Axes in 3D | Cartesian Axes in 2D

Axis | Topic | Description
Primary Y | Y Axes | The default Y axis on which the chart series produced by the values data grouping are scaled in the chart Y dimension. By default displayed at the left chart side.
Secondary Y | Y Axes | Optional. To scale a values data grouping on the secondary Y axis, go to Data Groupings > Values > General > Options and change the Y Axes property to SecondaryY or Both. By default displayed at the right chart side.
Primary X | X Axes | The default X axis on which the chart series produced by the values data grouping are scaled in the chart X dimension. By default displayed at the bottom chart side.
Secondary X | X Axes | Optional. To scale a values data grouping on the secondary X axis, go to Data Groupings > Values > General > Options and change the X Axes property to SecondaryX or Both. By default displayed at the top chart side.
Depth | Depth Axis | Only displayed in 3D. In all cases however it defines the Z order of the chart series produced by all values data groupings displayed in a Cartesian chart area.

Cartesian Axes share a number of common settings related to title, scale, range etc. For a brief description of these settings check out the Common Axis Settings topic.


Y Axes
Chart > Chart Panels > Axes > Cartesian Axes > Y Axes

The Primary Y and Secondary Y scale the chart content in the chart Y dimension. The chart Y dimension is specific for each charting type, but is in most cases Numeric. The Primary Y and Secondary Y axes share a common set of settings, which are grouped in several property pages. Following is a description for the settings related to Y cartesian axes:

General

Visibility - defines the visibility of the axis. Possible values are:

Automatic - the axis will automatically shown, if at least one series is displayed on it.
Visible - the axis is always visible.
Hidden - the axis is always hidden.

Begin Percent - defines the start of the Y axis in percentages of the chart Y size.

End Percent - defines the end of the Y axis in percentages of the chart Y size.

Orientation - defines the axis orientation. The axis orientation is the side where labels appear when looking at the axis scale from its start point. For example a typical left Y axis will have Left orientation (labels are positioned on the left side of the plot area), whereas a right Y axis will typically have right orientation - labels are positioned on the right side of the plot are. Possible values are:

Auto - the axis will automatically determine its orientation based on its position (see below).
Left - the axis will always use left orientation regardless of its position.
Right - the axis will always use right orientation.

Position- defines the position of the Y axis. Possible values area:

Left - positions the axis at the left chart side (default for PrimaryY axis)
Right - positions the axis at the right chart side (default for SeconaryY axis)
Cross - the axis is positioned according to the X and Depth crossing settings (see below).

X Cross - defines the X crossing mode. Only applicable if Position is set to Cross. Possible values are:

Primary X At Value - crosses the primary X axis at the value specified by X Value
Primary X At Percent - crosses the primary X axis at the percent specified by X Percent
Secondary X At Value - crosses the secondary X axis at the value specified by X Value
Secondary X At Percent - crosses the secondary X axis at the percent specified by X Percent

X Value - specifies the value of the X axis (Primary or Secondary) at which to position the Y axis. This property is only applicable when Position is set Cross and X Cross is set to some of the Cross At Value modes.

X Percent - specifies the percent along the X axis length (Primary or Secondary) at which to position the Y axis. This property is only applicable when Position is set Cross and X Cross is set to some of the Cross At Percent modes.

Depth Cross - defines the Depth crossing mode. Only applicable if Position is set to Cross. Possible values are:

At Value - crosses the depth axis at the value specified by Depth Value
At Percent - crosses the depth axis at the percent specified by Depth Percent

Depth Value - specifies the value of the depth axis at which to position the Y axis. This property is only applicable when Position is set Cross and Depth Cross is set to At Value.

Depth Percent - specifies the percent along the depth axis at which to position the Y axis. This property is only applicable when Position is set Cross and Depth Cross is set to At Percent.

The rest of the Y axis settings are common for all axis types and are briefly described in the Common Axis Settings topic.


X Axes
Chart > Chart Panels > Axes > Cartesian Axes > X Axes

The Primary X and Secondary X scale the chart content in the chart X dimension. The chart X dimension is specific for each charting type, but is in most cases Categorical. The Primary X and Secondary X axes share a common set of settings, which are grouped in several property pages. Following is a description for the settings related to Y cartesian axes:

General

Visibility - defines the visibility of the axis. Possible values are:

Automatic - the axis will automatically shown, if at least one series is displayed on it.
Visible - the axis is always visible.
Hidden - the axis is always hidden.

Begin Percent - defines the start of the X axis in percents of the chart X size.

End Percent - defines the end of the X axis in percents of the chart X size.

Orientation - defines the axis orientation. The axis orientation is the side where labels appear when looking at the axis scale from its start point. For example a typical left Y axis will have Left orientation (labels are positioned on the left side of the plot area), whereas a right Y axis will typically have right orientation - labels are positioned on the right side of the plot are. Possible values are:

Auto - the axis will automatically determine its orientation based on its position (see below).
Left - the axis will always use left orientation regardless of its position.
Right - the axis will always use right orientation.

Position- defines the position of the Y axis. Possible values area:

Left - positions the axis at the left chart side (default for PrimaryY axis)
Right - positions the axis at the right chart side (default for SeconaryY axis)
Cross - the axis is positioned according to the Y and Depth crossing settings (see below).

Y Cross - defines the Y crossing mode. Only applicable if Position is set to Cross. Possible values are:

Primary Y At Value - crosses the primary Y axis at the value specified by Y Value
Primary Y At Percent - crosses the primary Y axis at the percent specified by Y Percent
Secondary Y At Value - crosses the secondary Y axis at the value specified by Y Value
Secondary Y At Percent - crosses the secondary Y axis at the percent specified by Y Percent

Y Value - specifies the value of the Y axis (Primary or Secondary) at which to position the X axis. This property is only applicable when Position is set Cross and Y Cross is set to some of the Cross At Value modes.

Y Percent - specifies the percent along the Y axis length (Primary or Secondary) at which to position the X axis. This property is only applicable when Position is set Cross and Y Cross is set to some of the Cross At Percent modes.

Depth Cross - defines the Depth crossing mode. Only applicable if Position is set to Cross. Possible values are:

At Value - crosses the depth axis at the value specified by Depth Value
At Percent - crosses the depth axis at the percent specified by Depth Percent

Depth Value - specifies the value of the depth axis at which to position the Y axis. This property is only applicable when Position is set Cross and Depth Cross is set to At Value.

Depth Percent - specifies the percent along the depth axis at which to position the Y axis. This property is only applicable when Position is set Cross and Depth Cross is set to At Percent.

The rest of the Y axis settings are common for all axis types and are briefly described in the Common Axis Settings topic.


Depth Axis
Chart > Chart Panels > Axes > Cartesian Axes > Depth Axis

The Depth axis scales the chart content in the chart Z dimension. The chart Z dimension is specific for each charting type, but is in most cases Categorical. The Depth axis has a set of settings, which are grouped in several property pages. Following is a description for the settings related to Depth Cartesian axes:

General

Visibility - defines the visibility of the axis. Possible values are:

Automatic - the axis will automatically shown, if the chart Z dimension is Categorical and has at least two categories or the chart Z dimension is Numeric. For charts with Z dimension One the depth axis is hidden.
Visible - the axis is always visible.
Hidden - the axis is always hidden.

Orientation - defines the axis orientation. The axis orientation is the side where labels appear when looking at the axis scale from its start point. For example a typical left Y axis will have Left orientation (labels are positioned on the left side of the plot area), whereas a right Y axis will typically have right orientation - labels are positioned on the right side of the plot are. Possible values are:

Auto - the axis will automatically determine its orientation based on its position (see below).
Left - the axis will always use left orientation regardless of its position.
Right - the axis will always use right orientation.

Position - defines the position of the depth axis. Possible values area:

Bottom Right - positions the axis at the bottom right chart edge (default)
Left Top - positions the axis at the left top chart edge
Cross - the axis is positioned according to the X and Y crossing settings (see below).

X Cross - defines the X crossing mode. Only applicable if Position is set to Cross. Possible values are:

Primary X At Value - crosses the primary X axis at the value specified by X Value
Primary X At Percent - crosses the primary X axis at the percent specified by X Percent
Secondary X At Value - crosses the secondary X axis at the value specified by X Value
Secondary X At Percent - crosses the secondary X axis at the percent specified by X Percent

X Value - specifies the value of the X axis (Primary or Secondary) at which to position the depth axis. This property is only applicable when Position is set Cross and X Cross is set to some of the Cross At Value modes.

X Percent - specifies the percent along the X axis length (Primary or Secondary) at which to position the depth axis. This property is only applicable when Position is set Cross and X Cross is set to some of the Cross At Percent modes.

Y Cross - defines the Y crossing mode. Only applicable if Position is set to Cross. Possible values are:

Primary Y At Value - crosses the primary Y axis at the value specified by Y Value
Primary Y At Percent - crosses the primary Y axis at the percent specified by Y Percent
Secondary Y At Value - crosses the secondary Y axis at the value specified by Y Value
Secondary Y At Percent - crosses the secondary Y axis at the percent specified by Y Percent

Y Value - specifies the value of the Y axis (Primary or Secondary) at which to position the depth axis. This property is only applicable when Position is set Cross and Y Cross is set to some of the Cross At Value modes.

Y Percent - specifies the percent along the Y axis length (Primary or Secondary) at which to position the depth axis. This property is only applicable when Position is set Cross and Y Cross is set to some of the Cross At Percent modes.

The rest of the Depth axis settings are common for all axis types and are briefly described in the Common Axis Settings topic.


Polar Axes
Chart > Chart Panels > Axes > Polar Axes > Polar Axes

The Axes page of the currently selected charting type is filled with the polar axes, in case the currently selected charting type of the chart area is a polar chart (see Chart Areas for more information). The Polar Axes model consists of two axes which are summarized in the following table:

Axis | Description
Polar Value Axis | Scales the values of the radar series in the values dimension of the polar coordinate. Always uses a Numeric scale.
Polar Angle Axis | Scales the angles of the radar series in the angles dimension of the polar coordinate. Always uses a cyclic Angular scale.

The polar value and angle axes share a number of common settings related to title, scale, range etc. For a brief description of these settings check out the Common Axis Settings topic.


Polar Value Axis
Chart > Chart Panels > Axes > Polar Axes > Polar Value Axis

The Polar Value axis scales the polar series values in the polar chart value dimension. It always uses a Numeric scale. The Polar Value axis has a set of settings, which are grouped in several property pages. Following is a description for the settings related to Polar Value axes:

General

Visible - defines the visibility of the axis.

Orientation - defines the axis orientation. The axis orientation is the side where labels appear when looking at the axis scale from its start point. For example a typical polar value axis will have Left orientation (labels are positioned on the left side). Possible values are:

Auto - the axis will automatically determine its orientation based on its position (see below).
Left - the axis will always use left orientation regardless of its position.
Right - the axis will always use right orientation.

Position - defines the position of the polar value axis. Possible values area:

Cross 0 - the axis originates from the polar center and is directed towards the polar angle axis 0 angle position (e.g. crosses the angle axis at 0 degrees).

Cross 90 - the axis originates from the polar center and is directed towards the angle axis 90 angle position.

Cross 180 - the axis originates from the polar center and is directed towards the angle axis 180 angle position.

Cross 270 - the axis originates from the polar center and is directed towards the angle axis 270 angle position.

Left - the axis originates from the polar center Y position. Has vertical orientation and is positioned at the left side of the polar chart.

Right - the axis originates from the polar center Y position. Has vertical orientation and is positioned at the right side of the polar chart.

Top - the axis originates from the polar center X position. Has horizontal orientation and is positioned at the top side of the polar chart.

Bottom - the axis originates from the polar center X position. Has horizontal orientation and is positioned at the bottom side of the polar chart.

Show Reflection - specifies whether a mirror reflection of the axis should be displayed.

The rest of the Polar Value axis settings are common for all axis types and are briefly described in the Common Axis Settings topic.


Polar Angle Axis
Chart > Chart Panels > Axes > Polar Axes > Polar Angle Axis

The Polar Angle axis scales the polar series angles in the polar chart angle dimension. It always uses an Angular scale (which is cyclic). The Polar Angle axis has a set of settings, which are grouped in several property pages. Following is a description for the settings related to Polar Angle axes:

General

Visible - defines the visibility of the axis.

Orientation - defines the axis orientation. The axis orientation is the side where labels appear when looking at the axis scale from its start point. For example a typical polar value axis will have Left orientation (labels are positioned on the left side). Possible values are:

Auto - the axis will automatically determine its orientation based on its position (see below).
Left - the axis will always use left orientation regardless of its position.
Right - the axis will always use right orientation.

The rest of the Polar Angle axis settings are common for all axis types and are briefly described in the Common Axis Settings topic.


Radar Axes
Chart > Chart Panels > Axes > Radar Axes

The Axes page of the currently selected charting type is filled with a single radar axis, in case the currently selected charting type of the chart area is a radar chart (see Chart Areas for more information).

Although represented by a single radar axis, the radar axis model consists of as much axes as there are categories in the radar chart. This means that the chart will automatically create as many radar axes as needed. By doing so it will split the set of these radar axes to one primary and subsequent radar axes for which only category labels are displayed at their tips. All radar axes use numeric scale.

The settings of the primary radar axis are grouped in several tab pages - following is their description:

General

Visible - defines the visibility of the axis (in fact controls whether all or none of the radar axes is visible)

Category Labels group - contains settings, which define the position and appearance of the radar category labels. The category labels of a radar chart are extracted from the full names of the leaf category members. Following is a description of the properties in this group:

Offset - controls the category labels offset.

Text Style - controls the category labels appearance.

Angle Mode - controls the way in which the category labels are oriented. Possible values are:

  • View - the Angle setting defines an angle relative to the radar chart view coordinate system.
  • Scale - the Angle setting defines an angle relative to the category label scale angle.

Angle - defines a rotation relative to the base rotation defined by Angle Mode.

Auto Alignment - defines the text alignment of multi line category labels. When checked multi line category labels will automatically have left, right or center alignment depending on their position relative to the radar rim. For example labels that appear on the left side of the radar will have right aligned text and vice versa. This feature helps to keep the content of category labels closer to the radar rim.

Position Mode - defines how category labels are initially positioned relative to the ray that extends from the radar center point to the radar rim for the specified category. Possible options are:

Center - the category label center point lies on the ray that starts from the radar center point and extends towards the radar rim.

Nearest Point - the category label nearest point to the radar rim lies on the ray starts from the radar center point and extends towards the radar rim.

Fit Mode - controls how radar category labels are fitted. Possible options are:

None - no fitting is performed. The label with retains it's original width based on the specified text and font size.

Wrap - the label will be wrapped so that it does not exceed the width specified by Max Width. This mode allows you to limit the horizontal size of long category labels.

Max Width - specified the maximum width of radar category labels when Fit Mode is set to Wrap.

The radar axis shares a number of common settings related to title, scale, range etc. For a brief description of these settings check out the Common Axis Settings topic.


Common Axis Settings
Chart > Chart Panels > Axes > Common Settings > Common Axis Settings

All axes in the control (Cartesian X, Y, Depth, Polar Value, Polar Angle and Radar) share a number of common settings. Some of the settings differ slightly depending on the axis orientation or accepted values (for example Radar axes can scale only numeric data).

Inverted - controls whether the axis scale is inverted. When inverted the scale will begin from the range end value and end with the range begin value.

Show Labels - whether to show scale labels.

Show First Label - whether to show the first scale label.

Show Last Label - whether to show the last scale label.

The following table briefly describes the settings exposed trough the different tabs in the axis editor and provides links to more detailed topics.

Tab/Feature | Overview | Topic
Title

Allows you to control the settings related to axis title. For more information check out the topic.

 Axis Title
Scale

Allows you to control different settings related to the axis scale. The available settings may vary depending on the axis type (Cartesian, Polar Angle, Polar Value or Radar).

 Scales
Ruler | Allows you to control the settings related to the axis ruler. | Axis Ruler
Range | Allows you to control settings related to the range displayed by the axis. | Axis Range
Gridlines

All axes can display gridlines at the back and side chart walls. From the gridlines property page you can specify the appearance of the major and minor gridlines as well as control the walls on which they are displayed.

Axis Grid Lines
Ticks | All axes can display ticks with controllable size, stroke and position. | Axis Ticks
Stripes

All axes can display stripes with controllable length and interval at the back and side chart walls. From the stripes property page you can specify the appearance of the stripes as well as control the walls on which they are displayed.

 Axis Stripes
Sections | All axes support sections, that allow you to conditionally apply filling, stroke and text properties when scale decorations fall in a specified range. This allows you to visually highlight important ranges of data. | Axis Sections
Const Lines

Constant axis lines (reference lines) allow you to highlight a value of the scale on the chart walls and the polar radar plot area.

 Axis Const Lines
Breaks

Axis breaks allow you to skip a range of data on the axis. For more information check out the topic.

Axis Breaks are supported for Cartesian Axes only.
Axis Breaks
Advanced

The advanced settings tab allows you to control several settings related to label alignment and label overlapping resolve modes.

 Advanced Axis Settings
Action | Lets you choose the type of action associated with the axis. | Actions and Drill Down reports


Axis Title
Chart > Chart Panels > Axes > Common Settings > Axis Title

The axis title related settings for the axis allow you to change the axis title text, position and appearance on the scale. The following settings are exposed from the "Title" tab on the axis properties:

Text - defines the text of the title. See the XML Formatted Texts topic for details on texts with rich formatting.

Angle - defines the angle of the axis title. For more information check out the Scale Label Angle topic.

Alignment - defines the alignment of the title relative to the axis length. Possible values are: Top, Center and Bottom.

Offset - defines the offset of the title from the area reserved for axis labels.

Text Style - defines the appearance of the title text.


Scales
Chart > Chart Panels > Axes > Common Settings > Scales > Scales

Each axis in the control has a scale that defines how the data scaled on it is plotted on the chart area as well as how values on the scale are annotated. There are two major types of scale that define how the control will scale categorical (discrete) values and numeric (continuous) values.

The control will automatically select the active scale based on the chart type and chart subtype displayed on the axis. In some case it may also influence the label formatting of the scale labels - for example in the case when you display stacked percent data. The following topics describe the exposed properties for the numeric and categorical scales as well as their subtypes.

Topic | Description
Numeric Scale | Describes the settings relevant to a numeric scale and its subtypes - number, angular, date time, value timeline and range timeline.
Categorical Scale | Describes the settings relevant to a categorical scale.


Numeric Scale
Chart > Chart Panels > Axes > Common Settings > Scales > Numeric Scale

FNumeric scales are used to scale numeric (continuous) data. Each numeric scale has several subtypes that address the specifics of the major types of numeric data - number, angle and date/time. You control the subtype of the scale through the "Sub Type" combo.

Not all scale types are supported by all axes. For example Polar Angle axes can only use Angular scale and Radar Axes can only use Number scale. In the sections below each scale has a note box showing on which axes it can be applied.
Number

The number scale is used to display any type of number data such as sales, profit, percentage and is commonly used for Y Cartesian axes, X Cartesian axes when the charting type is scatter, Polar Value and Radar Axes. The number scale has the following settings:

Label Format - defines the formatting used for scale labels. If you do not specify a format string the control will automatically select formatting based on the chart type and data displayed on the scale. If you want to override the default formatting you need to specify a custom format string. For more information check out the Numeric Format Strings topic.

Label Angle - defines the angle of scale labels. By default the angle is set to automatic mode. For more information check out the Scale Label Angle topic.

Transform - defines the transform of the scale. By default it is set to automatic. You can switch the transform to logarithmic if you have data that is presented better in logarithmic mode - for example data with large differences between the values of the data points, or data which is logarithmic by nature (such as dB). If you switch the transform to logarithmic mode you can also modify the the logarithm base.

Step Mode - defines how the scale will choose a step to place the major ticks and labels on the scale. You can choose from three modes:

- Min Distance - in this mode the scale will automatically calculate the step depending on the value of "Min Distance" (specified in points) and will not allow ticks to be closer than the specified distance. In this mode the number of scale ticks will increase as the scale is bigger on the screen or printer and decrease when the scale is smaller respectively. This is the default setting.

- Max Count - in this mode the scale will automatically generate steps depending on the value of "Max Count". In this mode the number of ticks will be restricted to the maximum allowed number of ticks. The scale will automatically select a "nice" step given the range of the data and the number of ticks will be constant when the scale is resized.

- Custom Step - in this mode you can explicitly specify a custom step. The step is specified with the "Custom Step" spin.

Minor Tick Count - defines the number of minor ticks that will appear between two major ticks. The default value for this setting is 0, meaning that the scale does not show minor ticks.

The Number scale can be applied to Cartesian, Polar Value and Radar axes.
Angular

The angular scale is used to scale angles on the polar angle axis. In order to scale angles a scale has to be configured in a way that addresses the specifics of the angle values in general as well as the specifics of the angle unit used to describe a given angle. This is due to the fact that angles are cyclic (for example the angle 370 degrees is equal to 10 degrees), which implies the usage of a different algorithms that select an automatic step.

Label Format - defines the formatting used for scale labels. If you do not specify anything the control will use generic number formatting. If you want to override the default formatting you need to specify a custom format string. For more information check out the Numeric Format Strings topic.

Label Angle - defines the angle of scale labels. By default the angle is set to automatic mode. For more information check out the Scale Label Angle topic.

Angle Unit - defines the angle unit used to decorate the scale. There are two options - Degree and Grad. The angle unit defines the cycle length for the scale 360 in the case of degrees and 400 in the case of grads.

Step Mode - defines how the scale will choose a step to place the major ticks and labels on the scale. You can choose from three modes:

- Min Distance - in this mode the scale will automatically calculate the step depending on the value "Min Distance" and will not allow ticks to be closer than the specified distance. Similiarly to the number scale the number of ticks will decrease as the scale is bigger on the screen or printer and decrease when the scale is smaller. The scale will use a different algorithm to calculate the step by trying to choose a step that will denote the 90, 180, 270 and 360 values in case of degrees and 100, 200, 300 and 400 values in the case of grads.

- Max Count - in this mode the scale will automatically generate steps depending on the value of "Max Count". In this mode the number of ticks will be restricted to the maximum allowed number of ticks. The scale will automatically select a "nice" step as described above, but the number of ticks will be constant when the scale is resized.

- Custom Step - in this mode you can explicitly specify a custom step. The step is specified with the "Custom Step" spin.

Minor Tick Count - defines the number of minor ticks that will appear between two major ticks. The default value for this setting is 0, meaning that the scale does not show minor ticks.

The Angular scale can be applied to a Polar Angle axis only.
Date Time

The date time scale is used to scale date time values in a way similar to number scale, but with several differences that reflect the specifics of date time step generation.

Label Formatting - defines the formatting used for scale labels. For more information check out the Date Time Format Strings topic.

Label Angle - defines the angle of scale labels. By default the angle is set to automatic mode. For more information check out the Scale Label Angle topic.

Step Mode - defines how the scale will choose a step to place the major ticks and labels on the scale. You can choose from three modes:

- Min Distance - in this mode the scale will automatically calculate the step depending on the value "Min Distance" and will not allow ticks to be closer than the specified distance. In this mode the number of scale ticks will increase as the scale is bigger on the screen or printer and decrease when the scale is smaller respectively. This is the default setting.

- Max Count - in this mode the scale will automatically generate steps depending on the value "Max Count". In this mode the number of ticks will be restricted to the maximum allowed number of ticks. The scale will automatically select a "nice" step given the range of the data, but the number of ticks will be constant when the scale is resized.

- Custom Step - in this mode you can explicitly specify a custom step as time span value consisting of a date/time unit and date/time unit count.

The Date Time scale can be applied to a Cartesian axes only.
Time Span

The time span scale is used to scale time span values (expressed in ticks) in a way similar to number scale, but with several differences that reflect the specifics of time span step generation.

Label Format - defines the formatting used for scale labels. If you do not specify anything the control will use generic time span formatting. You can also invoke the "Time Span Formatting Editor" that allows you to create a custom formatting string visually. For more information check out the Date Time Label Formatting formatting topic.

Label Angle - defines the angle of scale labels. By default the angle is set to automatic mode. For more information check out the Scale Label Angle topic.

Angle Unit - defines the angle unit used to decorate the scale. There are two options - Degree and Grad. The angle unit defines the cycle length for the scale 360 in the case of degrees and 400 in the case of grads.

Step Mode - defines how the scale will choose a step to place the major ticks and labels on the scale. You can choose from three modes:

- Min Distance - in this mode the scale will automatically calculate the step depending on the value "Min Distance" and will not allow ticks to be closer than the specified distance. Similiarly to the number scale the number of ticks will decrease as the scale is bigger on the screen or printer and decrease when the scale is smaller. The scale will use a different algorithm to calculate the step by trying to choose a step that will denote the 90, 180, 270 and 360 values in case of degrees and 100, 200, 300 and 400 values in the case of grads.

- Max Count - in this mode the scale will automatically generate steps depending on the value of "Max Count". In this mode the number of ticks will be restricted to the maximum allowed number of ticks. The scale will automatically select a "nice" step as described above, but the number of ticks will be constant when the scale is resized.

- Custom Step - in this mode you can explicitly specify a custom step. The step is specified with the "Custom Step" spin.

Minor Tick Count - defines the number of minor ticks that will appear between two major ticks. The default value for this setting is 0, meaning that the scale does not show minor ticks.

Value Timeline

The value timeline scale is similar to a date time scale the difference being that it can use up to three time spans (called rows) for decorating the scale. In other words you can think of a value timeline scale as three date time scales merged together. The advantage of using value timelines scale is that it allow the scale to highlight important date/time events on the scale such as month and year change.

Each row on the value timeline scale has the following settings:

Visible - controls the visibility of the scale row.

Label Formatting - defines the formatting used for scale labels generated by the row. For more information check out the Date Time Format Strings topic.

Step Mode - defines how the scale row will choose a step to place the major ticks and labels on the scale. You can choose from three modes:

- Min Distance - the row step will be chosen in a similar manner as with the date time scale e.g. the number of ticks will increase when the scale becomes larger and vice versa, with the restriction that the scale will always try to select a step of one date time unit - for example one day, one week etc.

- Max Count - in this mode the scale will automatically generate a step depending on the value of "Max Count". In this mode the number of ticks will be restricted to the maximum allowed number of ticks and will not change when the scale is resized.

- Custom Step - similarly to the date time scale in this mode you can select a custom step as time span value (date time unit and unit count).

The Value Timeline scale can be applied to a Cartesian axes only.
Range Timeline Scale

The range timeline scale is similar to the value timeline with the exception that it will create a separate visual level on the scale for each row. The advantage of the range timeline scales is that it preserves date/time information (the value timeline scale will hide labels from lesser rows if they overlap with labels from higher rows), but consumes more visual space. The range timeline scale has the following settings:

Show Row Separators - defines whether the scale will generate lines visually separating the rows. When checked the the lines use the stroke style specified for the axis ruler.

The per row settings for range timeline scale are identical to those for value timeline, which are described in the previous section. The only difference is that you also have the option whether the axis will show vertical separators - this is controlled through the "Show Tickmarks" setting, which is available for each row.

The Range Timeline scale can be applied to a Cartesian axes only.


Categorical Scale
Chart > Chart Panels > Axes > Common Settings > Scales > Categorical Scale

Categorical scales are used to scale discrete values. Common example of such values are all type of string data such as company name, region etc. The values on a categorical scale can be grouped in two or more levels depending on the category fields you dropped in the chart designer. Each categorical scale has the following settings:

Grid Style - controls the style of grouping labels when the scale has two or more levels. The following pictures show the effect of the different values available for this setting:

None Grid Style | Stick Grid Style
Bracket Grid Style with enabled row separators | Grid Grid Style with enabled row separators

None - in this mode the scale will not visualize any grid lines and will center group labels relative to the first level labels they group.

Stick - in this mode the scale will show three stick denoting the first and last labels in the group as well as the center of the grouping label. You can also control the stick length through the "Stick Length" setting.

Bracket - in this mode the scale will visualize brackets around the grouping label that extend from the start of the first label to the end of the last label that are being grouped. The following settings apply when the scale grid style is switched to bracket:

- Show Row Separators - defines whether the scale should display level separators, that separate the rows of the scale.

- Show First Row Label Separators - defines whether first row vertical label separators should be displayed.

- Group First Row Label Separators - defines whether first row vertical label separators must be display only at the begin/end of each grouped label.

On the picture above showing the bracket grid style all three options are checked.

Grid - in this mode the scale will visualize a grid around the labels. The following settings apply when the scale grid style is switched to grid:

- Show Row Separators - defines whether the scale should display level separators, that separate the rows of the scale.

- Show First Row Label Separators - defines whether first row label vertical separators should be displayed.

- Group First Row Label Separators - defines whether first row vertical label separators must be display only at the begin/end of each grouped label.

On the picture above showing the grid grid style all three options are checked.

Group Label Text Style - allows you to change the group label text style. When the scale uses grouping (e.g. when you dropped several category fields) you can optionally change the text style for group labels.

Show Ticks Between Data Points - defines whether tick marks must be displayed between data points. When unchecked tick marks will be displayed at the data point center. This setting is ignored when the scale displays grouped categorical data.

First Level Label Fit Mode - defines how category labels from the first row will behave when they overlap or extend beyond the range they annotate. The default setting is "Value". For more information on label fit modes check out the Advanced Axis Settings topic.

First Level Label Angle - defines the initial angle of category labels from the first row. Note that the actual angle may change depending on the settings for automatic label overlapping resolve as described above. For more information on scale label angles check out the Scale Label Angle topic.

Group Level Label Fit Mode - defines how category labels from the second and higher rows will behave when they overlap or extend beyond the range they annotate. The default settings is "Range". For more information on label fit modes check out the Advanced Axis Settings topic.

Group Level Label Angle - defines the initial angle of category labels from the group row.


Table Scale
Chart > Chart Panels > Axes > Common Settings > Scales > Table Scale

The X axes of Cartesian charts support a special type of scale called "Table Scale". This scale type displays a table containing the values of the categories displayed on the axis. Optionally the table scale can display column and row headers containing the categories grouping and series names respectively. You create a table scale by setting the Categorical Scale Subtype of the category scale to "Table". Following are the settings available for table scales:

General

Show Category Labels - whether to show category labels (column headers).

Category Label Angle - controls the orientation of category labels.

Category Labels Text Style - controls the label style of category labels.

Data Labels Text Style - controls the text style of data labels (cell contents). Note that the text displayed in the table cells is controlled from the Groupings \ Legend \ Format property.

Show Series Labels - whether to show series labels (row headers). Note series labels are formatted just like series names in the legend.

Series Labels Position- controls the position of series labels. Possible values are:

Left - Series labels (row headers) are displayed on the left.
Right - Series labels (row headers) are displayed on the right.

Marks Width - controls the width of series title marks

Marks Height - controls the height of series title marks

Text Offset - controls the offset of text from series title marks

Gridlines

Horizontal - whether to display horizontal gridlines.

Horizontal Stroke Style - the stroke style of horizontal gridlines.

Vertical - whether to display vertical gridlines.

Vertical Stroke Style - the stroke style of vertical gridlines.

Stripes

Horizontal / Vertical

Show - whether to show horizontal / vertical stripes

Length - the length of the stripe in rows or columns.

Interval - the distance between stripes in rows or columns.

Fill Style - the fill style of the stripe.


Axis Ruler
Chart > Chart Panels > Axes > Common Settings > Axis Ruler

The axis ruler related settings of the control allow you to change the appearance of the axis ruler line and caps. This allows you to show the direction of the axis and is commonly used in scientific charts. The following settings are available:

Begin Cap

The begin cap group of settings controls the appearance of the ruler begin cap. The ruler begin cap is displayed near the scale range begin value. The following settings are available:

Shape - controls the appearance of the ruler begin cap shape.

Width - controls the width of the ruler begin cap in points.

Height - controls the height of the ruler begin cap in points

Stroke Style - invokes the stroke style editor allowing you to change the stroke of the ruler begin cap.

Fill Style - invokes the fill style editor allowing you to change the filling applied on the ruler begin cap.

Breaks Cap

When the axis contains breaks the ruler line can be disconnected in order to highlight the range of values that are skipped by the break.

Show On Breaks - when checked the ruler line will not be disconnected if there are scale breaks.

Break Cap Shape - when the ruler line is disconnected (Show On Breaks is unchecked) you can optionally select a cap shape to be shown at the break position on the ruler line.

End Cap

The end cap group of settings controls the appearance of the ruler end cap. The ruler end cap is displayed near the scale range end value. The following settings are available:

Shape - controls the appearance of the ruler end cap shape.

Width - controls the width of the ruler end cap in points.

Height - controls the height of the ruler end cap in points

Stroke Style - invokes the stroke style editor allowing you to change the stroke of the ruler end cap.

Fill Style - invokes the fill style editor allowing you to change the filling applied on the ruler end cap.

Stroke Style - invokes the stroke style editor allowing you to change the stroke of the ruler line.


Axis Range
Chart > Chart Panels > Axes > Common Settings > Axis Range

The axis range related settings allow you to modify the range displayed by the axis, or to adjust it in several modes. Following is a description of the axis range related settings:

Range

- Begin - allows you explicitly specify the axis begin value in numeric or date time format. If you do not provide one the control will automatically calculate the range begin value based on the range of the data displayed on the axis. This value is empty by default.

- End - allows you explicitly specify the axis end value in numeric or date time format. If you do not provide one the control will automatically calculate the range end value based on the range of the data displayed on the axis. This value is empty by default.

All numeric and date time values that you type will be parsed using the current culture settings.

Range Inflate

The range inflate mode allows you to additionally inflate the range of the axis (be it custom or automatically calculated) in order to improve the visual appearance of the chart on the screen. You can choose from the following options:

- Auto - in this mode the control will automatically select the inflate based on the axis type and content. Most charting types will round the range to the nearest major begin and end ticks. This is the default setting.

- Tick - in this mode the control will round the range to the nearest major begin and end ticks. You can also select whether only the begin or end value of the axis range should be rounded to the nearest tick by checking the "Inflate Range Begin" and "Inflate Range End" check boxes.

- Logical - in this mode you can provide a custom inflate in logical units (e.g. the units used for the series being displayed on the axis). This is done by specifying a value in the "Logical Inflate Begin" and "Logical Inflate End" settings.

- Absolute - in this mode you can provide a custom inflate in points. The axis will inflate the range so that the space between the data points and the chart edge in the axis direction is equal to the amount you specified using the "Absolute Inflate Begin" and "Absolute Inflate End" settings.


Axis Grid Lines
Chart > Chart Panels > Axes > Common Settings > Axis Grid Lines

Gridlines appear on the chart walls as lines with controllable color and pattern. There are two types of gridlines:

– Major grid lines - these gridlines are visualized at the values of the major ticks on the chart walls or the polar radar plot area.

- Minor grid lines - these gridlines are visualized at the values of the minors ticks on the chart walls or the polar radar plot area.

Major Grid Lines

Major grid lines can be displayed on the chart walls or the polar/radar plot area.

Visibility

Depending on the axis type the following options are available:

- Cartesian Y Axes

- Show Major At Back - defines whether major grid lines must appear on the back chart wall.

- Show Major At Side - defines whether major grid lines must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian X Axis

- Show Major At Back - defines whether major grid lines must appear on the back chart wall.

- Show Major At Floor - defines whether major grid lines must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian Depth Axis

- Show Major At Side - defines whether major grid lines must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Show Major At Floor - defines whether major grid lines must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Polar / Radar Axis

- Show Major - defines whether major grid lines must appear on the chart polar / radar plot area.

Major Stroke Style

Invokes the stroke style dialog allowing you to control the stroke settings applied on major grid lines.

Minor Grid Lines

Minor grid lines can be displayed on the chart walls or the polar/radar plot area. Note that when the axis uses a categorical scale it cannot generate minor grid lines. For numeric scales operating in number mode you must set the "Minor Tick Count" setting to value a value greater than zero.

Visibility

Depending on the axis type the following options are available:

- Cartesian Y Axes

- Show Major At Back - defines whether minor grid lines must appear on the back chart wall.

- Show Major At Side - defines whether minor grid lines must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian X Axis

- Show Major At Back - defines whether minor grid lines must appear on the back chart wall.

- Show Major At Floor - defines whether minor grid lines must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian Depth Axis

- Show Major At Side - defines whether minor grid lines must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Show Major At Floor - defines whether minor grid lines must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Polar / Radar Axis

- Show Major - defines whether minor grid lines must appear on the chart polar / radar plot area.

Minor Stroke Style

Invokes the stroke style dialog allowing you to control the stroke settings applied on minor grid lines.


Axis Ticks
Chart > Chart Panels > Axes > Common Settings > Axis Ticks

Ticks are represented as lines that can appear on both sides of the scale ruler. There are two types of ticks:

– Major Ticks - these ticks appear at values on the scale depending on the current step selected by the scale for decoration. For more details check out the Numeric Scale and Categorical Scale topics.

- Minor Ticks - these ticks appear between major ticks on the scale. Note that when the axis is in categorical scale mode it will not display minor ticks.

Major Ticks

Major ticks appear at values on the scale depending on the current step chosen for tick decoration. The following settings apply to major ticks:

Major Tick Placement - defines the placement of major ticks relative to the axis ruler. The possible options are:

- None - major ticks are not visualized.

- Cross - major ticks cross the ruler line and appear on both the inner and outer side of the ruler. This is the default mode.

- Outside - major ticks appear at the outer side of the ruler and do not obscure the chart area.

- Inside - major ticks appear at the inner side of the ruler.

Major Tick Length - defines the length of the major ticks.

Major Tick Stroke Style - invokes the stroke style dialog allowing you to control the stroke settings applied on major ticks.

Minor Ticks

Minor ticks appear between major ticks and their density is controlled through the "Minor Tick Count" setting when the axis is operating in number or angular mode. The following settings apply to minor ticks:

Minor Tick Placement - defines the placement of minor ticks relative to the axis ruler. The possible options are:

- None - minor ticks are not visualized.

- Cross - minor ticks cross the ruler line and appear on both the inner and outer side of the ruler. This is the default mode.

- Outside - minor ticks appear at the outer side of the ruler and do not obscure the chart area.

- Inside - minor ticks appear at the inner side of the ruler.

Minor Tick Length - defines the length of the minor ticks.

Minor Tick Stroke Style - invokes the stroke style dialog allowing you to control the stroke settings applied on minor ticks.


Axis Stripes
Chart > Chart Panels > Axes > Common Settings > Axis Stripes

Axis Stripes allow you to highlight a repeating range on the axis. The following options are available:

Visibility
Depending on the axis type the following options are available:

- Cartesian Y Axes

- Show At Back - defines whether interlaced stripes must appear on the back chart wall.

- Show At Side - defines whether interlaced stripes must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian X Axis

- Show At Back - defines whether interlaced stripes must appear on the back chart wall.

- Show At Floor - defines whether interlaced stripes must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian Depth Axis

- Show At Side - defines whether interlaced stripes must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Show At Floor - defines whether interlaced stripes must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Polar / Radar Axis

- Show - defines whether interlaced stripes must appear on the chart polar / radar plot area.

Pattern

Axis stripes can operate in three modes - Interlaced, Numeric and DateTime. You select the mode of the stripes from the Mode combo box. The following table describes the possible options:

Axis Stripes Mode | Description
Interlaced | Stripes will be synchronized with the values of the major ticks of the axis. You can control the appearance pattern through the "Length" and "Interval" settings.
Numeric | Stripes will appeared at a custom specified numeric step. You control the step at which stripes appear from the "Numeric Step" up down.
DateTime | Stripes will appear at a custom specified date/time step. You control the step at which stripes appear from the "Date Time Step" editor allowing you select a date time unit and unit number.

Length - controls how many steps the stripes will cover.

Interval - controls how many steps the stripes will miss.

Appearance
Fill Style - invokes the fill style dialog allowing you to control the fill style applied on axis stripes.


Axis Sections
Chart > Chart Panels > Axes > Common Settings > Axis Sections

Axis sections allow you highlight a range on the scale and the chart walls. They also allow you to change the appearance of scale decorations such as ticks, labels and gridlines if they fall in the range highlighted by the section. You can add an arbitrary number of sections to the axis by pressing the "Add" button, below the sections list box. The following settings are available per axis section:

Visiblity

Depending on the axis type the following options are available:

- Cartesian Y Axes

- Show At Back - defines whether the section must appear on the back chart wall.

- Show At Side - defines whether the section must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian X Axis

- Show At Back - defines whether the section must appear on the back chart wall.

- Show At Floor - defines whether the section must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian Depth Axis

- Show At Side - defines whether the section must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Show At Floor - defines whether the section must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Polar / Radar Axis

- Show - defines whether the section must appear on the chart polar / radar plot area.

Range

Begin - controls the begin value of the section. You can enter a numeric / date time value, which will be parsed according to the current culture settings.

End - controls the end value of the section. You can enter a numeric / date time value, which will be parsed according to the current culture settings.

You must specify both begin and end value in order for the section to be valid, otherwise it is ignored.
Appearance

Fill Style - invokes the fill style dialog allowing you to modify the filling of the stripe.

Label Text Style - invokes the text style dialog allowing you to modify the appearance of axis labels if they fall inside the specified range.

Major Gridline Stroke Style - invokes the stroke style dialog allowing you to modify the appearance of major gridlines if they fall inside the specified range.

Minor Gridline Stroke Style - invokes the stroke style dialog allowing you to modify the appearance of minor gridlines if they fall inside the specified range.

Major Tick Stroke Style - invokes the stroke style dialog allowing you to modify the appearance of major ticks if they fall inside the specified range.

Minor Tick Stroke Style- invokes the stroke style dialog allowing you to modify the appearance of minor ticks if they fall inside the specified range.


Axis Const Lines
Chart > Chart Panels > Axes > Common Settings > Axis Const Lines

Axis const (reference) lines allow you to highlight a value of the scale on the chart walls and the polar radar plot area. You can add an arbitrary number of const lines to the axis by using the "Add" button. The following settings apply to axis const lines:

Visibility - Depending on the axis type the following options are available:

- Cartesian Y Axes

- Show At Back - defines whether the reference line must appear on the back chart wall.

- Show At Side - defines whether the reference line must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian X Axis

- Show At Back - defines whether the reference line must appear on the back chart wall.

- Show At Floor - defines whether the reference line must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian Depth Axis

- Show At Side - defines whether the reference line must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Show At Floor - defines whether the reference line must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Polar / Radar Axis

- Show - defines whether the reference line must appear on the chart polar / radar plot area.

Value- controls the value of the reference line. You can enter any numeric / date time value which will be parsed.

Text - controls the text displayed at the const line.

Text Offset X and Text Offset Y - control the text offset relative to the origin point of the text selected by text alignment.

Text Alignment - controls the position of the text relative to the const line.

Stroke Style - invokes the stroke style dialog allowing you to modify the stroke of the reference line.


Axis Const Ranges
Chart > Chart Panels > Axes > Common Settings > Axis Const Ranges

Axis const ranges allow you to highlight a range of the scale on the chart walls and the polar radar plot area. You can add an arbitrary number of const ranges to the axis by using the "Add" button. The following settings apply to axis const ranges:

Visibility - Depending on the axis type the following options are available:

- Cartesian Y Axes

- Show At Back - defines whether the range must appear on the back chart wall.

- Show At Side - defines whether the range must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian X Axis

- Show At Back - defines whether the range must appear on the back chart wall.

- Show At Floor - defines whether the range must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Cartesian Depth Axis

- Show At Side - defines whether the range must appear on the side chart wall. This setting is ignored when the chart is operating in 2D mode.

- Show At Floor - defines whether the range must appear on the floor chart wall. This setting is ignored when the chart is operating in 2D mode.

- Polar / Radar Axis

- Show - defines whether the range must appear on the chart polar / radar plot area.

Begin / End - controls the begin / end values of the range

Text - controls the text displayed by the range.

Text Offset X and Text Offset Y - control the text offset relative to the origin point of the text selected by text alignment.

Text Alignment - controls the position of the text relative to the range.

Fill Style - controls the fill style of the range.

Stroke Style - invokes the stroke style dialog allowing you to modify the range border.


Axis Breaks
Chart > Chart Panels > Axes > Common Settings > Axis Breaks

Axis breaks allow you to skip a range of data on the axis thereby increasing the visual space available for the data that falls outside this range. This feature is most commonly used in the following cases:

  • When you have to display data that varies greatly in magnitude.
  • When you need to reduce the effect that several large values (peaks in data) have on the scaling of the rest of data.
  • When you want to skip data that is of no interest in order to focus on the rest of the data.

You add a scale break to the axis by pressing the Add button. The following settings are available:

Type

Mode - controls the mode in which the scale break operates. The following table described the possible options:

Scale Break Mode | Description
Automatic | In this mode the scale break will automatically detect if the data displayed on the axis contains large gaps. The "Threshold Factor" setting allows you to control when the axis will generate a scale break. Smaller values for the factor increase the chance that an automatic scale break will appear and vice versa. The "Min Value" setting allows you to specify a custom min value which has to be used in the scale break generation algorithm.
Custom | In this mode you can specify custom range for the scale break through the "Begin" and "End" settings that accept a value in number or date time format. As with all values in the control the values will be parsed using the current culture settings.

Position

The controls in this group define the position of the scale break along the axis. The following table described the possible options:

Position Mode | Description
Percent | In this mode the scale break position is specified in percentages relative to the axis it splits. You can control the percentage with the "Percentage" setting.
Content | In this mode the scale break position is determined by the amount of data left on the sides of the scale break. This mode will automatically allocate more visual space for visible data ranges that contain more data at the expense of data ranges that contain less.
Range | In this mode the scale break position is determined by the range it represents.

Style

The controls in this group allow you to modify the visual appearance of the scale break.

- Style - allows you to select from several predefined visual styles - Wave, Line and Zig Zag.

- Width - controls the width of the scale break.

- Fill Style - invokes the fill style dialog allowing you to modify the filling of the scale break.

- Stroke Style - invokes the stroke style dialog allowing you to control the stroke settings applied on the scale break.


Scale Label Angle
Chart > Chart Panels > Axes > Common Settings > Scale Label Angle

The angle of all scale labels is controllable. This includes the axis title and all automatically generated labels. There are five modes in which you can specify the label angle:

Label Angle Mode | Description
Auto | The label angle is determined automatically depending on the axis type and orientation. This is the default mode.
View | The label angle is specified in degrees and will remain constant regardless of the axis position or orientation.
Scale | The label angle is specified in degrees and will change depending on the axis position and orientation.
ViewNoFlip | The label angle is specified in degrees and will remain constant regardless of the axis position or orientation. The label is not allowed to flip.
ScaleNoFlip | The label angle is specified in degrees and will change depending on the axis position and orientation. The label is not allowed to flip.

The following pictures of a polar chart illustrate how these modes work in practice:

Polar chart with angular labels operating in View label angle mode, angle 0
Polar chart with angular labels operating in Scale label angle mode, angle 0
Polar chart with angular labels operating in Scale No Flip label angle mode, angle 0

The scale label angle can be affected by settings related to automatic label overlap resolve. For more information check out the Advanced Axis Settings topic.


Advanced Axis Settings
Chart > Chart Panels > Axes > Common Settings > Advanced Axis Settings

This tab page contains several settings related to axis labels layout and position. Following is a description for each of these settings:

Label Alignment - allows you to control the label alignment relative to the axis value or range (these labels appear on categorical and range timeline scales) they annotate. By default this setting is set to "Auto" and the axis will automatically select alignment settings.

Scale Level Top Padding and Scale Level Bottom Padding - allows to increase / decrease the padding between levels of multi level scales. Such scales are the Range Timeline Scale and the Categorical Scale in group mode.

Level Label Overlap Resolve Mode - allows you to select possible level layout resolve strategies. To better understand how these settings work consider a number scale which is so densely populated (for example as a result from a small custom step value) that labels start to overlap. This will decrease the readability of the scale and therefore the scale has to take an automatic decision how to resolve the overlapping. The following table describes the label resolve modes supported by the control:

Label Overlap Resolve Mode | Description
Rotate30 | If label overlapping occurs all labels in a single row of the scale will be rotated to 30 degrees. If overlapping persists the scale will attempt the next selected mode.
Rotate45 | If label overlapping occurs all labels in a single row of the scale will be rotated to 45 degrees. If overlapping persists the scale will attempt the next selected mode.
Rotate90 | If label overlapping occurs all labels in a single row of the scale will be rotated to 90 degrees. If overlapping persists the scale will attempt the next selected mode.
Stagger2 | If label overlapping occurs all labels in a single row will be split into two rows. If overlapping persists the scale will attempt the next selected mode.
Stagger3 | If label overlapping occurs all labels in a single row will be split into three rows. If overlapping persists the scale will attempt AutoScale if selected.
AutoScale | If label overlapping occurs all labels in a single row are scaled down until overlapping is resolved.
The Number, Angular, DateTime, Value Timeline and Categorical Scales are affected by this setting. For Categorical Scale "First Level Label Fit Mode" or "Group Level Label Fit Mode" must be set to "Level", otherwise the categorical scale will use the settings defined by the "Range Label Overlap Resolve Mode" checked list box as described below.
It is recommended that you always keep the AutoScale mode as a last resort label overlap resolve mode.

Range Label Overlap Resolve Mode - allows you to choose from a number of options describing how range labels behave when they fall outside the range they annotate. Range labels appear in grouped categorical axes as well as in range timeline scales. The following table describes the range label overlap modes supported by the control:

Range Label Overlap Resolve Mode | Description
Wrap | If the label is oriented along the axis and its text falls outside the range it annotates the label will be wrapped inside the range. This resolve mode does not loose text information, but has a downside for longer labels as they increase the space occupied by the axis when wrapping occurs at small spaces.
Clip | If the label is oriented along the axis and its text falls outside the range it annotates the label will be clipped inside the range. This resolve mode causes the label to display incomplete text, but keeps the axis size small.
AutoFlip | If the label falls outside the range it annotates it will be flipped at 90 degrees. Note that flipping will occur only for labels that have an aspect ratio (width/height) bigger than 1 (as otherwise flipping will not produce desired results).
AutoScale | If the label falls outside the range it annotates it will be scaled down until it fits into the range.
By default the control uses AutoFlip and AutoScale.


Cartesian Walls
Chart > Chart Panels > Walls > Cartesian Walls

The Walls page of the currently selected charting type is filled with the Cartesian walls, in case the currently selected charting type of the chart area is a Cartesian chart (see Chart Areas for more information). The Cartesian Walls model consists of 3 walls:

Wall | Description
Back | The back chart wall is displayed at the far Z dimension side. It is displayed in both 2D and 3D modes.
Side | the side chart wall is displayed at the far X dimension side. It is only displayed in 3D mode. If you change the camera rotation the side chart wall will appear either on the left or on the right side of the chart, which is determined automatically in order to improve the chart readability (e.g. the side wall never obscures the chart content).
Floor | the floor chart wall is displayed at the far Y dimension side. It is only displayed in 3D mode. If you change the camera elevation the floor wall will appear either on the top or on the bottom side of the chart, which is determined automatically in order to improve the chart readability (e.g. the floor wall never obscures the chart content).
Settings

All Cartesian Chart Walls have the following settings:

Visible - controls the wall visibility.

Width - controls the thickness of the wall (only applicable in 3D mode).

Fill Style - controls the filling of the wall.

Border Style - controls the border of the wall.

Shadow Style - controls the shadow dropped by the wall (only applicable in 2D mode).

Action
Lets you choose the type of action associated with the wall. See Actions and Drill Down reports for more info.


Polar Wall
Chart > Chart Panels > Walls > Polar Wall

The Walls page of the currently selected charting type is filled with the polar wall, in case the currently selected charting type of the chart area is a polar chart (see Chart Areas for more information).

The polar wall is displayed as a circle behind the polar chart space. Since polar charts are only displayed in 2D mode the polar wall is too displayed only in 2D mode.

The polar wall has the following settings:

General

Visible - controls the wall visibility.

Fill Style - controls the filling of the wall.

Border Style - controls the border of the wall.

Shadow Style - controls the shadow dropped by the wall.

Action
Lets you choose the type of action associated with the wall. See Actions and Drill Down reports for more info.


Radar Wall
Chart > Chart Panels > Walls > Radar Wall

The Walls page of the currently selected charting type is filled with the radar wall, in case the currently selected charting type of the chart area is a radar chart (see Chart Areas for more information).

The radar wall fills the polygon defined by the radar category tips. Since radar charts are only displayed in 2D mode the radar wall is too displayed only in 2D mode.

The radar wall has the following settings:

General

Visible - controls the wall visibility.

Fill Style - controls the filling of the wall.

Border Style - controls the border of the wall.

Shadow Style - controls the shadow dropped by the wall.

Action
Lets you choose the type of action associated with the wall. See Actions and Drill Down reports for more info.


2D/3D Effects
Chart > Chart Panels > 2D/3D Effects

2D/3D Effects are attached to each charting area. By default each charting area is displayed in 2D mode. You can switch each charting area individually between 2D and 3D mode from the 2D/3D Effects page. The 2D/3D Effects page has the following settings:

Mode - defines whether the charting area is displayed in 2D or 3D mode. Based on whether it is set to TwoD or ThreeD either the 2D effects or 3D effects described below are taken into account.

2D Effects

Orientation - defines the orientation of the chart area. Possible values are:

Upward - the chart is oriented vertically, with its Y dimension pointing upward (default).
Left To Right - the chart is oriented horizontally, with its Y dimension pointing towards the right.
Right To Left - the chart is oriented horizontally, with its Y dimension pointing towards the left.

The orientation setting is used, when you want to create horizontal charts in 2D. See Horizontal Charts for more info.
Aspect Mode - defines how the chart will fill the available area specified by the currently applied chart layout. Possible values are:

Stretch - the chart will stretch the x and y dimensions to fill the whole chart area.

Fit Plot - the chart will stretch the x or y dimension so that the plot area maintains the aspect specified by Aspect X and Aspect Y properties.

Fit Content Area - the chart will stretch the x or y dimension so that the content area maintains the aspect specified by Aspect X and Aspect Y properties.

Min Dock Zone Margins - controls the minimum area occupied the left, top, right and bottom axis zones. Set to Automatic by default.

Max Dock Zone Margins - controls the maximum area occupied the left, top, right and bottom axis zones. Set to Automatic by default.

3D Effects

Light Model - lets you choose a predefined lights configuration, which is used to lit the chart scene.

Camera Position group- the properties in this group define the position of the camera. In 3D charting you may think of the chart as a real world object, which you view by positioning a camera on an imaginary sphere, large enough to contain the chart.

Each point on this sphere can be defined with two angles - one which measures the point rotation in XZ plane and another one, which measures the point elevation in YZ plane. These two angles are controlled by the Rotation and Elevation properties respectively.

The camera can also be rotated relatively to the sphere point defined by the [Rotation:Elevation] pair - this is controlled by the Viewer Rotation property.

Projection Settings group - when the camera is positioned, the chart is projected to an imaginary 2D surface perpendicular to the point on the imaginary sphere.

The way in which the depth (i.e. distance from the camera) affects the projection of each point of the chart onto this surface is controlled by the Projection Type setting, which accepts the following values:

Perspective - points with larger depth will appear closer to each other. How closer exactly is controlled by the Perspective Angle property. The larger the perspective angle the closer deeper points are. If Perspective Angle is set to 0 the depth does not affect the projection (which is the simplest case of Orthogonal Projection).

Orthogonal - the depth will not affect the distance between the projected points. In the case of orthogonal projection however you can instruct the chart to apply X and Y offset, which is proportional to the point depth. This is especially useful if you want to display 2D Half like charts - just set Rotation, Elevation and Viewer Rotation to zero and then play with the X Depth Offset and Y Depth Offset of the Orthogonal Projection.

Dimensions group - in the case of 3D charting each charting cube is defined by the sizes specified by the Width, Height and Depth settings. This is a major difference in comparison to 2D charting where charts are auto fitted in the box allocated for the chart area.

See Also
Horizontal Charts


Legends
Chart > Chart Panels > Legends

Nevron Chart for SharePoint supports multiple legends. Legends are added, removed and edited by the Legends Tab of the Chart Major Tab (Chart > Legends).

Nevron Chart for SharePoint has one legend by default. Each values data grouping can be display information about itself on exactly one legend - see the Value Data Groupings topic for more information. Each legend is populated with items. Each legend item represents a chart series, data point or custom information about a series.

Following is a description of the properties of each legend as they are grouped in the visual interface.

General

Visible - the visible property controls the visibility of the legend. When set to false the legend will be hidden.

Items Layout - controls the layout of the legend items. Possible values are:

  • Single Row - the items of the legend are arranged in a single row.
  • Single Col - the items of the legend are arranged in a single col.
  • Fixed Rows - the items are arranged in cols. There is a fixed number of rows allowed per each column. A new column is created when the current column breaches the fixed rows constraint. The number of fixed rows is controlled by the Fixed Rows Count property.
  • Fixed Cols - the items are arranged in rows. There is a fixed number of cols allowed per each row. A new row is created when the current row breaches the fixed cols constraint. The number of fixed cols is controlled by the Fixed Cols Count property.
  • Vertical Wrap - the items are arranged in rows, when the available vertical space is reached the legend adds new columns.

  • Horizontal Wrap - the items are arranged in columns, when the available horizontal space is reached the legend adds new rows.

  • Auto Single Row Col - in this mode the legend automatically switches between Single Row or Single Col mode depending on the legend dock position. If the legend layout mode is set to Manual the Auto Single Row Col mode always evaluates to Single Col.

  • Auto Fixed Row Col - in this mode the legend automatically switches between Fixed Row or Fixed Col mode depending on the legend dock position. If the legend layout mode is set to Manual the Auto Fixed Row Col mode always evaluates to Fixed Col.

Fixed Rows Count - controls the number of fixed rows.

Fixed Cols Count - controls the number of fixed cols.

Marks Width - controls the width of the legend items marks.

Marks Height - controls the height of the legend items marks.

Text Offset - controls the offset of the legend item text from the legend item mark.

Header and Footer
Each legend has header and footer. From the Header and Footer tab you can control the text displayed by the header/footer as well as to control the header/footer text appearance. See the XML Formatted Texts topic for more information on how to create texts with rich formatting.
Layout
The properties in this page control the layout of the legend. For more information see Understanding the Chart Layout.
Appearance

Fill Style - controls the filling of the legend base.

Border Style - controls the border style of the legend base.

Shadow Style - controls the shadow dropped by the legend base.

Gridlines

A legend items can be separated by horizontal and vertical gridlines. From the gridlines page of the legend you can control the visibility of the horizontal and vertical gridlines, as well as define their appearance.

Stripes

The legend rows and columns can be filled with interlaced horizontal and vertical stripes.. From the stripes page of the legend you can control the visibility of the horizontal and vertical stripes, as well as define their appearance.


Titles
Chart > Chart Panels > Titles

Nevron Chart for SharePoint supports multiple titles. Titles are added, removed and edited by the Titles Tab of the Chart Major Tab (Chart - Titles). Following is a description of the properties of each title.

General

Text - specifies the text displayed by the title. See the XML Formatted Texts topic for more information on how to create texts with rich formatting.

Orientation - controls the orientation of the title text. Possible values are:

  • Horizontal - the text is displayed with horizontal orientation.
  • Vertical Upward - the text is displayed with vertical orientation and flows bottom to top.
  • Vertical Downward - the text is displayed with vertical orientation and flows top to bottom.
  • Automatic - automatically chooses one of the above modes, based on the title docking position (Horizontal - for bottom and top positions, Vertical Upward for left and Vertical Downward for right). In case the title is manually positioned this mode resolves to Horizontal.

Fit Mode - controls how the text of the label will fit the bounds provided by the control layout. Possible values are:

Fit Mode | Description
Wrap | The label content is wrapped inside the bounds, thus not allowing it to exceed the available width. The bounds height may increase. No text information is lost and the text is displayed with the specified font size. This is the default mode.
Clip | The label content is clipped inside the bounds. In this mode the label size will not change however text information can be lost at small sizes.
Fit | The label content is fitted inside the bounds. No text information is lost, however the text size may become small and unreadable at small sizes.
Stretch | The label content is stretched to fit the bounds.

Text Alignment Mode - controls how text lines in a multi line text are aligned. Possible values are:

Text Alignment Mode | Description
Auto | The alignment is automatically chosen by the control depending on the setting of Dock Position (specified in the Layout page). This is the default setting.
Left | Text lines are left aligned.
Center | Text lines are center aligned.
Right | Text lines are right aligned.

Text Style - controls the appearance of the title text.

Layout
The properties in this page control the layout of the title. For more information see Understanding the Chart Layout.
Action
Lets you choose the type of action associated with the title. See Actions and Drill Down reports for more info.


The Chart Layout
Chart > Chart Panels > The Chart Layout

Nevron Chart for SharePoint supports multiple chart areas, legends and titles. In order to take full advantage of this feature you must understand how the chart layout system works.

Panels and the Box Model

Nevron Chart for SharePoint threats chart areas, legends and titles as panels. Panels use a box model, which is summarized by the following drawing:

Each panel has margins and padding. The margins define the white space that each panel has around it. The padding defines the space with which the panel content is padded (inflated). The margins and padding settings can be inherited from the chart default margins and padding settings, if the respective Automatic property is set to true.

By default the Automatic property for the margins and padding of all panels is set to true and the actual margins and padding are obtained from the chart control default margins and padding. You can modify the default margins and padding from the Chart - Layout tab. The margins and padding of each panel are accessible from the Layout tab for that panel.

In general the layout algorithm described below uses a combination of docking and absolute positioning. When a panel is docked both it margins and padding are taken into account to display the content at its best size. When a panel is manually positioned the margins are ignored, since they are not needed (margins define a white space, which only automatic layouts should consider).

The Layout Algorithm

The following image illustrates the layout areas in the Nevron Chart for SharePoint product:

The layout algorithm performs the following steps:

  1. Layout the Outer Titles

    Outer titles are such titles for which the Position property is set to Dock To Chart.

    The Dock Position property in this case determines the side at which the title must be docked in the outer titles area and the alignment of the title in this side area. For example:

    Dock Position = Top Center means dock the title to the top side and align it in the center.

    Dock Position = Right Top means dock the title to the right side and align it to the top.

  2. Layout the Outer Legends

    Outer legends are such legends for which the Position property is set to Dock To Chart. Outer legends are arranged in the same way as the outer titles.

  3. Position the Chart Areas Host Panel

    The chart areas host panel is an invisible panel, which fills the space which remains after steps 1 and 2 have been performed.

  4. Layout the Chart Area Host Panels

    The chart areas host panels are invisible panels, which are created for each chart area. These panels are split into two sets - the ones that use automatic positioning and the ones that use manual positioning.

    A chart area uses automatic positioning, if its Automatic position property is set to true (go to Chart Area - Layout tab and set to true the Automatic property in the Position group). Automatically positioned chart areas are placed in the cells of an imaginary grid, the sizing of which is determined by the Chart - Layout - Chart Areas Layout property group.

    A chart area uses manual positioning, if its Automatic position property is set to false. In this case you specify the left, right, top and bottom sides of the chart area in percents of the Chart Areas Host Panel (go to Chart Area - Layout tab and set to false the Automatic property in the Position group. Then modify the Left Percent, Right Percent, Top Percent and Bottom Percent properties).

    The Z order of the chart areas is always determined by the order in which they appear in the Chart Areas Collection.

  5. Layout the Inner Titles (for each chart area host panel)

    Inner titles are such titles for which the Position property is set to Dock To Chart Area. You must pick a chart area to which to dock from the Chart Area property. The Dock Position property in this case determines the side at which the title must be docked in the inner titles area of the chart area host panel and the alignment of the title in this side area.

  6. Layout the Inner Legends (for each chart area host panel)

    Inner legends are such legends for which the Position property is set to Dock To Chart Area. Inner legends are arranged in the same way as inner titles.

  7. Position the chart areas (for each chart area host panel)

    The chart area fills the space, which remains after steps 5 and 6 have been performed.

  8. Layout the Plot Titles (for each chart area)

    Plot titles are such titles for which the Position property is set to Dock To Chart Plot Area. You must pick a chart area to which to dock from the Chart Area property. The Dock Position property in this case determines the side at which the title must be docked in the chart plot area and the alignment of the title in this side area.

  9. Layout the Plot Legends (for each chart area)

    Plot legends are such titles for which the Position property is set to Dock To Chart Plot Area. Plot legends are arranged in the same way as plot titles.

  10. Layout the Floating Legends

    Floating legends are such legends for which the Position property is set to Manual. A floating legend is positioned relatively to a pin point. The pin point coordinates are specified in percents of the area, which remained after the control border was applied (by the Pin X Percent and Pin Y Percent properties). The legend is aligned to the pin point via the Pin Alignment property. For example:

    Pin X Percent = 0, Pin Y Percent = 0, Pin Alignment = Bottom Right - means position the pin point at the 0, 0 percents and align the legend so that it is located at the bottom right side of the pin point.

  11. Layout the Floating Titles

    Floating titles are such titles for which the Position property is set to Manual. A floating title is positioned in the same way as a floating legend.


Content Alignment
Chart > Chart Panels > Content Alignment

Panel alignment allows you to visually align the content areas of charts, legends and titles. It is useful when you're building reports with multiple chart/legend/title areas per control. In such cases it is common for the user to expect to see vertically or horizontally adjacent charts to be aligned by their plot area instead of their content area. The following pictures illustrate that:

Chart With Aligned Areas

Chart With Aligned Content Areas

On the above pictures the first chart has two chart areas which are left aligned (the areas include the chart plot and area occupied by docked axes). As a result the plot areas of the two charts are not horizontally aligned, because the Y axis labels of the two charts differ in size, which results in a different offset for the plot from the left side of the chart area. The second chart shows the effect of panel content alignment - in this case the chart areas are not left aligned, however the plot areas of the two charts are, which results in a more readable chart.

Enabling Content Area Alignment

Initially content area alignment is disabled - to enable this feature you need to go Chart Properties\Layout. On this property page there are two groups of controls relevant to panel content alignment:

- Content Alignment

Allows you to select the sides to align chart/legend/title panels - possible options are left, right, top and bottom.

- Includes Content Areas

Allows you include / exclude panels from content alignment based on their type (chart/legend/title).

Excluding Panels From Content Area Alignment

After you enable alignment for one or more sides you may wish to exclude particular panels so that they don't align their content with the other panels. To achieve this you need to go to the Layout page of that panel and uncheck the Allow Left Align, Allow Right Align, Allow Top Align or Allow Bottom Align check boxes. When unchecked the panel will not regard content alignment settings for the specified side and will retain its original, non aligned position.


Chart Twinning
Chart > Chart Panels > Chart Twinning

The Chart Twinning feature allows to share the axis space of two horizontally or vertically adjacent charts. This is commonly used when you have horizontally or vertically stacked charts that show common data on their X or Y axis. For example consider the following chart:

It shows two charts with right to left and left to right orientation that show identical data on their X (category) axis. Chart twinning allows you to instruct the control to merge the area occupied by adjacent axes of two different charts. This allows you to hide the axis of the first or second chart in order to display only one of the two and therefore increase the space available to the chart plots on both sides. The following picture shows the same chart but with twinning enabled:

Note that in this chart the first category axis is hidden (Chart Area 0\Axes\PrimaryX\Visibility).

Enabling Chart Twinning

In order to enable chart twinning you need to go the Properties\Layout page. Then locate the Twin Charts group of controls:

Twin Horizontally Adjacent Charts - when checked horizontally adjacent charts will ignore the settings for padding and margins for the respective side (left or right) and resize so that left or right axes touch.

Twin Vertically Adjacent Charts - same as above except that the top and bottom chart sides are twinned.

After you enable twinning you can optionally disable it per chart panel by going to the Chart\Chart Areas\Twinning page. It allows you to disable twinning for a particular chart area side.


The Chart Data Model
Chart > Data Model > The Chart Data Model

Nevron Chart for SharePoint internally uses the Nevron Pivot Engine. In order to better understand how to work with the chart and bind it to data you should have a general understanding of the Nevron Pivot Engine - see the Pivot Engine - Getting Started topic.

Each chart webpart has a design model and runtime state. The design model of the chart defines how it merges with the actual data, which is provided at runtime. The runtime state represents the chart when the data has been processed by the pivot engine and merged with the design model.

Figure 1 illustrates the design model of the chart:

Figure 1 - The Chart Data Model

There are three types of data groupings - categories, series and values. Category data groupings define how the data cells expand in the column direction. Collectively, the series and the values data groupings define how the data cells expand in the row dimension - i.e. form the set of row data groupings.

Categories and series data groupings are dynamic - this means that they are constructed to represent a grouping of the data based on some expression conditions (typically a single field value). At runtime each dynamic data grouping expands to one or more group members.

The categories design time hierarchy is always simple and represents a parent-child chain. Each category has exactly one parent category, except the root category, which has no parent category. Each category has exactly one child category, except the last category, which has no children. For example: Category 1 is a parent of Category 2 and Category 2 is the one and only child of Category 1.

The series design time hierarchy is identical to the categories hierarchy. The only difference is that values data groupings are always kept to be children of the last series data grouping (if any) - i.e. the last series data grouping can have an unlimited number of values data grouping children.

Values data groupings are static - this means that exactly one group member is created for each values data grouping in the context of a given series grouping member at runtime. In Nevron Chart for SharePoint each values data grouping typically represents a single chart series. Values data groupings are always children of the last series data grouping.

A single data cell is associated with each values data grouping. Adding or removing a values data grouping always results in adding or removing the associated data cell. At runtime each row of evaluated data cells represents the data points that the values data grouping member uses to display the chart series.

Examples

Too complex? Lets see some samples. Consider this data set:

Company names and data are fictional.

Each company has sales and profit in the Europe, US and Asia regions. First consider a pivot Matrix at design and runtime:

Matrix1 Design Time:

Matrix1 Runtime:

This sample is easily translated to a Nevron Chart webpart like this:

  1. The chart has one category data grouping, which groups data by the company field value.
  2. The chart has one series data grouping, which groups data by the region field value.
  3. The chart has two values data groupings - one for the sales and one for the profit. The chart has two data cells associated with these values data groupings. The first shows the sum of the sales field for the company/region intersection. The second shows the sum of the profit field for the company/region intersection.

Following is a sample visualization of this data model (uses a Clustered Column Chart).

Chart1 Run Time:

Lets see what happens, if we make the region data grouping a child of the company data grouping:

Matrix2 Design Time:

Matrix2 Runtime:

Chart2 Runtime:

Data Cells and Chart Data Points

At runtime each row of evaluated data cells represents the data points for a single chart series. At runtime a single chart series is created for each each values data grouping member.

There are only a few charting types, which do not follow this rule. For example: if you have a charting area with a pie chart and two values data grouping, the chart will create a single pie, which shows all the data points contained in the two data rows - i.e. a single chart series displays the values of two data rows. The documentation for each charting type explains the differences from the general rule.

Different charting types have different data point requirements. In the pivot matrix each data cell can contain multiple values. In the examples seen above the data cells have only one value - the sum of the sales or profit. A single value is however not enough for many charting types - for example a XY scatter will need at least one X and one Y value for each data point.

Besides the charting type, which displays the values data grouping (e.g. data row), the order of the values data groupings may also affect the needed/required data values for each data cell in the data row. For example: The XYZ Scatter Stack Column Chart will need X,Y,Z values for the data cells in the first row and only a single Value for the data cells in the next rows, which are displayed in the stack.

The documentation for each charting type splits the data cells requirements to the "first in chart" and "next in chart" categories, whenever there is a difference in these requirements. In the case of a single chart area, there is only one "first in chart" data cell - the one that is associated with the first values data grouping. In the case of multiple chart areas - there are multiple "first in chart" data cells - one per each charting area.

See Also
Pivot Engine - Getting Started
Values Data Groupings
Category and Series Data Grouping


Values Data Groupings
Chart > Data Model > Values Data Groupings > Values Data Groupings

As mentioned in The Chart Data Model topic, the values data grouping are static. This means that unlike Category and Series Data Groupings they do not have associated filters, sorting and grouping expressions. In Nevron Chart for SharePoint each values data grouping is typically used to represent a single or multiple chart series (depending on whether there are any series data groupings). Because of that values data groupings contain properties, which are applied to the chart series generated for it.

Values data groupings are added, removed and edited by the Pivot > Data Groupings > Values tab page:

  • Add - to add new values data grouping just drag and drop a field from the dataset in the "Drop Value Fields Here" spot.
  • Remove - to remove an existing values data grouping - select the values data grouping and press the remove button.

The properties of each values data grouping tab are explained in detail, by the following topics:

  • General - Values Data Groupings - General
  • Appearance - Values Data Groupings - Appearance
  • Markers - Values Data Groupings - Markers
  • Data Labels - Values Data Groupings - Data Labels
  • Data Labels Layout - Values Data Groupings - Data Labels Layout
  • Legend - Values Data Groupings - Legend
  • Calculated Series - Values Data Groupings - Calculated Series
  • Action - Values Data Groupings - Action
See Also
Category and Series Data Grouping
Data Point Formatting Commands
The Chart Data Model


Values Data Groupings - General
Chart > Data Model > Values Data Groupings > Values Data Groupings - General

fig. 1 - Values Data Groupings - General Tab

Visible - controls the visibility of the chart series created for the data grouping. You will typically use an expression to conditionally show/hide the values data grouping.

Label - specifies the text, which represents the local series label. The full series label is constructed as a concatenation of the labels of the parent series data groupings (if any), separated by the " - " symbol. For example: if the chart has a series grouping with label "Group 1" and a values data grouping with label "A" the full series label is "Group 1 - A". See the XML Formatted Texts topic for more information on how to create texts with rich formatting.

Chart Area - lets you choose the chart area on which the series produced by the values data grouping are displayed. By default all values data groupings are displayed on the first chart area (Chart Area 0). Because the chart area chart type determines the needed data cell values changing this property may reflect the entries in the Data Group - see below.

Series Type - lets you choose the type of the series created for the data grouping. This setting is only available, when the chart area chart type is set to combo. See Combo Chart for more information.

Data Point Values tab - the entries in the data tab define the {value:expression} pairs that are recorded in the data cell associated with the values data grouping. See The Chart Data Model topic for more information about data cells. You will typically set expressions (not constant values) to the entries in this tab. The count and type of entries in this group depends on the currently selected chart area type and in the case of a combo chart from the series type. They are automatically updated by Nevron Chart for SharePoint. The documentation for each charting type (series type) specifies the data requirements in details.

Series Options tab - the settings in this type are context sensitive, which means that Nevron Chart for SharePoint will automatically populate the options tab with relevant settings. Following is a description of the possible options groups:

Inflate Margins - Modifies the ranges of the axes on which the chart scales so that they completely encompass the displayed data. This feature is very useful if you intend to display charts, which are likely to be displayed partially outside of the charting area (bubble chart for example).

Display On Axes - visible only for chart areas with a Cartesian Chart Type.

Y Axes - lets you choose the Y axes on which the series displayed for this values data grouping are scaled in the Y dimension (). By default set to PrimaryY.

X Axes - lets you choose the X axes on which the series displayed for this values data grouping are scaled in the X dimension (only applicable for chart areas, which have a Cartesian chart type). By default set to PrimaryX.

Series Options - if the chart area in which the values are displayed uses a Combo Chart Type, the following series type specific options are displayed:

Series Type | Options Topic
Bar | Bar Series
Area | Area Series
Smooth Area | Smooth Area Series
Line | Line Series
Smooth Line | Smooth Line Series
Step Line | Step Line Series
Point | Point Series
Bubble | Bubble Series
High Low | High Low Series
Stock | Stock Series
Error Bar | Error Bar Series
Box and Whiskers | Box And Whiskers Series
Vector | Vector Series
Range | Range Series


Values Data Groupings - Appearance
Chart > Data Model > Values Data Groupings > Values Data Groupings - Appearance

fig 1. Values Data Groupings - Appearance tab

Controls the appearance of the chart series and the chart series data points. Following is a description of the appearance settings:

Fill Style - specifies the default filling of the data points associated with the series produced for the values data grouping.

Border Style - specifies the default border/stroke style of the data points associated with the series produced for the values data grouping.

Shadow Style - specifies the default shadow style of the data points associated with the series produced for the values data grouping.

Certain charting types will discard the appearance settings, because they need to be displayed with various filling and stroking, or because there is certain color coding logic. For example: it makes no sence to display a pie chart in which all pies are shaded with a single fill style, the stock charts need to highlight the up and down data points.

Use Custom Data Points Appearance - when checked, you are able to specify the fill and stroke of each data point individually, by entering expressions for the data points Fill and Border properties.

Data Point Fill - embeds the Fill Style FX Editor. The expressions for the data point fill are recorded in the data cell, so when evaluated each data point may have different filling, based on the result of the expressions evaluation. Enabled only if Use Custom Data Points Appearance is set to true.

Data Point Border - embeds the Stroke Style FX Editor. The expressions for the data point border are recorded in the data cell, so when evaluated each data point may have different border, based on the result of the expressions evaluation. Enabled only if Use Custom Data Points Appearance is set to true.


Values Data Groupings - Markers
Chart > Data Model > Values Data Groupings > Values Data Groupings - Markers

fig 1. Values Data Groupings - Markers tab

Markers are small shapes displayed at data points. It is important to note that some series do not support markers (for example the surface series does not support markers) and also showing the markers in some charting type is not very typical (for example showing the markers for stock series). Following is a description of the markers settings:

Visible - controls the visibility of the data point markers. By default set to false.

Shape - controls the shape of the data point markers. Possible values are: Bar, Cylinder, Cone, Inverted Cone, Pyramid, Inverted Pyramid, Sphere, Ellipse, Cross, Diagonal Cross, Line Cross, Line Diagonal Cross and Star.

Width Percent - controls the width of the marker shape in percent of the chart width. Generally chosen to be a small value - the default is 2.5%.

Height Percent - controls the height of the marker shape in percent of the chart height. Generally chosen to be a small value - the default is 2.5%.

Auto Depth - specifies whether the depth of the marker should be automatically determined by Nevron Chart for SharePoint.

Depth Percent - controls the depth of the marker shape in percent of the series depth. Only applicable if Auto Depth is set to false.

Vertical Alignment - controls the vertical alignment of the marker relative to the shape which is used to display the data point. Possible values are Top, Center and Bottom. By default set to Top.

Fill Style - controls the filling of the markers.

Border Style - controls the appearance of the markers border.


Values Data Groupings - Data Labels
Chart > Data Model > Values Data Groupings > Values Data Groupings - Data Labels

fig. 1 - Values Data Groupings - Data Labels tab

Data labels are descriptive texts displayed over data points. Following is a description of the data labels properties:

Visible - specifies whether data labels are visible or not. By default set to false.

Position - controls the position of the data labels relatively to the shape used to display the data point. Possible values are:

  • Automatic - in this mode the actual position of the data labels is determined by the chart area chart type. The documentation of each chart type specifies the meaning of this setting in the context of the chart type.
  • Top - the data label is displayed at top of the data point.
  • Center - the data label is displayed at the center of the data point.
  • Bottom- the data label is displayed at the bottom of the data point.

Format - specifies the format of the text displayed in the data point. See the Data Point Formatting Commands topic for a complete discussion on the commands, which can be used.

Text Style - controls the appearance of the data label text.

Arrow Length - controls the length of the arrow, which connects the data label with the data point.

Pointer Length - for data labels which are connected to the data point with a two step link the pointer length controls the length of this second segment (for example a Pie chart in Spider label mode).

Arrow Style - controls the appearance of the arrow link, which connects the data point with the data label.


Values Data Groupings - Data Labels Layout
Chart > Data Model > Values Data Groupings > Values Data Groupings - Data Labels Layout

fig.1 - Values Data Groupings - Data Labels Layout tab

The settings in this tab page allow you to fine tune the automatic data labels displayed by the chart.

Enable Data Point Safeguard - when checked the automatic label layout will protect data point from being overlapped by the labels. You can also add additional space around the data point using the Data Point Safeguard Width and Data Point Safeguard Height controls.

Use Label Locations - when initial positioning is enabled at chart level (see Chart Areas) you can additionally instruct the data series to use an initial label location from a set of proposed locations situated around the origin point of the label. The control selects the location that causes minimum potential conflicts with other labels locations.

Up to eight location proposals can be specified separately for each data series. For example in a chart with two series – line and bar, you can allow the line data labels to go in all eight directions (top, bottom, left, right, top-left, top-right, bottom-left, bottom-right) and at the same time the bar labels can be restricted to just “top” and “bottom” so that they appear either above or below the label origin point.

The order of the location proposals in the Label Locations list box determines their priority (only checked locations are considered). The first proposed location has highest priority, which means that it will be selected unless it causes more conflicts than any of the following proposed locations. You can change the location priority with the Up / Down arrow buttons at the bottom of the list box.

Out Of Bounds Location Mode - in some cases the proposed label locations fall outside the plot area. In such cases Out Of Bounds Location Mode combo allows you to specify how such “out-of-bounds” proposed locations should be treated. Possible values are:

Ignore Location - locations that fall outside the plot area are ignored.

Push Within Bounds - locations that fall outside the plot area are shifted so that they fit inside the plot area.

Use Location - the location is always used.

Invert Locations For Inverted Data Points - when checked the control will invert the proposed locations for charting types that display oriented data points like for example bar and area charts.

Invert Locations If Ignored - if all of the proposed locations are ignored the control can invert the locations automatically so that there is another chance for the label to be displayed.


Values Data Groupings - Legend
Chart > Data Model > Values Data Groupings > Values Data Groupings - Legend

fig. 1 - Values Data Groupings - Legend tab

The series generated for a particular values data grouping can be annotated on exactly one of the chart legends. Following is a description of the properties, which control this annotation process:

Legend - lets you choose the legend on which the series generated for the values data grouping are annotated.

Mode - defines the annotation mode of the series. Possible values are:

  • Automatic - the annotation mode is automatically determined by the chart area chart type. The documentation of each chart type specifies the meaning of this setting in the context of the chart type.
  • None - the series is not annotated in any way.
  • Label - the series full label is displayed in the legend.
  • Data Points - the series data points are displayed in the legend. The text used to represent each data point is determined by the Format property.
  • Logic - series specific information is displayed in the legend.

Order - defines the order in which legend data items (content) generated by the series are inserted into the legend. Possible values are:

  • Append - content is appended to previous legend content.
  • Prepend - content is prepended to previous legend content.
  • Append Inverted - content is first inverted and appended to previous legend content.
  • Prepend Inverted - content is first inverted and then prepended to previous legend content.

Format - specifies the format of the data labels texts. Applicable only for Data Points mode. See the Data Point Formatting Commands topic for a complete discussion on the commands, which can be used.

Text Style - specifies the text style which is used for the legend items generated by the series.


Values Data Groupings - Calculated Series
Chart > Data Model > Values Data Groupings > Values Data Groupings - Calculated Series

fig. 1 - Values Data Groupings - Calculated Series tab

The Calculated Series are line or area series the values of which are calculated by a certain formula. The input values for the formula are the values of the master series to which the calculated series is attached. Calculated Series are very useful if you want to quickly display certain trendlines or other line or stock studies.

Calculated Series are added and removed from the Values Data Groupings - Calculated Series tab. Each calculated series has the following properties.

General

The general properties of the calculated series are:

Visible - controls the visibility of the calculated series.

Label - controls the label of the calculated series. The label is usually shown in the legend.

Show As - controls the way in which the calculated series are visualized. Possible values are:

Line - the calculated series are displayed as line.

Area - the calculated series are displayed as an area.

Smooth Line - the calculated series are displayed as a smooth line.

Smooth Area - the calculated series are displayed as a smooth area.

Formula - controls the formula that is used to extract values from the master series. The web part defines the following formulas:

Formula | Description | Parameters

Statistical - General
Min | Calculates the minimal of all master series values.
Max | Calculates the maximum of all master series values.
Median | Calculates the median of all master series values.
Cumulative | Calculates the cumulative sum of the elements in the master series values. Each element of the result is equal to the previous element of the result plus the current element of master series values.
Sum | Calculates the sum of all master series values.
Average | Calculates the average of all master series values.
Exponential Average | Calculates the exponential average of all master series values. | Weight - the 'weight' parameter is the exponential weight - a constant between 0 and 1.
Root Mean Square

Calculates the RMS of the of the master series values. The RMS is calculated via the following formula:
Standard Deviation | Standard deviation is used to indicate volatility, and measures the difference between values and their average. The function calculates the standard deviation for the elements in the master series values array. If the 'period' parameter is supplied the function calculates a "moving" standard deviation with the specified period (standard deviation with simple moving average). | Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Linear Regression | Calculates the linear regression of the master series values. The calculation takes into account the X values of master series. If the master series is an XY scatter, you have the option to control whether the regression line is draw from the min to max X value (if UseXMinMax is checked) or from the first to the last item in the data set. | UseXMinMax - if the master series is an XY scatter, determines whether the regression line is drawn from min to the max x value or from the first to the last X value of the master series.
Polynomial Regression | Calculates the polynomial regression of the master series values. The calculation takes into account the X values of master series. You have the option to control the polynomial order and thus create polynomial interpolations of second, third and higher degrees. | Polynomial Order - an integer value larger or equal to 2, that defines the degree of the polynomial regression.
Statistical - Range Indicators
Bollinger Bands

Bollinger bands are displayed at a given number of standard deviations from a moving average of a price. Since standard deviation is a measure of volatility, the bands are self-adjusting: widening during volatile markets and contracting during calmer periods. Bollinger Bands were created by John Bollinger.

To display the two Bollinger bands you can use two line series (one for the upper band and one for the lower band) or a single Hi-Low series.

For the upper band use these settings: Period=20, Deviation=2.
For the lower band use these settings: Period=20, Deviation=-2.

Mr. Bollinger recommends using 20 for the number of periods in the moving average, and using 2 standard deviations. He has also found that moving averages of less then 10 periods do not work very well.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.

Deviation - the 'deviation' defines the number of standard deviations the band is offset from the simple moving average of 'values'. For the upper band this must be a positive value and for the lower band - a negative value.
Envelopes Price envelopes are plotted at a specified percentage above and below a moving average. They are used to indicate overbought and oversold levels. The shift percentage should be set so that about 90% of price activity is contained within the bands. Adjust the band width if volatility increases over time.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.

Shift - the 'shift' defines the offset from the simple moving average of 'values' in percents. For the upper band this must be a positive value and for the lower band - a negative value.

Statistical - Moving Averages
Simple Moving Average A Moving Average is an indicator that shows the average value of a security's price over a period of time. A simple, or arithmetic, moving average is calculated by adding the price of the security for a number of time periods (e.g., 12 days) and then dividing this total by the number of time periods. The result is the average price of the security over the time period. Simple moving averages give equal weight to each daily price.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Weighted Moving Average A Moving Average is an indicator that shows the average value of a security's price over a period of time. A weighted moving average is designed to put more weight on recent data and less weight on past data. A weighted moving average is calculated by multiplying each of the previous day's data by a weight (the weight is the index of the data).

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Exponential Moving Average

A Moving Average is an indicator that shows the average value of a security's price over a period of time. An exponential (or exponentially weighted) moving average is calculated by applying a percentage of today's price to yesterday's moving average value. Exponential moving averages place more weight on recent prices. The formula of the exponential moving average is:

EMA[n] = values[n] * Exp_Percent + EMA[n-1] * (1 - Exp_Percent)

The exponential percentage is calculated internally from the 'period' parameter with the following formula:

Exp_Percent = 2 / (Time_Periods + 1)

If you prefer to work with exponential percentages you can use the following formula to convert the percentages to time periods:

Time_Periods = (2 / Exp_Percent) - 1

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Modified Moving Average

A Moving Average is an indicator that shows the average value of a security's price over a period of time. The Modified Moving Average is actually the same as the Exponential Moving Average, but with one difference - the exponential percentage is calculated with the following formula:

Exp_Percent = 1 / (Time_Periods + 1)

For comparison the exponential percent for the EMA is:

Exp_Percent = 2 / (Time_Periods + 1)

The formula for calculating the MMA is the same as the formula of the EMA:

MMA[n] = values[n] * Exp_Percent + MMA[n-1] * (1 - Exp_Percent)

The two functions are equivalent, but for different values of the period parameter. For example a 14-day MMA is the same as 27-day EMA. The MMA function is provided for convenience.

Financial - Price Indicators
Median Price

Median Price is the mid-point of the trading range. It can be used as a filter for trend indicators. The median price for each day is calculated using the following formula:

MP = (high + low) / 2
Typical Price

Typical Price is an approximation of average price for each period and can be used as a filter for moving average systems. The formula of the Typical Price is:

TP = (close + high + low) / 3
WeightedClose

The Weighted Close indicator calculates the daily average of Hi, Low and Close prices. It is designed to put more weight on the Close values. The formula of the Weighted Close is:

WC = (2 * close + high + low) / 4

Financial - Directional Movement
Positive Direction Indicator The +DI function is a part of the Directional Movement System developed by J. Welles Wilder. The system consists of three lines:

- The Positive Direction Indicator (+DI) summarizes upward trend movement;
- The Negative Direction Indicator (-DI) summarizes downward trend movement;
- The Average Directional Movement Index (ADX) indicates whether the market is trending or ranging. For internal calculations the DI_POS function uses the modified moving average.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Negative Direction Indicator The -DI function is a part of the Directional Movement System developed by J. Welles Wilder. The system consists of three lines:

- The Positive Direction Indicator (+DI) summarizes upward trend movement;
- The Negative Direction Indicator (-DI) summarizes downward trend movement;
- The Average Directional Movement Index (ADX) indicates whether the market is trending or ranging. For internal calculations the DI_NEG function uses the modified moving average.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Directional Movement Index The Average Directional Movement is a part of the Directional Movement System developed by J. Welles Wilder. The system consists of three lines:

- The Positive Direction Indicator (+DI) summarizes upward trend movement;
- The Negative Direction Indicator (-DI) summarizes downward trend movement;
- The Average Directional Movement Index (ADX) indicates whether the market is trending or ranging.

Declining ADX shows that the market is losing direction. When ADX falls below both +DI and -DI it signals a lifeless market. When ADX rises above both +DI and -DI it signals that the market is becoming overheated. The ADX is defined as a moving average of the Directional Movement Index. By default, the Modified Moving Average is used for smoothing with a period of 14 days. You can use another type of moving average by changing the original formula.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Average Directional Movement The Average Directional Movement is a part of the Directional Movement System developed by J. Welles Wilder. The system consists of three lines:

- The Positive Direction Indicator (+DI) summarizes upward trend movement;
- The Negative Direction Indicator (-DI) summarizes downward trend movement;
- The Average Directional Movement Index (ADX) indicates whether the market is trending or ranging.

Declining ADX shows that the market is losing direction. When ADX falls below both +DI and -DI it signals a lifeless market. When ADX rises above both +DI and -DI it signals that the market is becoming overheated. The ADX is defined as a moving average of the Directional Movement Index. By default, the Modified Moving Average is used for smoothing with a period of 14 days. You can use another type of moving average by changing the original formula.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.

Financial - Technical Indicators
Average True Range

Average True Range is an indicator from J. Welles Wilder that measures commitment by comparing the range for each successive day. The True Range indicator is the greatest of the following:

- High for the day minus Low for the day.
- The absolute value of: High for the day minus Close for the previous day.
- The absolute value of: Low for the day minus Close for the previous day.

The Average True Range is a moving average (typically 14-days) of the True Range.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Chaikins Volatility The Chaikin Volatility function determines the volatility of a security using the percentage change in a moving average of the high versus low price over a given time period. It is most useful in conjunction with a moving average system or price envelopes.

Period - the rate of change period. The recommended value is 10.

Period2 - is the period for the moving average of the of high - low price difference. The recommended value is 10.
Commodity Channel Index The Commodity Channel Index measures the position of price in relation to its moving average. It is used to highlight when the market is overbought/oversold or to signal when a trend is weakening. The indicator is similar in concept to Bollinger Bands but is presented as an indicator line rather than as a range. The Commodity Channel Index was developed by Donald Lambert.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Detrended Price Oscillator The Detrended Price Oscillator compares the closing price (or any other price) to a prior moving average. This indicator attempts to eliminate the trend in prices. Detrended prices allow you to more easily identify cycles and overbought/oversold levels.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Mass Index The Mass Index was designed to identify trend reversals by measuring the narrowing and widening of the trading range (high - low prices). As the range widens the Mass Index increases; as the range narrows the Mass Index decreases. The Mass Index was invented by Donald Dorsey.

Period - is the accumulation period. The recommended value is 25

Period2 - is the moving average period. The recommended value is 9.
Momentum

The Momentum indicator measures the amount that a security's price has changed over a given time span. It can be used as a trend-following oscillator similar to the MACD or as a leading indicator. The formula of the momentum is:

Momentum[n] = values[n] - values[n - period]

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Momentum Division

The Momentum Division function is similar to the Momentum indicator. It calculates the ratio between a current value and the value, which is 'period' days before the current value. The formula of the Momentum Division is:

MomentumDiv[n] = 100 * values[n] / values[n - period]

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Moving Average Convergence Divergence

The Moving Average Convergence Divergence (MACD) is a trend following momentum indicator that shows the relationship between two moving averages of prices. It is calculated by subtracting the value of a 26-day exponential moving average from a 12-day exponential moving average. The MACD proves most effective in wide-swinging trading markets.

In a market which is accelerating upwards, the short moving average will rise faster than the longer moving average. This will lead to a rising MACD.

In a market which is accelerating downwards, the short moving average will fall faster than the longer moving average. This will lead to a falling MACD.

The MACD was developed by Gerald Appel.
Performance | The Performance indicator displays a security's price performance as a percentage. This is sometimes also called a normalized chart, as it enables to compare shares with differing price levels. The Performance indicator compares a current price value with the value from the first time period.
Rate Of Change

The Rate of Change indicator monitors market momentum. It calculates the market's rate of change relative to previous trading intervals. The Rate of Change indicator is calculated using the following formula:

ROC = ((Today's value - Value n periods ago) / (Value n periods ago)) * 100
Relative Strength Index

Relative Strength Index (RSI) is a popular momentum oscillator developed by J. Welles Wilder. The Relative Strength Index compares upward movements in closing price to downward movements over a selected period. The RSI ranges between 0 and 100. The formula of the RSI is:

RSI[n] = 100 - (100 / (1 + U[n] / D[n]))

where:

U[n] - average value of the upward price change for the given period
D[n] - average value of the downward price change for the given period

Relative Strength Index is smoother than the Momentum or Rate of Change oscillators and is not as susceptible to distortion from unusually high or low prices at the start of the window.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
Stochastic Oscillator

The Stochastic Oscillator compares where a security's price closed relative to its price range over a given time period. The Simple Stochastic Indicator (%K) is calculated using the following formula:

%K = 100 * (Today's close - LL) / (HH - LL)

LL is the current lowest low value for the given time period.

HH is the current highest high value for the given time period.

The Smoothed Stochastic Indicator (%D) is calculated as a Moving Average of %K. For example you can use the following expression:

SMA( STOCHASTIC(close; high; low; 10); 10 )

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
TRIX The TRIX indicator is based on a triple exponential moving average of the closing price and is designed to filter out insignificant cycles and show the prevailing trend of the stock. Triple smoothing reduces volatility and minimizes the chance of false signals.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.
True Range The True Range indicator is the greatest of the following:

- High for the day minus Low for the day.
- The absolute value of: High for the day minus Close for the previous day.
- The absolute value of: Low for the day minus Close for the previous day.
Williams Percent R William's %R is a momentum indicator, designed to measure overbought and oversold levels. This indicator is similar to the Stochastic %K indicator, except that Williams %R is plotted using negative values ranging from 0 to -100. This indicator was developed by Larry Williams.

Period - the 'period' defines the period for the function - it must be a constant greater or equal to 1.

Note that all financial functions need a stock series (chart) to be displayed correctly. The statistical functions are generally operating on the Values of the respective series. When applied to a stock function the statistical functions use the stock Close values.)

Show On Series Chart Area - when set to true the calculated series are displayed on the chart area on which the master series are displayed. When set to false the calculated series are displayed on the chart area specified by the Chart Area combo. By default set to true.

Chart Area - lets you choose the chart area on which to display the calculated series. Only applicable if Show On Series Chart Area is false.

Y Axes - lets you specify the Y axis on which to scale the calculated series.

Z Order - controls the Z order of the calculated series in regards to the master series and the other series in the respective chart area. Possible values are:

Behind All Series - the calculated series appears "behind" all series in the chart area.

Behind Series - the calculated series appears behind the master series in the chart area. If the calculated series is displayed on a chart area different than that of the master series, this setting is equivalent to Behind All Series.

Before Series - the calculated series appears before the master series in the chart area. If the calculated series is displayed on a chart area different than that of the master series, this setting is equivalent to Before All Series.

Before All Series - the calculated series appears before all series in the chart area.

Appearance

Controls the appearance of the calculated series. Following is a description of the appearance settings:

Fill Style - specifies the filling of the data points associated with the calculated series.

Border Style - specifies the border/stroke style of the data points associated with the calculated series.

Shadow Style - specifies the shadow style of the data points associated with the calculated series.

Markers
Controls the apparance of the calculated series markers. For more info see - Values Data Groupings - Markers.
Data Labels
Controls the appearance and format of the calculated series data labels. For more info see - Values Data Groupings - Data Labels.
Data Labels Layout
Advanced arrangement options for non-overllaping data labels layout. For more info see - Values Data Groupings - Data Labels Layout.
Legend

Controls the calculated series legend representation. For more info see - Values Data Groupings - Legend.

Action

Lets you choose the type of action associated with the calculated series. See Actions and Drill Down reports Actions and Drill Down reports for more info.

The action label of calculated series supports the <value> and <xvalue> (for XY scatters trendlines) templates. When these template strings are present in the aciton label (tooltip) the component will automatically split the trendline segments into smaller segments so that the tooltip reflects a more accurate value on the trendline. The InterpolationSteps controls the number of segments into which each trendline segment is split into. The higher the value the more accurate the tooltips will be.

The displayed value and xvalue are formatted with the formatting associated with the data labels values.


Values Data Groupings - Action
Chart > Data Model > Values Data Groupings > Values Data Groupings - Action

An action can be associated with each series data point. The action defines what should happen when the users clicks on a data point at runtime and also lets you define a tooltip for the data point. See Actions and Drill Down reports for a complete discussion.


Data Point Formatting Commands
Chart > Data Model > Values Data Groupings > Data Point Formatting Commands

You can use formatting commands in the Format setting of the values data groupings data labels and legend settings. Formatting commands are tags, which are evaluated by Nevron Chart for SharePoint for each data point that is displayed by the series. Following is a list of the formatting commands that you can use:

Command | Applies to | Description
<value> | All data points | Shows the primary value of the data point.
<label> | All data points | Shows the label of the data point.
<index> | All data points | Shows the index of the data point
<xvalue> | XY scatters | Shows the X value of the data point. Applicable to all XY scatters.
<zvalue> | XYZ scatters | Shows the Z value of the data point. Applicable to all XYZ scatters.
Stacks
<total> | Stacks | Shows the total sum of the values in a stack.
<percent> | Stacks | Shows the percent contribution of a stacked data point to the stack total.
<cumulative> | Stacks | Shows the current sum of the stacked data points to the data point.
High Low Charts
<high_value> | High-Low charts (series) | Shows the high value of the high-low data point.
<low_value> | High-Low charts (series) | Shows the low value of the high-low data point.
<high_label> | High-Low charts (series) | Shows the high label value for high data points. For low data points evaluates to an empty string.
<low_label> | High-Low charts (series) | Shows the low label value for low data points. For high data points evaluates to an empty string.
Bubble Charts
<size> | Bubble charts (series) | Shows the size value of the bubble data point.
Float Bar Charts
<begin> | Float bar charts (series) | Shows the begin value of the float bar data point.
<end> | Float bar charts (series) | Shows the end value of the float bar data point.
Polar Charts
<angle_in_degrees> | Polar charts | Shows the angle value of the polar data point in degrees.
<angle_in_radians> | Polar charts | Shows the angle value of the polar data point in radians.
Stock Charts (Series)
<open> | Stock charts (series) | Shows the open value of the stock data point.
<high> | Stock charts (series) | Shows the high value of the stock data point.
<low> | Stock charts (series) | Shows the low value of the stock data point.
<close> | Stock charts (series) | Shows the close value of the stock data point.
<up_label> | Stock charts (series) | Shows the Up Label for up data point. For down data points evaluates to an empty string.
<down_label> | Stock charts (series) | Shows the Down Label for down data point. For up data points evaluates to an empty string.
Surface Charts
<zone_value> | Surface Chart | Shows the palette zone value. Applicable when Smooth Palette is set to true.
<zone_begin> | Surface Chart | Shows the palette zone begin value. Applicable when Smooth Palette is set to false.
<zone_end> | Surface Chart | Shows the palette zone end value. Applicable when Smooth Palette is set to false.
<xindex> | Surface Chart - Mesh or Grid subtype | Shows the x index of the data point in the base grid.
<zindex> | Surface Chart - Mesh or Grid subtype | Shows the z index of the data point in the base grid.


Category and Series Data Grouping
Chart > Data Model > Category and Series Data Groupings > Category and Series Data Grouping

As mentioned in The Chart Data Model topic, the category and series data grouping are dynamic. This means that at runtime a single dynamic data grouping can generate zero, one or more data grouping members. Because at design time you can create child dynamic data grouping the runtime structure of the data grouping member's forms a hierarchical structure (i.e. a tree).

The hierarchical structure of the category data grouping members is typically displayed on the chart X dimension (when the current chart type has a categorical X dimension). The hierarchical structure of the series data grouping members plus the members produced for the leaf values data groupings is typically displayed on the chart Z dimension (when the current chart type has a categorical Z dimension and the chart is in 3D mode).

Category/series data groupings are added, removed and edited by the Pivot > Data Groupings > Categories and Pivot > Data Groupings > Series tab pages respectively:

  • Add - to add new category/series data grouping just drag and drop a field from the dataset in the "Drop Value Category/Series Here" spot.
  • Remove - to remove an existing category/series data grouping - select the category/series data grouping and press the remove button.

Following is a description of the properties of the Category and Series Data Groupings as they appear in the visual interface.

General

Label - specifies the text, which represents the local data grouping label. The label text will appear in the hierarchical scale constructed for category/series data grouping (in case the chart X/Z dimension is categorical). In the case of a series data grouping it is also used in the construction of the full series label (see Values Data Groupings - for more information). See the XML Formatted Texts topic for more information on how to create texts with rich formatting.

Group By List - lets you type the expressions on which to group the data. See Grouping for complete discussion.

Filters

Filters List - lets you define the filters for the the data grouping. Each item defines a filter rule, which is combined with an AND with the previous filters. See Filtering for complete discussion.

Sorting

Sortings List - lets you define the sorting rules for the data grouping. See Sorting for complete discussion.

See Also
Values Data Groupings
The Chart Data Model
Grouping, Filtering and Sorting


Customizing the Chart Appearance
Chart > Customizing the Chart Appearance

Nevron Chart for SharePoint is built with appearance customization in mind. The following sections discuss how appearance customization is achieved throughout the component designer interface.

Appearance Style Editors

The web part exposes visual editors for the editing of fill styles, stroke styles, text styles etc. for all chart elements. Fill styles, strokes styles, text styles etc. are generally called appearance styles, which are edited with appearance editors. The following list enumerates the appearance editors and links to the topics you can read to start working with them quickly:

Fill Style Editor

Stroke Style Editor

Shadow Style Editor

Text Style Editor

Frame Style Editor

Every appearance style editor has an Automatic check box located in its upper left corner. If you check it and press the Ok button of the editor, you instruct Nevron Chart for SharePoint to determine this appearance style automatically.

All appearance styles are displayed and edited by buttons, which have a preview box in their left side. The preview box displays a checker board with a blue "a" inside, whenever the specific appearance style is automatically determined. By default all appearance styles are automatically determined.

Data Points, Markers and Data Labels Appearance

Data series displayed by charts use a slightly more complicated method of obtaining the appearance. In the process of the determining the appearance of data points, markers and data labels the control will follow a simple, two stage process:

1. If the local chart area appearance settings (per chart area - for example Chart Areas > Chart Area 0 > Appearance) are set to automatic the data series appearance will be determined by the global appearance setting (per web part - Chart > Appearance).

2. After the series determines the style sheet they have to use, they regard the Color Mode setting. The following table shows the possible settings for this mode:

Color Mode | Description
Auto | The control will automatically choose between Data Point and Series mode depending on the current chart type.
Data Point | In this mode the palette colors are distributed across the data points. This leads to different colors per data point.
Series | In this mode the palette colors are distributed across the series in the chart - this is useful for stack bars and stack areas.

The following images illustrate two bar charts with color mode set to "Data Point" and "Series" respectively:

Series Color Mode | Data Point Color Mode

You can also customize the palette used to fill data points and markers by editing the palette items, as well as add/remove new/existing items.

From the toolstrip at the bottom you can Save and Load palette definitions, as well as load predefined palettes.

In cases when you need to fine tune the targets of the style sheet you can use the following check boxes, located below the palette preview band:

Fill Markers - whether the style sheet is applied to the fill style of data point markers.

Outline Data Points - whether the style sheet is applied to the outline (stroke) of data points.

Outline Markers - whether the style sheet is applied to the outline (stoke) of markers.

Outline Data Labels - whether the style sheet is applied to the outline of data labels.

Text Appearance

Besides appearance styles XML formatted texts play central role in the chart appearance customization, since they help you display titles, headers, footers etc. in a rich text format with many options. See XML Formatted Texts for more information.


Rendering Options
Chart > Rendering Options

The chart rendering options are accessible from the Chart > Rendering major tab. Following is a description of these options.

Auto Refresh Interval - specifies the amount of time (in milliseconds) at which the web part is automatically refreshed. A value of 0 indicates that the web part is not automatically refreshed.

Use the Auto Refresh feature only when needed - for example for presenting a regularly changing data source (realtime data).
The Auto Refresh feature is expensive to use in general, since each web part refresh will request a new reaggregation of the data.
If you need to provide users with the ability to manually refresh a specific web part (at a button click for example) - you can use the take a look at the NRefreshWebPart JScript function, which is described in the Custom Parameters with Nevron JavaScript API topic.

Width - the width of the chart in pixels.

Height - the height of the chart in pixels.

Image Acquisition Mode - specifies the way in which the client browser acquires the web part image. Possible values are:

  • Temp File - a temporary image is created to the Layouts\Nevron\Chart\Temp folder and the browser acquires the image from this file.
  • Http Handler - a temporary image is created in the respective image stream container and the image is served to the browser via a custom HTTP handler.
  • Embedded - the temporary image is encoded directly in the HTTP response (the default setting). This setting eliminates the need for temporary image store. Unfortunately old browsers such as IE 7.0 and older do not support image embedding and IE 8.0 only supports embedded images of small sizes. For these browsers the web part automatically switches to Http Handler acquisition mode.

Image Format - specifies the format of the image generated by Nevron Chart for SharePoint at runtime. By default set to PNG - possible values are Bmp, Jpeg, Png and Gif.

Render Image Map - specifies whether Nevron Chart for SharePoint should render an image map. The web part can generate an image map, which contains information about tooltips, actions etc. The image map should be rendered, if the web part is designed to be interactive. You should consider setting this property to false, if the web part does not need any interactivity features. This will speed up its rendering.

Enable 3D Antialiasing - this setting is regarded when the chart is rendering in 3D. When checked you can additionally specify the number of image samples generated by the control in order to produce smooth edges for 3D objects. The default setting for 3D antialiasing samples is 4.

Enable 2D Antialiasing - turns on or off the antialiasing of 2D objects.

Text Rendering Mode - allows you to specify the text rasterization mode. The following settings are available:

  • Aliased - no antialiasing is performed. This setting will produce jagged text edges.
  • Antialiased - the control will perform antialiasing on texts. This setting is recommended when reports will be viewed on both LCD and CRT displays.
  • Clear Type - the control will perform subpixel antialiasing on texts, utilizing RGB color cell order on LCD displays for better quality. This is the default setting.

Use Regional Settings - specifies whether specific regional (culture) settings must be used. When unchecked the webpart will use the server default culture settings. When checked the culture with the specified culture name is used.

Culture Name - a string, which determines the culture with which the chart is rendered, when Use Regional Settings is checked. The culture controls the formatting of all numbers and dates displayed by Nevron Chart for SharePoint. If left blank, the chart will use the default server culture. See the Culture Table for a list of all acceptable culture names.

See Also
Culture Table


Horizontal Charts
Chart > Tips and Tricks > Horizontal Charts

Very often it is necessary to display some charting types like Bar, Float Bar, Line etc. in a horizontal projection. This topic will provide you with a step by step tutorial how to do that in 2D and 3D.

2D Horizontal Charts

First you need to decide whether your chart needs to be oriented from left-to-right or right-to-left. The following image illustrate the most common left-to-right and right-to-left 2D charts:

  • Left To Right Chart

    1. Swith to 2D Mode
    From the Chart Areas > 2D/3D Effects - set Mode to TwoD

    2. Change the Orientation
    From the Chart Areas > 2D/3D Effects - set Orientation to Left To Right

    3. Change the Primary Y Axis Position to Right
    From Chart Areas > Axes > Primary Y - set Position to Right

    4. Invert the Primary X Axis as needed
    If you want categories to grow from top to bottom, from Chart Areas > Axes > Primary X > Scale - set Inverted to false.
    If you want categories to grow from bottom to top, from Chart Areas > Axes > Primary X > Scale - set Inverted to true.

  • Right To Left Chart

    1. Swith to 2D Mode
    From the Chart Areas > 2D/3D Effects - set Mode to TwoD

    2. Change the Orientation
    From the Chart Areas > 2D/3D Effects - set Orientation to Right To Left

    3. Change the Y Axis Position to Left
    From Chart Areas > Axes > Primary Y - set Position to Left

    4. Invert the Primary X Axis as needed
    If you want categories to grow from top to bottom, from Chart Areas > Axes > Primary X > Scale - set Inverted to true.
    If you want categories to grow from bottom to top, from Chart Areas > Axes > Primary X > Scale - set Inverted to false.
3D Horizontal Charts

In 3D the chart orientation is achieved similarly. The following image illustrate the most common left-to-right or right-to-left 3D charts:

  • Left To Right Chart

    1. Swith to 3D Mode
    From the Chart Areas > 2D/3D Effects - set Mode to ThreeD

    2. Change the Projection
    From the Chart Areas > 2D/3D Effects
    - set Viewer Rotation to -90.
    - set Projection Type to Orthogonal
    - set X Depth Offset to 0.25

    3. Change the Primary Y Axis Position to Right
    From Chart Areas > Axes > Primary Y - set Position to Right

    4. Invert the Primary X Axis as needed
    If you want categories to grow from top to bottom, from Chart Areas > Axes > Primary X > Scale - set Inverted to false.
    If you want categories to grow from bottom to top, from Chart Areas > Axes > Primary X > Scale - set Inverted to true.

  • Right To Left Chart

    1. Swith to 3D Mode
    From the Chart Areas > 2D/3D Effects - set Mode to ThreeD

    2. Change the Projection
    From the Chart Areas > 2D/3D Effects
    - set Viewer Rotation to 90.
    - set Projection Type to Orthogonal
    - set X Depth Offset to -0.25

    3. Change the Y Axis Position to Left
    From Chart Areas > Axes > Primary Y - set Position to Left

    4. Invert the Primary X Axis as needed
    If you want categories to grow from top to bottom, from Chart Areas > Axes > Primary X > Scale - set Inverted to true.
    If you want categories to grow from bottom to top, from Chart Areas > Axes > Primary X > Scale - set Inverted to false.
Advantages
Other charts for SharePoint, will provide a different charting type (series type) for horizontal bars, lines etc., but this limits the number of possible combinations that you can use in horizontal charts. It also limits the orientation variants (e.g. very often there is no right to left chart). In Nevron Chart for SharePoint you can turn each type of chart to a horizontal one by following the above mentioned easy steps.


Gauge Overview
Gauge > Gauge Overview

Nevron Gauge for SharePoint is an advanced web part, which delivers a complete set of radial and linear gauges, numeric displays and state indicators which are driven by pivot data aggregation. This allows the creation of complex gauges, that are tightly integrated with your data to be done visually and directly in SharePoint environment.

Major Features

Support for Multiple Gauge Areas - unlimited number of gauge areas are supported. Each gauge area has its own gauge type. Gauge areas can be automatically or manually arranged. Gauge areas can be nested into one another to create sub gauges.

Support for Multiple Titles - unlimited number of titles are supported. Titles can be manually positioned or docked to gauge, gauge areas and gauge plot areas.

Gauge Types - a gauge type is assigned to each gauge area. Supported are the following gauge types:

  • Radial - displays axes, ranges and pointers in a circular fashion.
    Sub Types: Radial, Quarter North East, Quarter North West, Quarter South West, Quarter South East, Half North, Half South, Half West, Half East and Custom. When using Custom subtype the user can specify custom begin angle, sweep angle, border style etc.
  • Linear - displays axes, ranges and pointers in a linear fashion.
    Sub Types: Horizontal and Vertical.
  • Numeric Display - displays a value in a fashion similar to a LED display.
    Display Styles: Seven Segment Normal, Seven Segment Rounded, Seven Segment Rectangular, Fourteen Segment Normal, Fourteen Segment Rectangular, Fourteen SegmentInset, Matrix Rectangle and Matrix Circle.
  • State Indicator - supplementary gauges, typically used to visually prompt the user that a value has entered a critical range.

Axes - radial and linear gauges support an unlimited number of axes, packed with a complete set of features designed to solve even the most complex gauge requirements.

Ranges - radial and linear gauges support an unlimited number of ranges. Ranges help you visualize the coverage of a values range on a certain axis.

Pointers - radial and linear gauge types support an unlimited number of pointers. Pointers help you visualize a value on a certain axis. Radial gauges support numerous needle styles. Both linear and radial gauges can display pointers as markers.

Gauge Formulas - gauges are designed to provide data analysis to sets of numeric values. Gauge formulas can be applied to the aggregated sets applicable to axis ranges {min and max}, ranges {begin and end} and pointer and numeric display values. Supported are the following gauge formulas:

  • Min - finds the min value from a set.
  • Max - finds the max value from a set.
  • Average - finds the average value from a set.
  • Median - finds the value that splits the set in half (e.g. half of the values are smaller than median value and half are larger).
  • First - gets the first value from a set.
  • Last - gets the last value from a set.
  • Sum - gets the sum of all values in the set
  • Count - gets the count of the values in the set
  • Percentile - finds the value that splits the set in a custom percent.
  • Variance - the variance is used to measure the tendency of the values in the set to deviate from the average.
  • Standard Deviation - Returns the standard deviation of the values in the set.

Rendering

  • Support for different image formats
  • Image sizing options
  • On/off image map rendering
  • Control over text and geometry antialiasing
  • Control over the currently used culture settings. You can select a custom culture or synchronize the currently used culture with the user regional settings.

Appearance Customizations

  • Fill Style editor - helps you define the filling of an element. Provides options for solid color, gradient and hatch fill types.
  • Stroke Style editor - helps you define the outline/stroke of an element. Provides options for line caps and joins, line pattern and color.
  • Shadow Style editor - helps you define the shadow which is casted by an element. Provides options for solid, linear, radial blur and gaussian blur shadows.
  • Text Style editor - helps you define the default appearance of a text element. Provides options for font size and type, font filling, outline, shadow, backplane etc.
  • Frame Style editor - helps you define the frame of the component and its panels. Supports artistic/image borders.

Code Embedding - allows you to modify every aspect of the gauge using C# or VB.NET code.

Templates - allows you to save and load the component state inside the web part designer.

Unique Features

Advanced Pivot Aggregation - the pivot data aggregation capabilities embedded in the product are only comparable to the ones provided by leading reporting tools. However none of these solutions provides this level of flexibility and ease of configuration inside SharePoint nor the advanced data visualization of Nevron.

Expressions Everywhere - nearly all aspects of the web part (from the data source connection, through the data aggregation and data visualization) can be controlled by expressions, which means that you can bind nearly everything to user defined preferences and data.

Image Filters - the only gauge for SharePoint to provide Adobe Photoshop like image filter effects, which are applicable to all gauge elements - these include bevel, emboss, lighting filters etc. When it comes to shadows it is the only gauge for SharePoint, which has soft shadows (based on Gaussian and Radial blur image filters).

XML Formatted Texts - this feature is applicable to all elements which display text. It allows you to mix fonts, mix bold, italic underline formatting and many other advanced features like different fill styles, shadows, image filters etc. - all inside a single label, title etc. XML formatted texts use a format similar to HTML, but with many more advanced options.

Blazing Fast Gauge Designer - Nevron Gauge for SharePoint features an advanced designer, which is built with jQuery UI. The designer supports all major web browsers and does not require any plugins (like Silverlight or Flash). It does not use postbacks, MS ASP.NET controls or MS AJAX, which ensures that the client-server communication is brought to a minimum. The server-side UI processing is pure HTML and script rendering. The client-side is pure HTML, CSS and jQuery JavaScript.


Gauge - Getting Started
Gauge > Gauge - Getting Started
The purpose of this topic is to provide basic understanding of gauge terminology and how pivot gauges are used in data analysis.
Gauge Elements

Gauges are composed of various elements such as gauge areas, titles, axes, ranges, pointers etc. that are illustrated by the following image:

Following is a brief description of the gauge elements shown on the above picture along with a link to a more detailed topic:

Title - titles are generally used to display text describing the contents of the gauge. See Titles for more info.

Pointers - pointers are used to display a current measurement along an axis. In the image above there are two pointers - the first one is visualized as a marker with a triangle shape and the second one is visualized as a needle extending from the gauge center. See Pointers for more info.

Ranges - ranges are used to highlight important ranges of values on the gauge axes. In the image above the range is configured to cover the [65, 100] values range and uses "Start To End" gradient style. See Ranges for more info.

Major and Minor Ticks - major and minor ticks pin point values on the scale. See Ticks for more info.

Scale Labels - scale labels are displayed at the values of the major ticks on the axis.

Numeric Display - the numeric display is a type of gauge area that displays values in LED fashion. See Numeric Display for more info.

State Indicator - the state indicator is a type of gauge area that visually shows whether it's value falls within a specified range. This can be useful to visually prompt the user when values of pointers, ranges or numeric displays enter critical ranges. See State Indicator for more info.

My First Gauge
We assume that you are in gauge web part design mode. See the Adding the WebParts to Pages for a complete discussion on how to add the web part to a page and run the gauge designer.

The first step in making a gauge is to connect it to a data source - the Connecting to Data topic will guide you through this process. A data source is generally a table with rows and columns. The values in each column are in most cases of the same type (e.g. numbers, texts, date-times etc.).

Lets assume that you have connected to this data source:

By default the Nevron Gauge for SharePoint is configured to have one gauge area with a radial gauge with a single axis and pointer, so we will now investigate the possibilities to display some metrics of the data source. Generally, there are two strategies:

1. Table View - this approach displays metrics of the data source in general.

For example: to create a gauge, which shows the average sales in general do this:

  • Go to Gauge Page
  • Go to Gauge Areas > Axes > General
    - In the Data > Min field type: =MIN(Fields!sales). Click the Calculator button and select First.
    - In the Data > Max field type: =MAX(Fields!sales). Click the Calculator button and select First.
  • Go to Gauge Areas > Pointers > General
    - In the Data > Value field type: =AVG(Fields!sales). Click the Calculator button and select First.

When you click the Preview page the following gauge will show:

The gauge min value is actually 69, but the axis is by default snapping to the nearest tick to increase readability. You can disable snapping to tick or add marker pointers for the actual min-max.

Q. What have we done?

A. We have used the built-in statistical functions of the pivot engine. The axis-min is the minimum value found in the sales column, the axis-max is maximum value in the sales column and the pointer-value is the average of all values in the sales column.

Q. When to use?

A. When the data is already aggregated (e.g. if you use a SELECT statement with a GROUP BY clause), or when you want to display statistics for the data source in general.

1. Matrix View - this approach displays aggregated metrics of the data source.

For example: to create a gauge, which shows the average sales per company do this:

  • Go to Gauge Page
  • Go to Pivot Page
    - Drag and Drop the company field on the Drop Category Fields Here spot.
  • Go to Gauge Areas > Axes > General
    - In the Data > Min field type: =SUM(Fields!sales). Click the Calculator button and select Min.
    - In the Data > Max field type: =SUM(Fields!sales). Click the Calculator button and select Max.
  • Go to Gauge Areas > Pointers > General
    - In the Data > Value field type: =SUM(Fields!sales). Click the Calculator button and select Average.

When you click the Preview page the following gauge will show:

Q. What have we done?

A. We have first grouped the data by company. For the axis-min, axis-max and pointer-value we have calculated the sums of sales for each company group. Then we have used the gauge formulas to extract the min, max and average values from these lists of sums.

Q. When to use?

A. When the data is not aggregated or when you want to resample the data to extract more complex aggregate values from the data source.

In data analysis this method is known as double data aggregation.

Double data aggregation is a built-in feature of most SQL dialects (for example SQL Server and Oracle support SELECT statements with double aggregation) - so it makes sense to use them, if you connect to such data sources. Be warned however that more complex scenarios (for example: mixing double data aggregation with simple data aggregation, record and group filtering etc.) are impossible to achieve in a single SELECT statement.

For more basic data sources (such as SP Lists, BDC, Excel spreadsheets etc.) this feature of the gauge is truly indispensable.
See Also
The Gauge Designer
The Gauge Data Model


The Gauge Designer
Gauge > The Gauge Designer

Nevron Gauge for SharePoint can be visually edited in any major web browser, though a web based designer. The gauge designer is invoked by the "Run Gauge Designer" toolbar command, which appears above the web part in page editing mode. The gauge designer header consists of two important controls - the main toolbar and the main tab strip as shown by the following screenshot:

The editing info bar provides information about the currently edited web part, the current SharePoint user and the location of the edited web part in SharePoint.

The main toolbar provides access to the main commands related to the webpart that you edit - see The Main Toolbar for more info.

The main tabstrip provides access to different web part settings - following is a brief overview of its pages:

  • Data Source Page - lets you connect the gauge to a data source.
  • Gauge Page - exposes properties of the gauge areas, legends, titles etc.
  • Pivot Page - provides a visual interface to the chart pivot.
  • Code_Page - provides a visual interface for custom code injection.
  • Rendering Page - exposes properties related to chart rendering.
  • Preview Page - lets you see a WYSIWYG preview of the current chart configuration.
The Main Toolbar

The main toolbar has the following commands:

  • OK - saves any changes in the edited web part and returns you to the edited page (leaves the designer).
  • Cancel - discards any changes to the web part and returns you to the edited page (leaves the designer).
  • Apply - saves any changes in the edited web part and lets you continue the editing (does not leave the designer).
  • Reset - lets you reset the web part to a blank (default) one. The blank web part is not connected to any data source and is the web part with which you start by default.
  • Save - saves the current state of the web part to an external file. You can later load this state file in any other web part.
  • Load - loads a previously saved state file.
  • View Web Parts Config - lets you inspect the global settings under which the webpart operates. See the The WebParts Config File for more info.
  • Help - opens the web help of the Nevron SharePoint Vision product.
No changes are applied to the edited web part until you click the OK or Apply buttons.
Data Source Page

The Data Source page lets you connect the gauge to a tabular data source. Currently you can bind the gauge to the following types of data sources:

  • Database
  • SharePoint List
  • SharePoint Site Query
  • Excel Services
  • Business Data Catalog
  • Web Part Table

See the Connecting to Data topic for a complete discussion.

The gauge must be connected to a data source prior to editing the rest of its settings. That is why for a blank web part the Data Source page is displayed first. Once specified, it is not recommended to change your data source, since expressions that you write may reference field values from the data source.
Gauge Page

Nevron Gauge for SharePoint supports multiple gauge areas and titles. A gauge type is associated to each gauge area. Gauge areas and titles are edited from the Gauge Areas and Titles sub-tabs of the Gauge page. See the Gauge Areas and Titles topics for a full description of the settings per each of these elements.

The Layout and Appearance sub-tabs of the Gauge Designer tab control general layout and appearance settings, which are not associated with a particular gauge area or title. See Understanding the Gauge Layout and Customizing the Gauge Appearance for a complete discussion.

For web part that is already connected to a data source the Gauge page is displayed by default.
Code Page
Nevron Gauge for SharePoint allows for users with development experience in C# or VB.NET to inject custom code, which is executed at runtime. The code injection is dynamic meaning that no deployment of assemblies is needed for the injected code to run. See Code Injection for more information.
Pivot Page

Nevron Gauge for SharePoint is built on top of the Nevron Pivot Engine. The Pivot page lets you define the gauge categories and filters as well as edit the category grouping, sorting and filtering rules. Creating a new category is performed by dragging and dropping data set fields in the respective drop spot.

See the The Gauge Data Model for a complete discussion of the gauge pivot.

Rendering Page
The Rendering page lets you tune the image rendering options of the gauge. See the Rendering Options for more information.
Preview Page
The Preview page lets you see a WYSIWYG preview of the webpart as it will appear at runtime. The preview is generated with the processed gauge pivot and uses the current data source state.
Browser Compatibility

The Designer is compatible with all modern web browsers (Chrome, FireFox, Opera, IE 11/10/9/8/7 etc.). Browser compatibility is ensured by the JQuery JavaScript library and a common CSS layer developed by Nevron.


Gauge Areas
Gauge > Gauge Panels > Gauge Areas

Nevron Gauge for SharePoint supports multiple gauge areas. Gauge areas are added, removed and edited by the Gauge Areas Tab of the Gauge Major Tab (Gauge > Gauge Areas). Nevron Gauge for SharePoint must have at least one gauge area, which is created by default. The default gauge area is configured to be a radial gauge with one axis and one pointer.

Each gauge area has a gauge type, axes, pointers, ranges, layout and appearance associated with it. The gauge area editor will automatically hide the content of the axes, pointers and ranges tabs in case the currently selected gauge type does not support them.

The following table summarizes the available gauge types and their relationship with the axes, pointers and ranges:

Gauge Type | Support for Axes, Ranges and Pointers
Radial Gauge | Yes
Linear Gauge | Yes
Numeric Display | No
State Indicator | No

Gauge areas with radial or linear type support an unlimited number of gauge axes. Gauge axes are visually edited from the Axes tab. Each range or pointer is scaled (displayed) on exactly one gauge axis. See the Axes topic for a complete discussion of the settings.

Pointers are used to visually highlight a certain value on a gauge axis. Radial gauge pointers can be displayed as needles or markers. Linear gauge pointers are always displayed as markers. See the Pointers topic for a complete discussion of the settings.

Ranges are used to visually highlight a certain range of values on a gauge axis. See Ranges for a complete discussion of the settings.


Radial Gauge
Gauge > Gauge Panels > Gauge Types > Radial Gauge

A radial gauge displays axes, pointers and ranges in a circular (polar) fashion. Following is a description of the radial gauge settings:

Sub Type - specifies a predefined radial gauge. The following table summarizes the relationship between the subtype and the begin angle, sweep angle and border shape of the gauge:

Subtype | Begin Angle | Sweep Angle | Border Shape
Radial | 100 | 340 | Circle
QuarterNorthEast | 270 | 90 | RoundedOutline
QuarterNorthWest | 180 | 90 | RoundedOutline
QuarterSouthWest | 90 | 90 | RoundedOutline
QuarterSouthEast | 0 | 90 | RoundedOutline
HalfNorth | 180 | 180 | RoundedOutline
HalfSouth | 180 | -180 | RoundedOutline
HalfWest | 90 | 180 | RoundedOutline
HalfEast | 90 | -180 | RoundedOutline
Custom | User Specified | User Specified | User Specified

Begin Angle - defines the begin angle of the radial gauge (only visible when Sub Type is Custom)

Sweep Angle - defines the sweep angle of the radial gauge (only visible when Sub Type is Custom)

Border Shape - defines the radial gauge border shape (only visible when Sub Type is Custom)

Inner Radius - specifies a distance from the radial gauge center point from which gridlines and stripes are drawn towards the circle rim. When using axis docking to the bottom axis zone the inner radius specifies the distance from the gauge center point at which radial docked axes start.

Cap - the properties contained in this group define the appearance of the radial gauge cap

Width - controls the width of the cap

Height - controls the height of the cap

Fill Style - controls the cap filling

Stroke Style - controls the cap outline

Shadow Style - controls the cap shadow


Linear Gauge
Gauge > Gauge Panels > Gauge Types > Linear Gauge

A linear gauge displays axes, pointers and ranges in the horizontal or vertical direction. Following is a description of the linear gauge settings:

Sub Type - controls the orientation of the gauge - possible values are Horizontal and Vertical.


Numeric Display
Gauge > Gauge Panels > Gauge Types > Numeric Display

Numeric displays are used to visualize a floating point value in Light-Emitting Diode (LED) fashion. Following is a description of its settings:

General

Data Group

Value - defines the displayed value. Specified by an expression/gauge formula editor (see Gauge Formulas).

Use Automatic Size - controls whether the numeric display will use it's automatic size based on the cell count and cell size, or use the size provided by the control layout.

Sub Type - Specifies the style of the numeric display. Possible values are: Seven Segment Normal, Seven Segment Rounded, Seven Segment Rectangular, Fourteen Segment Normal, Fourteen Segment Rectangular, Fourteen Segment Inset, Matrix Rectangle and Matrix Circle.

Sign Group

Sign Mode - controls when the sign must appear. Possible values are:

  • Never - the numeric display does not show sign information
  • Always - the numeric display shows sign information for both positive and negative numbers.
  • Negative Only - the numeric display shows sign information for negative numbers only.

When sign mode is set to Always or Negative Only you also have the option to specify whether the sign, when visualized will be attached to the number or shown in the left most cell with the Attach Sign To Number check box. When the sign is not attached to the number you can also optionally specify whether the non used numeric cells will be filled with zeroes or not using the Show Leading Zeros check box.

Cell Count Group

Allows you to control the number of cells contained in the numeric display. When the Auto Cell Count is checked the numeric display will automatically calculate the number of required cells. When unchecked you can manually specify the number of cells through the Cell Count numeric up down.

Whole Part

From this tab page you can control the appearance of cells that display whole part numeric information.

Cell Width - controls the width of the numeric display cells.

Cell Height - controls the height of the numeric display cells.

Segment Width - controls the width of segments within a display cell. Note that this property does not affect the cells if you are using Matrix Circle or Matrix Rectangle numeric display subtype.

Segment Gap - controls the gap between segments within a display cell.

Lit Fill Style - controls the filling of lit cell segments.

Dim Fill Style - controls the filling of dim cell segments.

Decimal Part

From this tab page you can control the appearance of the cells that display the decimal portion of the numeric display value.

Show Decimal Separator - whether the numeric display must show a dot or rectangle (depending on the sub subtype) that delimits the whole and decimal parts of the displayed value.

Enable Decimal Formatting - whether the numeric display must apply different settings for the cells that display the decimal part of the displayed value. When checked you also have the following options:

Decimal Cell Width - Controls the width of the decimal numeric display cells.

Decimal Cell Height - Controls the height of the decimal numeric display cells.

Decimal Segment Width - Controls the width of segments within a decimal display cell. Note that this property does not affect the cells if you are using Matrix Circle or Matrix Rectangle numeric display subtype.

Decimal Segment Gap - Controls the gap between segments within a decimal display cell.

Decimal Lit Fill Style - Controls the filling of lit cell segments for decimal display cells.

Decimal Dim Fill Style - Controls the filling of dim cell segments for decimal display cells.


State Indicator
Gauge > Gauge Panels > Gauge Types > State Indicator

State indicators are used to represent a value as a visual state. For example a common use for state indicators is found in car dashboards where usually a red led indicator is lit when the car will soon run out of fuel.

Each state indicator has a value (controlled through the data section) and a variable number of states. Each state indicator state has a range and style settings. When the value of the state indicator changes it will go trough the available states and display the active ones. A state is considered active when its range contains the state indicator value.

The following settings relate to state indicators:

General

Data Group

Value - defines the state indicator current value. Specified by an expression/gauge formula editor (see Gauge Formulas).

Use Automatic Size - controls whether the indicator will use it's automatic size based on the shape and text dimensions, or use the size provided by the control layout.

States Group - the states group mode controls how the state indicator will show active state.

Active State Mode - controls how active states are visualized. The following table lists the available options:

  • All Active - all Active states are visualized.
  • Last Active - only the last active state is visualized.
  • First Active - only the first active state is visualized.

When the active state mode is set to All Active you also have the option to specify whether the active states (if more than one) will be laid out horizontally or vertically. This is done trough the Orientation setting.

Orientation - controls the layout direction when the state indicator shows more than one state. Possible values are Horizontal and Vertical.

Cell Gap - controls the gap between active states in the horizontal or vertical direction depending on Orientation.

Default State

The default state of the indicator is visualized when there no active states. This can happen in two cases - when there is no state in the state indicator states collection or when none of the states has a range that contains the indicator value.

The settings of the default state are the same as any other state, except there is no range - see States for more information.


Axes
Gauge > Gauge Panels > Axes > Axes

Radial and Linear gauge types can have an unlimited number of axes where the ranges and pointers scale on. The settings related to axes are contained in the Gauge > Gauge Areas > Axes tab, which is visible when the currently selected gauge type is set to Radial or Linear.

You can add and remove gauge axes from the list box on the left side of the Gauge Axes tab.

The General tab page of the axes tab contains properties related to the currently selected gauge axis. Following is a description of the settings contained in this page:

Data Group - defines the axis min and max

Min - defines the axis min value. Specified by an expression/gauge formula editor (see Gauge Formulas).

Max - defines the axis max value. Specified by an expression/gauge formula editor (see Gauge Formulas).

Position Group - contains settings related to the gauge position.

Orientation - controls the axis orientation. The axis orientation defines whether the labels appear on the left or right side of the scale ruler when looking at it from the ruler begin point.

Position - controls the position of the axis. Possible settings are:

  • Auto - the position of the axis is automatically determined by the control. For radial gauges the axis will be docked to the outer gauge rim, whereas for linear gauges it is positioned at the center of the linear gauge.
  • Dock Top - the axis is docked to the top side of the of the gauge (outer rim in the case of radial gauge).
  • Dock Bottom - the axis is docked to the bottom side of the gauge (inner rim in the case of radial gauge)
  • Model - the axis position is specified in percentages of the gauge width/height in the case of a vertical/horizontal linear gauge or percentage of the radius when the gauge is radial.

Create New Level - allows you to specify whether the axis when docked to the top or bottom of the gauge will occupy the same space as axes before it or reserve new space. This setting has effect only when the axis is docked.

Model Percent - controls the position of the axis in percentages of the gauge model space.

Begin Percent - controls the where the axis starts in percentages of the gauge model space.

End Percent - controls the where the axis ends in percentages of the gauge model space.


Scale
Gauge > Gauge Panels > Axes > Scale

The gauge scale tab (Gauge Areas > Axes > Scale) allows you to control various settings related to the way the scale is decorated. The following settings are available:

Inverted - whether or not the scale is inverted.

Show Labels - controls the visibility of scale labels.

Label Text Style - controls the appearance of scale labels.

Label Format - defines the formatting used for scale labels. If you do not specify a format string the control will automatically select formatting based on the chart type and data displayed on the scale.

Label Angle - defines the angle of scale labels. By default the angle is set to automatic mode. For more information check out the Scale Label Angle topic.

Transform - defines the transform of the scale. You can switch the transform to logarithmic if you have data that is presented better in logarithmic mode - for example data with large differences between the values of the pointers, or data which is logarithmic by nature (such as dB). If you switch the transform to logarithmic mode you can also modify the the logarithm base.

Step Mode - defines how the scale will choose a step to place the major ticks and labels on the scale. You can choose from three modes:

  • Min Distance - in this mode the scale will automatically calculate the step depending on the value of Min Distance (specified in points) and will not allow ticks to be closer than the specified distance. In this mode the number of scale ticks will increase as the scale is bigger on the screen or printer and decrease when the scale is smaller respectively. This is the default setting.
  • Max Count - in this mode the scale will automatically generate steps depending on the value of Max Count. In this mode the number of ticks will be restricted to the maximum allowed number of ticks. The scale will automatically select a "nice" step given the range of the data and the number of ticks will be constant when the scale is resized.
  • Custom Step - in this mode you can explicitly specify a custom step. The step is specified with the Custom Step spin.

Minor Tick Count - defines the number of minor ticks that will appear between two major ticks. The default value for this setting is 0, meaning that the scale does not show minor ticks.


Ruler
Gauge > Gauge Panels > Axes > Ruler

The axis ruler is a shape that runs from the start of the scale to its end and has controllable shape and appearance. The settings relevant to the gauge axis ruler are contained in the Gauge Areas > Axes >Ruler tab.

Shape - controls the shape of the ruler. Possible settings are Bar and Line.

Offset - controls the offset of the ruler on the scale

Height - controls the height of the ruler. Note that this setting is not regarded when the shape is set to Line.


Range
Gauge > Gauge Panels > Axes > Range

The axis range related settings allow you to adjust the range displayed by the axis. Following is a description of the axis range related settings:

Range Inflate Mode - the range inflate mode allows you to additionally inflate the range of the axis (defined by the Min and Max settings) in order to improve the visual appearance of the gauge on the screen. You can choose from the following options:

  • Auto - in this mode the control will automatically inflate the range to the nearest major begin and end ticks so that the scale always starts and ends on an exact tick.
  • Tick - in this mode the control will round the range to the nearest major begin and end ticks. You can also select whether only the begin or end value of the axis range should be rounded to the nearest tick by checking the Inflate Range Begin and Inflate Range End check boxes.
  • Logical - in this mode you can provide a custom inflate in logical units (e.g. the units used for the pointers and ranges being displayed on the axis). This is done by specifying a value in the Logical Inflate Begin and Logical Inflate End settings.
  • Absolute - in this mode you can provide a custom inflate in points. The axis will inflate the range so that the space between the automatically calculate min and max values and the actual begin and end of the axis is equal to the amount you specified using the Absolute Inflate Begin and Absolute Inflate End settings.


Ticks
Gauge > Gauge Panels > Axes > Ticks

Ticks are represented as shapes and usually pin point the values denoted by axis labels. There are two types of ticks:

  • Major Ticks - these ticks appear at values on the scale depending on the current step selected by the scale for decoration.
  • Minor Ticks - these ticks appear between major ticks on the scale.

Their appearance is controlled from the Gauge Area > Axes > Major Ticks and Gauge Area > Axes > Minor Ticks tabs.

Major Ticks

The major ticks tab contains the following settings:

Shape - controls the shape of the major ticks. Possible settings are Line, Bar, Triangle, Inverted Triangle, Ellipse, Cross, Diagonal Cross, Line Cross, Line Diagonal Cross and Star.

Offset - controls the offset of the major ticks in the scale.

Width - controls the width of the major ticks. Note that when the currently selected shape is line the width is not regarded.

Height - controls the height of the major ticks.

Fill Style - controls the filling of the major ticks.

Stroke Style - controls the stroke of the major ticks.

Minor Ticks

The minor ticks tab contains the same settings as the major ticks. The number of minor ticks between two major ticks is controlled from the Gauge Area > Axes > Scale > Minor Tick Count setting.


Stripes
Gauge > Gauge Panels > Axes > Stripes

Stripes allow you to highlight a repeating range on the gauge background as show by the following image:

The following options are available:

Show - controls whether stripes are visible or not.

Mode - axis stripes can operate in three modes - Interlaced, Numeric and DateTime. You select the mode of the stripes from the Mode combo box. The following table describes the possible options:

  • Interlaced - stripes will be synchronized with the values of the major ticks of the axis. You can control the appearance pattern through the Length and Interval settings.
  • Numeric - stripes will appeared at a custom specified numeric step. You control the step at which stripes appear from the Numeric Step up down.
  • DateTime - stripes will appear at a custom specified date/time step. You control the step at which stripes appear from the Date Time Step editor allowing you select a date time unit and unit number.

Length - controls how many steps the stripes will cover.

Interval - controls how many steps the stripes will miss.

Fill Style - controls the filling of the stripes.


Gridlines
Gauge > Gauge Panels > Axes > Gridlines

Gridlines are similar to stripes and appear on the gauge background when enabled, as shown by the following image:

The settings relevant to gauge axis gridlines are available trough the Gauge Areas > Axes > Gridlines tab. There are two types of gridlines - major and minor. The first ones are synchronized with the major ticks on the axis and the latter are synchronized with the minor ticks (if enabled). The following settings are available for axis gridlines:

Show Major - controls the visibility of major grid lines.

Major Stroke Style - controls the stroke of major grid lines.

Show Minor - controls the visibility of minor grid lines.

Minor Stroke Style - controls the stroke of minor grid lines.


Sections
Gauge > Gauge Panels > Axes > Sections

Sections help you highlight a range on the scale and the gauge background. They also allow you to change the appearance of scale decorations such as ticks, labels and gridlines, if they fall in the range highlighted by the section. You can add an arbitrary number of sections to the axis by pressing the "Add" button, below the sections list box. The following settings are available per axis section:

Show - controls the visibility of the section.

Begin - controls the begin value of the section. You can enter a numeric/date time value, which will be parsed according to the current culture settings.

End - controls the end value of the section. You can enter a numeric/date time value, which will be parsed according to the current culture settings.

You must specify both begin and end value in order for the section to be valid, otherwise it is ignored.

Fill Style - invokes the fill style editor allowing you to modify the filling of the stripe.

Label Text Style - invokes the text style editor allowing you to modify the appearance of axis labels if they fall inside the specified range.

Major Gridline Stroke Style - invokes the stroke style editor allowing you to modify the appearance of major gridlines if they fall inside the specified range.

Minor Gridline Stroke Style - invokes the stroke style editor allowing you to modify the appearance of minor gridlines if they fall inside the specified range.

Major Tick Stroke Style - invokes the stroke style editor allowing you to modify the appearance of major ticks if they fall inside the specified range.

Minor Tick Stroke Style- invokes the stroke style editor allowing you to modify the appearance of minor ticks if they fall inside the specified range.


States
Gauge > Gauge Panels > States

When the currently selected gauge type is state indicator you can also add or remove states to the gauge state indicator states collection (Gauge Areas\States).

Each state has the following settings:

General

Range Group - the range group box contains the begin/end edit controls that allow you to specify the active range of the state. When the value of the state indicator (specified from the Gauge Area\Gauge Type\State Indicator\Data) enter the specified range the state is considered active and considered for visualization.

Begin - controls the begin value of the state range

End - controls the end value of the state range

Layout Group - the layout group box contains several settings related to the way the text and shape representation of the state are layout. The available settings are:

Orientation - controls the orientation of the state layout. Possible values are Horizontal and Vertical.

Gap - controls the gap between the text and the shape.

Horz Alignment - controls the horizontal alignment between the text and the shape. Possible values are Center, Left, and Right.

Vert Alignment - controls the vertical alignment between the text and the shape. Possible values are Center, Top and Bottom.

Shape

The shape tab contains settings related to the shape appearance of the state. It provides the following settings:

Shape Size Mode - controls how the shape of the state is resized. Possible values are Custom and Same As Text. When the mode is set to custom the shape will use custom provided Width and Height. When the shape size mode is set to Same as Text the shape size will be synchronized with the size of the text in the layout direction of the state (specified from the general tab).

Shape Width - controls the shape width.

Shape Height - controls the shape height.

Shape - control the shape shape. Possible values are - Rectangle, Triangle, Trapezoid, Ellipse, Cross, LineCross, Rounded Rectangle.

Shape Fill Style - controls the filling of the shape.

Shape Stroke Style - controls the stroke of the shape.

Text

The text tab controls the text representation of the state. It contains the following settings:

Text - controls the text of the shape.

Text Style - controls the text style.


Ranges
Gauge > Gauge Panels > Ranges

Gauge ranges are used to visually highlight certain ranges of data on a gauge axis. Gauge ranges are available only for radial and linear gauge types.

A gauge area can have an unlimited number of gauge ranges, each of which is scaled on exactly one gauge axis. Ranges are visually added, removed and edited from the Ranges tab (Gauge > Gauge Areas > Ranges tab). Following is a description of the gauge range settings:

General

Data Group

Begin - defines the range begin value. Specified by an expression/gauge formula editor (see Gauge Formulas).

End - defines the range end value. Specified by an expression/gauge formula editor (see Gauge Formulas).

Axis - specifies the axis on which the range is scaled. The range begin and end values are clamped to this axis min and max.

Appearance Group

Paint Order - controls the order in which the range is visualized relative to the scales contained in the gauge or child gauges (if any). Possible values are:

  • Auto - the control will automatically determine paint order. For ranges it is Before Scale.
  • Before Scale - the range is visualized before the scales in the gauge, thereby allowing the scale labels, ticks and ruler to obscure it.
  • After Scale - the range is visualized after the scales in the gauge, thereby obscuring scale labels, ticks and ruler.
  • After Child Gauges - the range is visualized after the the child gauges.

Begin Width - controls the width the range at the range begin.

End Width - controls the width the range at the range end.

Offset From Scale - controls the offset of the range from the scale it is attached to.

Offset Origin Mode - controls how the offset from scale is calculated. Possible values are:

  • Scale Begin - Offset is applied from the begin of the scale in gauge model space.
  • Scale Middle - Offset is applied from the middle of the scale in gauge model space.
  • Scale End - Offset is applied from the end of the scale in gauge model space.

Fill Style - specifies the range filling.

Stroke Style - specifies the range outline.

Shadow Style - specifies the range shadow.

Action
Lets you choose the type of action associated with the range. See Actions and Drill Down reports for more info.


Pointers
Gauge > Gauge Panels > Pointers

Gauge pointers are used to visually highlight certain data values on a gauge axis. Gauge pointers are available only for radial and linear gauge types.

For a radial gauge a pointer can be displayed as needle or marker. For a linear gauge a pointer is always displayed as marker. A gauge area can have an unlimited number of gauge pointers, each of which is scaled on exactly one gauge axis.

Pointers are visually added, removed and edited from the Pointers tab (Gauge > Gauge Areas > Pointers tab). Following is a description of the gauge pointer settings:

General

Value - defines the pointer value. Specified by an expression/gauge formula editor (see Gauge Formulas).

Axis - specifies the axis on which the pointer is scaled. The pointer value is clamped to this axis [min;max] range.

Appearance

Paint Order - controls the order in which the pointer is visualized relative to the scales contained in the gauge or child gauges (if any). Possible values are:

  • Auto - the web part will automatically determine the paint order. When the type of the pointer is Marker it will be painted after the scales. If the type of the pointer is Needle it will be painted after the scale and child gauges. This allow needles to overlap the content of child gauges.
  • Before Scale - the pointer is visualized before the scales in the gauge, thereby allowing the scale labels, ticks and ruler to obscure it.
  • After Scale - the pointer is visualized after the scales in the gauge, thereby obscuring scale labels, ticks and ruler.
  • After Child Gauges - in this mode the range is visualized after the the child gauges.

Type - lets you choose between needle and marker pointer types. Only visible for radial gauge types.

Needle Shape - controls the shape of the needle, in the cause of radial gauges for which the Type is set to Needle.

Marker Shape - controls the shape of the marker, in the cause of linear gauges or radial gauges for which the Type is set to Marker.

Width - controls the width of the needle/marker.

Height - controls the height of a marker (only applicable when the pointer is displayed as marker).

Offset From Center - controls the offset from the gauge center, when the pointer type is set to Needle.

Offset From Scale - controls the offset of the pointer from the scale it is attached to.

Offset Origin Mode - controls how the offset from scale is calculated. Possible values are:

  • Scale Begin - offset is applied from the begin of the scale in gauge model space.
  • Scale Middle - offset is applied from the middle of the scale in gauge model space.
  • Scale End - offset is applied from the end of the scale in gauge model space.

Fill Style - specifies the pointer filling.

Stroke Style - specifies the pointer outline.

Shadow Style - specifies the pointer shadow.

Action
Lets you choose the type of action associated with the pointer. See Actions and Drill Down reports for more info.


Titles
Gauge > Gauge Panels > Titles

Nevron Gauge for SharePoint supports multiple titles. Titles are added, removed and edited by the Titles Tab of the Gauge Major Tab (Gauge > Titles). Following is a description of the properties of each title.

General

Text - specifies the text displayed by the title. See the XML Formatted Texts topic for more information on how to create texts with rich formatting.

Orientation - controls the orientation of the title text. Possible values are:

  • Horizontal - the text is displayed with horizontal orientation.
  • Vertical Upward - the text is displayed with vertical orientation and flows bottom to top.
  • Vertical Downward - the text is displayed with vertical orientation and flows top to bottom.
  • Automatic - automatically chooses one of the above modes, based on the title docking position (Horizontal - for bottom and top positions, Vertical Upward for left and Vertical Downward for right). In case the title is manually positioned this mode resolves to Horizontal.

Fit Mode - controls how the text of the label will fit the bounds provided by the control layout. Possible values are:

  • Wrap - the label content is wrapped inside the bounds, thus not allowing it to exceed the available width. The bounds height may increase. No text information is lost and the text is displayed with the specified font size. This is the default mode.
  • Clip - the label content is clipped inside the bounds. In this mode the label size will not change however text information can be lost at small sizes.
  • Fit - the label content is fitted inside the bounds. No text information is lost, however the text size may become small and unreadable at small sizes.
  • Stretch - the label content is stretched to fit the bounds.

Text Alignment Mode - controls how text lines in a multi line text are aligned. Possible values are:

  • Auto - the alignment is automatically chosen by the control depending on the setting of Dock Position (specified in the Layout page). This is the default setting.
  • Left - text lines are left aligned.
  • Center - text lines are center aligned.
  • Right - text lines are right aligned.

Text Style - controls the appearance of the title text.

Layout
The properties in this page control the layout of the title. For more information see The Gauge Layout.
Action
Lets you choose the type of action associated with the title. See Actions and Drill Down reports for more info.


Border
Gauge > Gauge Panels > Border

Each gauge area has can have an applied border. The settings relevant to the border appearance are contained in the Border tab page -Gauge > Gauge Areas > Border tab. Following is a description of the gauge area border settings:

Shape

This group box contains several settings controlling the shape of the border applied on the gauge area:

Shape - controls the shape of the border. Possible values are:

  • None - the border is not visualized.
  • Auto - the border shape is automatically selected depending on the current gauge type and settings.
  • Rectangle - the border has rectangular shape.
  • Rounded Rectangle - the border has rounded rectangular shape.
  • Circle - the border has circular shape in case the gauge type is a radial gauge or rectangular shape for if the gauge type is not radial.
  • Cut Circle - the border has a cut circle shape in case the gauge type is a radial gauge or rectangular shape if the gauge type is not radial.
  • Rounded Outline - the border has a rounded circular shape in case the gauge type is a radial gauge or rounded rectangular shape if the gauge type is not radial.

Edge Rounding - controls the rounding of the edges in case the border shape is Rounded Rectangle, Cut Circle or Rounded Outline.

Center Rounding - controls the rounding around the radial gauge cap when the currently selected gauge type is radial and the border shape is Cut Circle or Rounded Outline.

Bevel Width

This group box contains three numeric up downs allowing you to control the bevel widths of the border:

Inner Bevel Width - controls the inner bevel width.

Middle Bevel Width - controls the middle bevel width.

Outer Bevel Width - controls the outer bevel width.

Appearance

Inner Bevel Fill Style - controls the filling of the inner bevel.

Middle Bevel Fill Style - controls the filling of the middle bevel.

Outer Bevel Fill Style - controls the filling of the outer bevel.


Gauge Model Space
Gauge > Gauge Panels > Gauge Model Space

Linear and Radial gauge types use a common 2D Cartesian model space, which allows you to switch between them without loosing preferences for pointer offsets, axis docking, sizes etc. This model space is transformed to Cartesian or Polar view space (in the case of radial gauges). In polar space the x value results in an angle which is proportional to the sweep angle, whereas the Y value in model space translates to distance from the scale towards the circle center. The bigger the Y value the closer the coordinate to the center point. The following picture shows how a marker offset is preserved when switching from a radial to linear gauge type:

Throughout the documentation we will refer to the model space in order to highlight that a specific offset or distance is "transferable" between linear and radial gauges and vice versa.


The Gauge Layout
Gauge > Gauge Panels > The Gauge Layout

Nevron Gauge for SharePoint supports multiple gauge areas and titles. In order to take full advantage of this feature you must understand how the gauge layout system works.

Panels and the Box Model

Nevron Gauge for SharePoint treats gauge areas and titles as panels. Panels use a box model, which is summarized by the following drawing:

Each panel has margins and padding. The margins define a white space around each panel. The padding defines the space with which the panel content is padded (inflated). The margins and padding settings can be inherited from the gauge default margins and padding settings, if the respective Automatic property is set to true.

By default the Automatic property for the margins and padding of all panels is set to true and the actual margins and padding are obtained from the gauge control default margins and padding. You can modify the default margins and padding from the Gauge > Layout tab. The margins and padding of each panel are accessible from the Layout tab for that panel.

In general the layout algorithm described below uses a combination of docking and absolute positioning. When a panel is docked both it margins and padding are taken into account to display the content at its best size. When a panel is manually positioned the margins are ignored, since they are not needed (margins define a white space, which only automatic layouts should consider).

The Layout Algorithm

The following image illustrates the layout areas in the Nevron Gauge for SharePoint product:

The layout algorithm performs the following steps:

  1. Layout the Outer Titles

    Outer titles are such titles for which the Position property is set to Dock To Gauge.

    The Dock Position property in this case determines the side at which the title must be docked in the outer titles area and the alignment of the title in this side area. For example:

    Dock Position = Top Center means dock the title to the top side and align it in the center.

    Dock Position = Right Top means dock the title to the right side and align it to the top.

  2. Position the Gauge Areas Host Panel

    The gauge areas host panel is an invisible panel, which fills the space which remains after step 1 has been performed.

  3. Layout the Gauge Area Host Panels

    The gauge areas host panels are invisible panels, which are created for each gauge area. These panels are split into two sets - the ones that use automatic positioning and the ones that use manual positioning.

    A gauge area uses automatic positioning, if its Automatic position property is set to true (go to Gauge Area - Layout tab and set to true the Automatic property in the Position group). Automatically positioned gauge areas are placed in the cells of an imaginary grid, the sizing of which is determined by the Gauge - Layout - Gauge Areas Layout property group.

    A gauge area uses manual positioning, if its Automatic position property is set to false. In this case you can choose from one of the following manual position options:

    Manual Position Mode | Description
    Root Box | In this mode the gauge position is determined in percentages of the Gauge Areas Host Panel.
    Parent Box | In this mode the gauge position is determined in percentages of the Gauge Area specified by the Parent Area combo.
    Parent Radial | In this mode the gauge center is determined in polar coordinates (Offset, Angle) from the Gauge Area specified by the Parent Area combo. The size of the gauge is specified by the Width and Height settings.

    The Z order of the gauge areas is always determined by the order in which they appear in the Gauge Areas Collection.

  4. Layout the Inner Titles (for each gauge area host panel)

    Inner titles are such titles for which the Position property is set to Dock To Gauge Area. You must pick a gauge area to which to dock from the Gauge Area property. The Dock Position property in this case determines the side at which the title must be docked in the inner titles area of the gauge area host panel and the alignment of the title in this side area.

  5. Position the gauge areas (for each gauge area host panel)/

    The gauge area fills the space, which remains after steps 3 and 4 have been performed.

  6. Layout the Plot Titles (for each gauge area)

    Plot titles are such titles for which the Position property is set to Dock To Gauge Plot Area. You must pick a gauge area to which to dock from the Gauge Area property. The Dock Position property in this case determines the side at which the title must be docked in the gauge plot area and the alignment of the title in this side area.

  7. Layout the Floating Titles

    Floating titles are such titles for which the Position property is set to Manual. A floating title is positioned relatively to a pin point. The pin point coordinates are specified in percents of the area, which remained after the control border was applied (by the Pin X Percent and Pin Y Percent properties). The title is aligned to the pin point via the Pin Alignment property. For example:

    Pin X Percent = 0, Pin Y Percent = 0, Pin Alignment = Bottom Right - means position the pin point at the 0, 0 percents and align the title so that it is located at the bottom right side of the pin point.


The Gauge Data Model
Gauge > Data Model > The Gauge Data Model

Nevron Gauge for SharePoint uses the Nevron Pivot Engine. In order to better understand how to work with the gauge and bind it to data you should have a general understanding of the Nevron Pivot Engine - see the Pivot Engine - Getting Started topic.

Each gauge webpart has a design model and runtime state. The design model of the gauge defines how it merges with the actual data, which is provided at runtime. The runtime state represents the gauge when the data has been processed and merged with the design model of the gauge.

Because not every Matrix model is suitable for a gauge, Nevron Gauge for SharePoint uses a simplified model, which is better suited for this purpose. Figure 1 illustrates the design model of the gauge:

Figure 1 - The Gauge Data Model

There are three types of data groupings - root category, categories and gauge parts.

Collectively, the root category and the category data groupings define how data cells expand in the column direction. Category data groupings are dynamic - they represent a grouping of the data based on some expression conditions (typically a field value). At runtime, each category data grouping expands to one or more group members.

The root category is static - at runtime there is again only one root category. The root category is always present and cannot be edited. That is why the category data groupings are optional - the gauge always has one leaf column data grouping serving as a column placeholder for the gauge part data cells (see below).

The column hierarchy is simple and represents a parent-child chain. Each category data grouping has exactly one parent, except the root category, which has no parent. Each category has exactly one child category, except the last category, which has no children. For example: Category 1 is a parent of Category 2 and Category 2 is the one and only child of Category 1. Moving categories up and down from the visual interface in fact makes changes in this parent-child chain (for example: moving Category 2 up makes Category 2 the child of the root category. Category 1 becomes the only child of Category 2 and if Category 2 had a child it becomes a child of Category 1). The root category always stays on top.

Gauge part data groupings are static - at runtime exactly one data grouping member is created for each gauge part. A gauge part is a row placeholder for a data cell. Gauge parts are automatically created/destroyed for gauge axes, ranges, pointers and numeric display and state indicator values. The data cell associated with a gauge part contains the needed properties for the respective gauge element (for example: a gauge part data cell created for a gauge axis will have min and max properties, a gauge part data cell created for a gauge pointer will have a value property etc.).

At runtime, the data cell for a gauge part will span all leaf category members. This generates a set (list) of values for each data cell property. The gauge element, owning the gauge part, extracts a single value from this set by using a statistical formula - see Gauge Formulas for more information.

Examples

Too complex? Lets see some examples. Consider this data set:

Company names and data are fictional.

Suppose that you want to create a gauge that displays the average total sales per company (regardless of region). Follow these steps:

1. The gauge has one category data grouping, which groups data by the company field value.
2. In the Gauge Area > Axes Tab - set the Min expression to =SUM(Fields!sales). Ensure that the gauge formula is set to Min.
3. In the Gauge Area > Axes Tab - set the Max expression to =SUM(Fields!sales). Ensure that the gauge formula is set to Max.
4. In the Gauge Area > Pointers Tab - set the Value expression to =SUM(Fields!sales.Value). Ensure that the gauge formula is set to Average.

Data-wise this is equivalent to the following matrix at design time and runtime:

Matrix 1 Design Time:

Matrix 1 Runtime:

The matrix data rows have the same values. The gauge however uses a statistical formula to obtain a single value from each row. The values it gets are:

Axis Min - 355 (Min of (355, 507, 528))
Axis Max - 528 (Max of (355, 507, 528))
Pointer Value - 463.33 (Average of (355, 507, 528))

The role of the category groupings is now obvious - they define the way in which you sample the data. If you want to display the average sales per company by region you just need to add one more category data grouping - for the region. Data-wise this is equivalent to the following matrix:

Matrix 2 Design Time:

Matrix 2 Runtime:

At runtime the gauge gets the following values:

Axis Min = 69 (Min of (135, 100, 120, 340, 98, 69, 145, 213, 170))
Axis Max = 340 (Max of (135, 100, 120, 340, 98, 69, 145, 213, 170))
Pointer Value = 154.44 (Average of (135, 100, 120, 340, 98, 69, 145, 213, 170))

When there are no category data groupings, at runtime there is only one data cell per data row (because the root category is always present and is static). In our sample dataset the {company:region} pair is a key (e.g. there is only one record, which corresponds to a {company:region} value). So it makes sence to make the same gauge by using the aggregate functions of the Nevron Pivot Engine. Configure the gauge in this way:

1. Remove all category data groupings
2. In the Gauge Area > Axes Tab - set the Min expression to =MIN(Fields!sales). Ensure that the gauge formula is set to First.
4. In the Gauge Area > Axes Tab - set the Max expression to =MAX(Fields!sales). Ensure that the gauge formula is set to First.
5. In the Pointers Tab - set the Value expression to =AVG(Fields!sales). Ensure that the gauge formula is set to First.

The equivalent data matrix is shown below.

Matrix 3 Design Time:

Matrix 3 Runtime:

In the case when there are no category data groupings, you will typically use the aggregate functions of the Nevron Pivot Engine and set the gauge formula to First.

In the case when there are data groupings, you will typically use the SUM function of the Nevron Pivot Engine and an applicable gauge formula (MIN for axis min, MAX for axis max etc.) .
See Also
Gauge Formulas


Gauge Formulas
Gauge > Data Model > Gauge Formulas

Gauge formulas represent aggregate functions on sets of numeric values. Gauge formulas are applied to gauge properties extracted from gauge part data cells. Currently gauge formulas can be applied to the following gauge element properties:

  • Axis Min
  • Axis Max
  • Pointer Value
  • Range Begin
  • Range End
  • Numeric Display Value

In the visual interface, a gauge formula is always packed with an expression editor:

The expression is stored in the gauge part data cell of the respective gauge element. The expression is evaluated by the Nevron Pivot Engine for each leaf category and produces a list of values. The gauge formula then extracts a single value from this list. See The Gauge Data Model for a complete discussion. Following is a description of the currently available gauge formulas:

Formula | Description | Options | Example
Min | Returns the minimal value from the set | None | Min(25, 10, 30) = 10
Max | Returns the maximum value from the set | None | Max(25, 10, 30) = 30
Average | Returns the average value in the set. Computed as SUM/COUNT. | None | Average(25, 10, 30) = 21.66
Sum | Returns the sum of the values in the set. | None | Sum(25, 10, 30) = 65
First | Returns the first value from the set. | None | First(25, 10, 30) = 25
Last | Returns the last value from the set. | None | Last(25, 10, 30) = 30
Count | Returns the count of value in the set. | None | Count(25, 10, 30) = 3
Median Returns a value which splits the set in half. Half of the values are smaller than the median value and half are larger. None Median(25, 10, 30) = 25
Median(25, 10, 20, 30) = 22.5
Percentile Returns a value which splits the set at arbitrary percent. {Percent count} of the values are smaller than this value and the other ones are larger. Percentile50 is equivalent to the Median formula. You can use the percentile to compute quartiles and deciles. 1 quartile is equivalent to Percentile25. 1 decile is equal to Percentile10. Percent

Percent = 25
Percentile(25, 10, 20, 30) = 15

Percent = 75
Percentile(25, 10, 20, 30) = 27.5
Variance

The variance is used to measure the tendency of the values in the set to deviate from the average.

If Entire Population is True, it is computed by this formula:

If Entire Population is False (sample variance), it is computed by this formula:

 Entire Population EntirePopulation = true
Variance(4, 7, 13, 16) = 22.5

EntirePopulation = false
Variance(4, 7, 13, 16) = 30
StdDev

Returns the standard deviation of the values in the set. It is computed as the positive square root of the variance.

 Entire Population EntirePopulation = true
StdDev(4, 7, 13, 16) = 4.74

EntirePopulation = false
StdDev(4, 7, 13, 16) = 5.48

All gauge formulas are simply ignoring empty values. In the rare case when the entire set contains only empty values, as a rule, all gauge formulas return zero.

See Also
The Gauge Data Model


Customizing the Gauge Appearance
Gauge > Customizing the Gauge Appearance

Nevron Gauge for SharePoint is built with appearance customization in mind. The following sections discuss how appearance customization is achieved throughout the component designer interface.

Appearance Style Editors

The web part exposes visual editors for the editing of fill styles, stroke styles, text styles etc. for all gauge elements. Fill styles, strokes styles, text styles etc. are generally called appearance styles, which are edited with appearance editors. The following list summarizes the appearance editors and links to the topics you can read to start working with them quickly:

Fill Style Editor

Stroke Style Editor

Shadow Style Editor

Text Style Editor

Frame Style Editor

Every appearance style editor has an Automatic check box located in its upper left corner. If you check it and press the Ok button of the editor, you instruct Nevron Gauge for SharePoint to determine this appearance style automatically.

All appearance styles are displayed and edited by buttons, which have a preview box in their left side. The preview box displays a checker board with a blue "a" inside, whenever the particular appearance style is automatically determined. By default all appearance styles are automatically determined.

Style Sheets

When an appearance style is in automatic mode its value is determined by the currently applied style sheet. The current style sheet is determined by a two stage process:

  1. The component checks whether the local gauge area style sheet is enabled (the local style sheet for GaugeArea0 is located at: Gauge > Gauge Areas > Gauge Area 0 > Appearance). If so, the component will get definitions for automatic appearance styles from the local, currently selected style sheet.
  2. If the local style sheet is set to automatic, the component will use the global style sheet (located at Gauge > Appearance).

Following is an overview of the style sheet settings:

Palette - allows you to choose the current palette for the style sheet.

Apply To Indicators - whether to apply the style sheet settings to indicators (pointers and ranges).

Apply To Numeric Displays - whether to apply the style sheet settings to numeric displays.

Apply To Borders - whether to apply the style sheet settings to borders.

Apply To Axes - whether to apply the style sheet settings to axis ruler, ticks and labels used in Linear and Radial Gauges.

Text Appearance

Besides appearance styles XML formatted texts play central role in the gauge appearance customization, since they help you display titles, headers, footers etc. in a rich text format with many options. See XML Formatted Texts for more information.


Rendering Options
Gauge > Rendering Options

The gauge rendering options are accessible from the Gauge > Rendering major tab. Following is a description of these options.

Auto Refresh Interval - specifies the amount of time (in milliseconds) at which the web part is automatically refreshed. A value of 0 indicates that the web part is not automatically refreshed.

Use the Auto Refresh feature only when needed - for example for presenting a regularly changing data source (realtime data).
The Auto Refresh feature is expensive to use in general, since each web part refresh will request a new reaggregation of the data.
If you need to provide users with the ability to manually refresh a specific web part (at a button click for example) - you can use the take a look at the NRefreshWebPart JScript function, which is described in the Custom Parameters with Nevron JavaScript API topic.

Width - the width of the gauge in pixels.

Height - the height of the gauge in pixels.

Image Acquisition Mode - specifies the way in which the client browser acquires the web part image. Possible values are:

  • Temp File - a temporary image is created to the Layouts\Nevron\Gauge\Temp folder and the browser acquires the image from this file.
  • Http Handler - a temporary image is created in the respective image stream container and the image is served to the browser via a custom HTTP handler.
  • Embedded - the temporary image is encoded directly in the HTTP response (the default setting). This setting eliminates the need for temporary image store. Unfortunately old browsers such as IE 7.0 and older do not support image embedding and IE 8.0 only supports embedded images of small sizes. For these browsers the web part automatically switches to Http Handler acquisition mode.

Image Format - specifies the format of the image generated by Nevron Gauge for SharePoint at runtime. By default set to PNG - possible values are Bmp, Jpeg, Png and Gif.

Render Image Map - specifies whether Nevron Gauge for SharePoint should render an image map. The web part can generate an image map, which contains information about tooltips, actions etc. The image map should be rendered, if the web part is designed to be interactive. You should consider setting this property to false, if the web part does not need any interactivity features. This will speed up its rendering.

Enable 2D Antialiasing - turns on or off the antialiasing of 2D objects.

Text Rendering Mode - allows you to specify the text rasterization mode. The following settings are available:

  • Aliased - no antialiasing is performed. This setting will produce jagged text edges.
  • Antialiased - the control will perform antialiasing on texts. This setting is recommended when reports will be viewed on both LCD and CRT displays.
  • Clear Type - the control will perform subpixel antialiasing on texts, utilizing RGB color cell order on LCD displays for better quality. This is the default setting.

Use Regional Settings - specifies whether specific regional (culture) settings must be used. When unchecked the webpart will use the server default culture settings. When checked the culture with the specified culture name is used.

Culture Name - a string, which determines the culture with which the gauge is rendered, when Use Regional Settings is checked. The culture controls the formatting of all numbers and dates displayed by Nevron Gauge for SharePoint. If left blank, the gauge will use the default server culture. See the Culture Table for a list of all acceptable culture names.


Map Overview
Map > Map Overview

Nevron Map for SharePoint is an advanced report for all versions Microsoft SharePoint. It is designed to provide report authors with an easy and powerful way to create choropleth maps that are tightly integrated with your data. The component delivers an unmatched set of features related to visual quality, layout, data integration and data analysis.

Major Features

Support for Multiple Layers - unlimited number of map layers are supported. Each map layer can display either a predefined or custom ESRI map.

Support for Multiple Legends - unlimited number of legends are supported. Each map layer can be assigned to a different legend. Legends can be manually positioned or docked to map and map plot area.

Support for Multiple Titles - unlimited number of titles are supported. Titles can be manually positioned or docked to map and map plot area.

Predefined Maps - the web part can display predefined maps of the World, USA, and all USA states.

Custom Maps - the web part can display custom ESRI maps.

Map Projections - support for 22 map projection types.

Map Fill Rules - support for 2 and 3 color gradient filling rules as well as distinct value filling rules.

Map Fill Rules Distribution - support for Equal, Equal Interval and Optimal map values distribution modes.

Map Legend - each map layer can be annotated on a different legend. Legend modes include fill rule ranges and items with template options.

Map Zooming - options to specify the items of the maps to which to zoom. Several zooming modes are provided including Zoom To Bounds, Zoom to Layer, Zoom to Data Bounds Shapes and Zoom to Shapes matching a specific criteria.

Code Embedding - allows you to modify every aspect of the map appearance using C# code.

Unique Features

Speed - this is the fastest map component for SharePoint.

Projections - the only map web part that features 22 projection types.

Code Embedding - the only map web part that allows the execution of custom C# code in runtime.

XML Formatted Texts - this feature is applicable to all elements which display text. It allows you to mix fonts, mix bold, italic underline formatting and many other advanced features like different fill styles, shadows, image filters etc. - all inside a single label, title etc. XML formatted texts use a format similar to HTML, but with many more advanced options.

Blazing Fast Map Designer - Nevron Map for SharePoint features an advanced designer, which is built with jQuery UI. The designer supports all major web browsers and does not require any plugins (like Silverlight or Flash). It does not use postbacks, MS ASP.NET controls or MS AJAX, which ensures that the client-server communication is brought to a minimum. The server-side UI processing is pure HTML and script rendering. The client-side is pure HTML, CSS and jQuery JavaScript.


Map - Getting Started
Map > Map - Getting Started
The purpose of this topic is to provide basic understanding of map terminology and how maps are used in reporting.
Map Elements

Map images are composed of various elements such as map layers, titles, legends etc. Each of these elements is editable from the Nevron Map for SharePoint visual interface. The following image illustrates the most common map elements:

Following is a brief description of the map elements shown on the above picture along with a link to a more detailed topic:

Title - titles are generally used to display static text describing the contents of the map. For more information check out the Titles topic.

Legends - the above picture shows one legend. The legends are automatically populated with items from the map layers.

Layers - each map consists of one or more map layers. In map on the image above has two map layers - one for the states of USA and one for Texas. The layer of USA is filled with a three color gradient filling rule, which is displayed on the map legend. The Texas layer is filled with distinct colors obtained from a palette and is not shown on any legend.

See Also
The Map Data Model
Map Area
Legends
Titles


The Map Designer
Map > The Map Designer

Nevron Map for SharePoint can be visually edited in any major web browser, though a web based designer. The map designer is invoked by the "Run Map Designer" toolbar command, which appears above the web part in page editing mode. The map designer header consists of two important controls - the main toolbar and the main tab strip as shown by the following screenshot:

The editing info bar provides information about the currently edited web part, the current SharePoint user and the location of the edited web part in SharePoint.

The main toolbar provides access to the main commands related to the webpart that you edit - see The Main Toolbar for more info.

The main tabstrip provides access to different web part settings - following is a brief overview of its pages:

  • Data Source Page - lets you connect the map to a data source.
  • Map Page - exposes properties of the map areas, legends, titles etc.
  • Pivot Page - provides a visual interface to the chart pivot.
  • Code_Page - provides a visual interface for custom code injection.
  • Rendering Page - exposes properties related to chart rendering.
  • Preview Page - lets you see a WYSIWYG preview of the current chart configuration.
The Main Toolbar

The main toolbar has the following commands:

  • OK - saves any changes in the edited web part and returns you to the edited page (leaves the designer).
  • Cancel - discards any changes to the web part and returns you to the edited page (leaves the designer).
  • Apply - saves any changes in the edited web part and lets you continue the editing (does not leave the designer).
  • Reset - lets you reset the web part to a blank (default) one. The blank web part is not connected to any data source and is the web part with which you start by default.
  • Save - saves the current state of the web part to an external file. You can later load this state file in any other web part.
  • Load - loads a previously saved state file.
  • View Web Parts Config - lets you inspect the global settings under which the webpart operates. See the The WebParts Config File for more info.
  • Help - opens the web help of the Nevron SharePoint Vision product.
No changes are applied to the edited web part until you click the OK or Apply buttons.
Data Source Page

The Data Source page lets you connect the map to a tabular data source. Currently you can bind the map to the following types of data sources:

  • Database
  • SharePoint List
  • SharePoint Site Query
  • Excel Services
  • Business Data Catalog
  • Web Part Table

See the Connecting to Data topic for a complete discussion.

The map must be connected to a data source prior to editing the rest of its settings. That is why for a blank web part the Data Source page is displayed first. Once specified, it is not recommended to change your data source, since expressions that you write may reference field values from the data source.
Map Page

Nevron Map for SharePoint supports multiple map layers (inside a single map area), legend and titles. Each map layer can display information about itself on an arbitrary legend. The Map area, legends and titles are edited from the Map Area, Legends and Titles taps. See the Map Area, Legends and Titles topics for a full description of the settings per each of these elements.

The Layout and Appearance sub-tabs of the Map Designer tab control general layout and appearance settings, which are not associated with the map area or a particular legend or title. See The Map Layout for a complete discussion of the map layout.

For web part that is already connected to a data source the Map page is displayed by default.
Code Page
Nevron Map for SharePoint allows for users with development experience in C# or VB.NET to inject custom code, which is executed at runtime. The code injection is dynamic meaning that no deployment of assemblies is needed for the injected code to run.
Pivot Page

Nevron Map for SharePoint is built on top of the Nevron Pivot Engine. The Pivot page lets you define the map filters, which helps you filter the data set as well as the condtion on which the map data table record groups are created. See the The Map Data Model topic for more info on connecting your map to data.

Rendering Page
The Rendering page lets you tune the image rendering options of the map. See the Rendering Options for more information.
Preview Page
The Preview page lets you see a WYSIWYG preview of the webpart as it will appear at runtime. The preview is generated with the processed map pivot and uses the current data source state.
Browser Compatibility

The Designer is compatible with all modern web browsers (Chrome, FireFox, Opera, IE 11/10/9/8/7 etc.). Browser compatibility is ensured by the JQuery JavaScript library and a common CSS layer developed by Nevron.


Map Area
Map > Map Panels > Map Area

The map area represents the area from the map web part in which the map is rendered. Inside each map web part there is only one map area, around which there can be legends and titles.

The map area editor has the following sub tabs:

Layers
Inside this tab you can edit the map layers that are displayed inside the map area. Nevron Map for SharePoint supports multiple map layers, so that you can "overlay" multiple ESRI maps inside a single map web part. See Map Layers for more info.
Viewport
The viewport tab contains settings the help you control the way in which geospatial data is transformed to 2D coordinates (map projection) as well as specify the portion of the map on which you want to zoom. See Viewport for more info.
Parallels and Meridians
The Parallels and Meridians tab contains settings the help you control the appearance of the Parallels and Meridians of the map. See Parallels and Meridians for more info.
Layout
Inside this page you will find settings for the margins and padding applied to the map area panel. See The Map Layout for more information.
Appearance
From this page you can control the background of the map area panel.
Action
Lets you specify an action that is associated with the map area. See Actions and Drill Down reports for more information.


Map Layers
Map > Map Panels > Map Layers > Map Layers

Nevron Map for SharePoint supports multiple map layers. Map layers are added, removed and edited by the Map Layers Tab of the Map Major Tab (Map > Map Layers). Nevron Map for SharePoint must have at least one map layer, which is created by default. The default map layer is configured to show the predefined world map. Each map layer has the following tabs:

Map

This tab helps you select the visibility of the map layer as well as the ESRI shape data that the layer displays. Each layer is associated with an ESRI .shp file (shapefile - defines the geometry of the shapes displayed by the layer) and an optional .dbf file (map data file - defines the data associated with the shape file geometry). Nevron Map for SharePoint comes with predefined maps for the World, USA, and all USA states. You can display custom shape files (in ESRI format).

Besides the map displayed by the layer, the map tab lets you choose the field of the joint table (see The Map Data Model) that is used for value of the layer shapes, as well as the field from the joint table that is used for text of the shapes.

For more information see Layer - Map.

Data Cell

This tab lets you define the data fields that are associated with the map layer data cell. As described in the The Map Data Model topic, each data cell can have an arbitrary number of data fields. After the data binding, which joins the map data with the data table produced by the web part, the resulting joint table contains columns for both the original map data and the layer data fields. This lets you "map" reporting data to geographical data.

Besides the data fields, each data cell may contain settings for "per shape" custom appearance and action. This lets you define dynamic appearance and action for each geographical shape in the map.

For more information see Layer - Data Cell.

Binding Fields

This tab lets you define the pairs of fields with which to make the binding between the map data and the layer data table. A binding field is pair of map data column and a data cell field name. For a record from the map data to be bound to a record from the layer data table, all binding fields must result in equal values.

For more information see Layer - Binding Fields.

Fill Rule

This tab defines the rule with which the map is filled. The general purpose of choropleth maps is to fill geographical shapes with specific colors that are dependant on a value associated with each shape. The rule which associates a color with a specific value is known as fill rule.

For more information see Layer - Fill Rule.

Legend

This tab defines the information that the map layer displays on the legend associated with it. Each map layer can be associated with a different legend and can display different information about itself inside that legend.

For more information see Layer - Legend.

Appearance

This tab defines the default appearance of the shapes displayed by the layer.

For more information see Layer - Appearance.


Layer - Map
Map > Map Panels > Map Layers > Layer - Map

Following is a description of the layer map settings:

Visible - controls the visibility of the map layer.

Map

Map Type - defines the type of map displayed by the map layer. Possible values are: Predefined Map and ESRI Map.

Predefined Map - when the Map Type is set to Predefined Map, this combo box lets you select amongst the currently available predefined maps. Nevron Map for SharePoint comes equipped with predefined maps for the World, USA and all USA states.

Load ESRI Shape File... and Load ESRI Dbf File... buttons - this pair of buttons is visible only when the Map Type is set to ESRI Map. It lets you specify the shape file and map data file associated with the map in ESRI format.

Each ESRI map consists of two files:
- .shp file - also called shape file. Contains geospatial data for the map.
- .dbf file - also called map data file. Contains tabular data about each shape in the shape file.

Preview Dbf Data - for the currently defined map, this button lets you preview the content of the associated map data table (if any).

Fields

Value Field Name - a combo box which lets you select a column from the joint table that must be used as value for the geographical shapes contained in the map. This value is used by the Layer - Fill Rule to determine the filling of the shape. It can also be displayed in the legend (see Layer - Legend).

Text Field Name - a combo box which lets you select a column from the joint table that must be used as text for the geographical shapes contained in the map. This value can be displayed in the legend.

Settings

ShowTexts - controls whether texts are displayed over shapes.

Polygon Labeling Mode - for polygon layers, controls the position of the text relative to the shape. Possible values are:

  • Bounds Center - the text is placed in the center of the shape bounds (fastest)
  • Centroid - the text is placed in the polygon centroid.
  • Optimal - the text is placed in the largest polygon area (slowest but with best quality).

Hide Shapes Without Data - because of the nature of the Left Outer join that is performed between the map data and the layer data table, not all records from the map data may have corresponding records in the layer data table. You can check this check to "hide" such shapes from the map.

See Also
Layer - Fill Rule
Layer - Legend
Layer - Data Cell


Layer - Data Cell
Map > Map Panels > Map Layers > Layer - Data Cell

As described by the The Map Data Model topic the purpose of the Nevron Map for SharePoint web part is to display data that originates from your report data and "map" it to certain geospatial data. To do that there is a data cell associated with each map layer. When the web part is processed at runtime, that data cell expands to a data table, which has as many rows, as defined by the row data groupings. The Layer - Data Cell tab lets you specify the data that is contained inside each data cell at runtime. This includes data fields, appearance and action information.

Data Fields

Data Fields are [name:value] pairs where the Name of the data field is static (i.e. a constant value), while the value is usually obtained by an expression. Data Fields define the so called layer data table, that is obtained from the report data. There are three reasons for which you need to make a data field:

1. If you want to perform data binding on that data field.

2. If you want to display that data field as shape value.

3. If you want to display that data field as shape text.

Appearance

Most of the time you will use the Fill Rule of the layer to define the map layer shapes appearance. However in certain cases you may need to apply custom filling and outline to the map layer shapes, that are based on the report data. This is achieved with the Data Cell - Appearance tab which lets you define dynamic appearance for the data bound items in the map. The tab has the following properties:

Visible - determines the visibility of the map shape created for the data cell. You will typically use expressions to specify conditional visibility of the map shapes.

Use Custom Appearance - when checked, you are able to specify the fill and stroke of each map layer shape individually, by entering expressions for the shape Fill, Border and Text properties.

Fill - embeds the Fill Style FX Editor. The expressions for the shape fill are recorded in the data cell, so when evaluated each shape may have different filling, based on the result of the expressions evaluation. Enabled only if Use Custom Appearance is set to true.

Border - embeds the Stroke Style FX Editor. The expressions for the shape border are recorded in the data cell, so when evaluated each shape may have different border, based on the result of the expressions evaluation. Enabled only if Use Custom Appearance is set to true.

Text - embeds the Text Style FX Editor. The expressions for the shape text are recorded in the data cell, so when evaluated each shape may have different text style, based on the result of the expressions evaluation. Enabled only if Use Custom Appearance is set to true.

Action
Lets you choose the type of action associated with the data bound items in the map layer. See Actions and Drill Down Reports for more info.


Layer - Binding Fields
Map > Map Panels > Map Layers > Layer - Binding Fields

Binding fields are added, removed and edited by the Binding Fields Tab of the Layer Tab (Map > Map Area > Layers > Binding Fields).

In order to bind the map data to the report data defined by the row data groupings and the layer data cells, you need to specify the columns that must match.

This is achieved with the layer binding fields, which are generally pairs of layer map data field and layer data table field names. In order for a record from the map data table to match a record from the layer data table, the values in the binding fields columns must match. This is equivalent to Left Outer Join between the two tables.

Each binding field that you create by clicking on the add and remove buttons has two properties:

Map Field - lets you choose the name of a column from the map data table (DBF data associated with the ESRI shapefile).

Data Field- lets you choose the name of a column from the data table. (the name of a data cell field).

See Also
The Map Data Model
Layer - Data Cell


Layer - Fill Rule
Map > Map Panels > Map Layers > Layer - Fill Rule

The map layer Fill Rule defines the filling of the map shapes according to their Value (remember that in the Layer - Map properties you can specify a column from the joint table, from which the map to take a value for each map shape). This fill rule has the following properties:

Mode - defines the mode in which the shapes are filled. Possible values are:

None - the map shapes are not filled with a fill rule

Two Color Gradient - the map shapes are filled with interpolated colors that are obtained from a gradient defined by two colors.

Three Color Gradient - the map shapes are filled with interpolated colors that are obtained from a gradient defined by three colors.

Distinct Values - the map shapes are filled with distinct fillings that are obtained by a palette.

Range Count - visible only when Mode is set to Two Color Gradient or Three Color Gradient. Defines the number of ranges in which to split the values set. The size of each range depends on the values set and the Distribution property. These ranges can be shown in the map layer legend - see Layer - Legend) for more information.

Distribution - visible only when Mode is set to Two Color Gradient or Three Color Gradient. Defines the way in which the values in the values set are distributed in the ranges. Possible values are:

Equal - also known as quantiles, this method allows for unequally sized data intervals and involves adjustment of the interval limits until an equal number of data points can be slotted into each interval.

Equal Interval - also known as equal ranges (or steps), this method involves division of the entire data range into equally sized intervals.

Optimal - adjusts the size of data intervals in order to minimize the classification error and thus the map looks more balanced and the results seem more correct, with just a few shapes in the highest class as one would expect.

Colors - visible only when Mode is set to Two Color Gradient or Three Color Gradient. Defines the From Color and To Color of the color gradient. In case Mode is set to Three Color Gradient also defines the middle color of the gradient.

Palette - lets you choose the palette from which to take filling entries in case the Mode is set to Distinct Values. Each distinct value in the values set is displayed with an entry from this palette.


Layer - Legend
Map > Map Panels > Map Layers > Layer - Legend

The map layer legend editor allows you to specify how the map layer is annotated on a map legend. It has the following properties:

Legend - lets you select the legend on which to annotate the layer. Note that Nevron Map for SharePoint supports multiple legends and layers so it is possible to annotate two layers on two distinct legends.

Mode - defines the type of data that the layer should display on the legend. Possible values are:

None - the map layer is not annotated on the legend in any way.

Fill Rule Ranges - the map layer displays the ranges of the map fill rule inside the legend. For more information about the fill rule see the Layer - Fill Rule topic.

Items - the map layer displays all of its items inside the legend.

Fill Rule Ranges Settings - these are settings that control the way in which the fill rule ranges are annotated on the legend, in case the Mode property is set to Fill Rule Ranges. These include:

Range Item Template - the template to use for the regular ranges. Possible template values are <from> and <to> which are replaced for each range with the respective range values.

Last Item Template - the template to use for the last map range. Possible template value is only <from>, which is replaced with the starting value of the last range.

From Value Format - the format with which the range begin values are formatted.

To Value Format - the format with which the range end values are formatted.

Items Settings - these are settings that control the way in which the map items (shapes) are annotated on the legend, in case the Mode property is set to Fill Rule Ranges. These include:

Item Template - the template to use for the map items. Possible template values are <text> and <value> which are replaced with the values from the respective joint table column. Text is obtained from the column specified by the map Text Field Name property, while value is obtained from the column specified by the map Value Field Name property. See Layer - Map for more info.

Value Format - the format with which the values are formatted.

See Also
Layer - Map
Layer - Fill Rule


Layer - Appearance
Map > Map Panels > Map Layers > Layer - Appearance

This tab page controls the default appearance of the map shapes that the layer displays. It has the following settings:

Fill Style - controls the filling of the shapes. See Fill Style FX Editor for more info.

Stroke Style - controls the stroking (border) of the shapes. See Stroke Style FX Editor for more info.

Text Style - controls the appearance of the shape texts. See Text Style FX Editor for more info.


Viewport
Map > Map Panels > Viewport

The map viewport defines the way in which the geospatial data is projected to 2D coordinates (map projection) and also part of the map on which you want to display and center to. Following is a description of these settings:

Map Projection
Maps are defined as polygon, polylines and points defined in cartography coordinates (measured in longitude and latitude). To view such information on a 2D device (such as a screen or printer) you need a way to transform these coordinates to 2D coordinates. In cartography this is transformation is called map projection. It projects geospatial shapes in 2D. Nevron Map for SharePoint supports 22 distinct projection types. All map layers inside the map use the same projection which is specified by the Projection Type property, that accepts the following values:
Aitoff - Proposed by David A. Aitoff in 1889, it is the equatorial form of the azimuthal equidistant projection, but stretched into a 2:1 ellipse while halving the longitude from the central meridian.
Bonne - a pseudoconical equal-area map projection. All parallels are standard, with the same scale as the central meridian; parallels are concentric circles. No distortion along the reference parallel or the central meridian.

Cylindrical Equal-Area - represents a cylindrical equal-area projection of the Earth. The following is a summary of cylindrical equal-area projection's special cases:

  • Lambert - standard parallel of 0 degrees
  • Behrmann - standard parallel of 30 degrees
  • Tristan Edwards - standard parallel of 37.383 degrees
  • Peters - standard parallel of 44.138 degrees
  • Gall - standard parallel of 45 degrees
  • Balthasart - standard parallel of 50 degrees
Equirectangular - projection that maps meridians to equally spaced vertical straight lines, and parallels to equally spaced horizontal straight lines.
Eckert IV - pseudocylindrical and equal area projection. The central meridian is straight, the 180th meridians are semi-circles, other meridians are elliptical. Scale is true along the parallel at 40:30 North and South.
Eckert VI - pseudocylindrical and equal area projection. The central meridian and all parallels are at right angles, all other meridians are sinusoidal curves. Shape distortion increases at the poles. Scale is correct at standard parallels of 49:16 North and South.
Hammer - an equal-area map projection, described by Ernst Hammer in 1892. Directly inspired by the Aitoff projection, Hammer suggested the use of the equatorial form of the Lambert azimuthal equal-area projection instead of Aitoff's use of the azimuthal equidistant projection. Visually, the Aitoff and Hammer projections are very similar, but the Hammer has seen more use because of its equal-area property.
Kavrayskiy VII - a map projection invented by V. V. Kavrayskiy in 1939 for use as a general purpose pseudocylindrical projection. Like the Robinson projection, it is a compromise intended to produce good quality maps with low distortion overall. It scores well in that respect compared to other popular projections, such as the Winkel Tripel, despite straight, evenly-spaced parallels and a simple formulation. It has been used in the former Soviet Union but is almost unknown in the Western world.
Mercator - introduced in 1569 by Gerardus Mercator. It is often described as a cylindrical projection, but it must be derived mathematically. The meridians are equally spaced, parallel vertical lines, and the parallels of latitude are parallel, horizontal straight lines, spaced farther and farther apart as their distance from the Equator increases. This projection is widely used for navigation charts, because any straight line on a Mercator-projection map is a line of constant true bearing that enables a navigator to plot a straight-line course. It is less practical for world maps because the scale is distorted; areas farther away from the equator appear disproportionately large. On a Mercator projection, for example, the landmass of Greenland appears to be greater than that of the continent of South America; in actual area, Greenland is smaller than the Arabian Peninsula.
Miller Cylindrical - a modified Mercator projection, proposed by Osborn Maitland Miller (1897-1979) in 1942. The parallels of latitude are scaled by a factor of 0.8, projected according to Mercator, and then the result is divided by 0.8 to retain scale along the equator.
Mollweide - The Mollweide projection is a pseudocylindrical map projection generally used for global maps of the world (or sky). Also known as the Babinet projection, homolographic projection, or elliptical projection. As its more explicit name Mollweide equal area projection indicates, it sacrifices fidelity to angle and shape in favor of accurate depiction of area. It is used primarily where accurate representation of area takes precedence over shape, for instance small maps depicting global distributions.
Orthographic - a perspective (or azimuthal) projection, in which the sphere is projected onto a tangent plane. It depicts a hemisphere of the globe as it appears from outer space. The shapes and areas are distorted, particularly near the edges, but distances are preserved along parallels. In NOV Map this projection contains a special property called CentralMeridian, which lets you speify the meridian that should be in the center of the projection (from -90 to 90 degrees). Adjusting this meridian will result in 3D map rotation to the left or to the right, an effect similar to the rotation of a globe.
Robinson - made in 1988 to show the entire world at once. It was specifically created in an attempt to find the good compromise to the problem of readily showing the whole globe as a flat image. The projection is neither equal-area nor conformal, abandoning both for a compromise. The creator felt this produced a better overall view than could be achieved by adhering to either. The meridians curve gently, avoiding extremes, but thereby stretch the poles into long lines instead of leaving them as points. Hence distortion close to the poles is severe but quickly declines to moderate levels moving away from them. The straight parallels imply severe angular distortion at the high latitudes toward the outer edges of the map, a fault inherent in any pseudocylindrical projection.
Stereographic - it is a particular mapping (function) that projects a sphere onto a plane. The fact that no map from the sphere to the plane can accurately represent both angles (and thus shapes) and areas is the fundamental problem of cartography. In general, area-preserving map projections are preferred for statistical applications, because they behave well with respect to integration, while angle-preserving (conformal) map projections are preferred for navigation. The stereographic projection falls into the second category.
Van der Grinten - neither equal-area nor conformal projection. It projects the entire Earth into a circle, though the polar regions are subject to extreme distortion. The projection offers pleasant balance of shape and scale distortion. Boundary is a circle; all parallels and meridians are circular arcs (spacing of parallels is arbitrary). No distortion along the standard parallel at the equator.
Wagner VI - a pseudocylindrical whole Earth map projection. Like the Robinson projection, it is a compromise projection, not having any special attributes other than a pleasing, low distortion appearance.
Winkel Tripel - a modified azimuthal map projection proposed by Oswald Winkel in 1921. The projection is the arithmetic mean of the equirectangular projection and the Aitoff projection. Goldberg & Gott show that the Winkel Tripel is arguably the best overall whole-earth map projection known, producing very small distance errors, small combinations of ellipticity and area errors, and the smallest skewness of any map. In 1998, the Winkel Tripel projection replaced the Robinson projection as the standard projection for world maps made by the National Geographic Society.
View Bounds
The View Bounds settings of the map lets you control the part of the map which you want to display. Once the map bounds are determined by the view mode, you can additionally specify zoom percentage and center of the map. Following is a description of properties of the view bounds:

Bounds Mode - defines the mode in which the map bounds are determined. Possible values are:

Fit To Bounds - the map is fitted to automatically determined bounds or custom ones. You can individually specify automatic or custom min and/or max longitude and/or latitude values for the map bounds.

Fit To Layer - the map is fitted to the content of a user specified layer. This is useful when you display multiple layers and want to zoom to a specific one.

Fit to Data Bound Shapes - as explained in the The Map Data Model topic not all records from the map data can be bound to the layer data table due to the nature of the performed Left Outer join. This mode lets you zoom only to the shapes which are bound to data.

Fit to Matching Shapes - lets you fit the map to the shapes that match a specific criteria.

Map Bounds - this settings group is only visible when the Bounds Mode is set to Fit To Bounds. It lets you define the min and max longitude and latitude of the map that is displayed to the user. Each of the four settings (min longitude, max longitude, min latitude and max latitude) can be automatically or manually specified.

Fit To Layer - this setting is only visible when the Bounds Mode is set to Fit To Layer. It lets you select the layer which must be fitted in the view.

Fit To Shape Conditions - lets you specify the conditions which the shapes to which you want to zoom on must match. The shape conditions is a list of items each having the following properties:

Field Name - the name of the field from the joint table from which to get a value for the current shape.

Operator - the operator to use for comparison between the field value and the value of the condition.

Value - the value towards which to compare the value of the field.

Combinator - the way in which the condition is combined with the previous one. If there are multiple conditions the conditions are combined as a sequence of OR groups from AND conditions like this: (C1 AND C2) OR (C3 AND C4). The latter example has AND combinator for condition C1, OR for C2, AND for C3 and the last condition combinator is never used.

Zoom and Center

The map determines the map bounds that need to be displayed based on the View Bounds settings above. Once these map bounds are determined, the map applies additional zooming and centers the view based on the following properties:

Zoom Percent - defines a zoom percentage with which to additionally zoom the map.

Center Mode - defines the mode in which the map is centered. Possible values are:

Center To Percents - the map is centered to use specified percents relative to the current map bounds.

Center To Layer - the map is centered to a specific map layer.

Center To Data Bound Shapes - as explained in the The Map Data Model topic not all records from the map data can be bound to the layer data table due to the nature of the performed Left Outer join. This mode lets you center the map to the shapes which are bound to data.

Center To Matching Shapes - lets you center the map to the shapes that match a specific criteria.

Center Percent X - defines the X center of the viewport in percentage values when Center Mode is set to Center To Percents. 50 is the X center of the viewport. You can use this property to offset the map horizontally.

Center Percent Y - defines the Y center of the viewport in percentage values when Center Mode is set to Center To Percents. 50 is the Y center of the viewport. You can use this property to offset the map vertically.

Center To Layer - this setting is only visible when the Center Mode is set to Center To Layer. It lets you select the layer which must be centered in the view.

Fit To Shape Conditions - lets you specify the conditions which the shapes to which you want to center on must match. The shape conditions is a list of items each having the following properties:

Field Name - the name of the field from the joint table from which to get a value for the current shape.

Operator - the operator to use for comparison between the field value and the value of the condition.

Value - the value towards which to compare the value of the field.

Combinator - the way in which the condition is combined with the previous one. If there are multiple conditions the conditions are combined as a sequence of OR groups from AND conditions like this: (C1 AND C2) OR (C3 AND C4). The latter example has AND combinator for condition C1, OR for C2, AND for C3 and the last condition combinator is never used.

See Also
Map Area
The Map Data Model


Parallels and Meridians
Map > Map Panels > Parallels and Meridians

The map parallels and meridians are arcs that can be displayed below or above the map shapes. Following is an overview of the settings available for both parallels and meridians:

Visible - control the visibility of the parallels or meridians.

Step Mode - controls the step with which parallels or meridians are displayed. Possible values are:

  • Fine - the arcs are displayed with a relatively small step, based on the current map zoom.
  • Normal - the arcs are displayed with a relatively normal step, based on the current map zoom.
  • Coarse - the arcs are displayed with a relatively large step, based on the current map zoom.
  • Fixed - the arcs are displayed with a fixed step, that is user specified.

Step - controls the step of the arcs, when Step Mode is set to Fixed.

Z Order - controls the z order of the map arcs, relatively to the map shapes. Possible values are:

  • Below Map - arcs are displayed below map contents.
  • Above Map- arcs are displayed above map contents.

Show Labels - controls whether labels displaying the respective arc value are displayed.

Stroke Style - controls the stroke style used to display the map arcs.

Text Style - controls the text style used to display the map arcs labels. Only used when Show Labels is checked.

See Also
Map Area


Legends
Map > Map Panels > Legends

Nevron Map for SharePoint supports multiple legends. Legends are added, removed and edited by the Legends Tab of the Map Major Tab (Map > Legends).

Nevron Map for SharePoint has one legend by default. Each map layer can be display information about itself on exactly one legend - see the Layer - Legend topic for more information. Each legend is populated with items. Each legend item represents a layer specific information.

Following is a description of the properties of each legend as they are grouped in the visual interface.

General

Visible - the visible property controls the visibility of the legend. When set to false the legend will be hidden.

Items Layout - controls the layout of the legend items. Possible values are:

Single Row - the items of the legend are arranged in a single row.

Single Col - the items of the legend are arranged in a single col.

Fixed Rows - the items are arranged in cols. There is a fixed number of rows allowed per each column. A new column is created when the current column breaches the fixed rows constraint. The number of fixed rows is controlled by the Fixed Rows Count property.

Fixed Cols - the items are arranged in rows. There is a fixed number of cols allowed per each row. A new row is created when the current row breaches the fixed cols constraint. The number of fixed cols is controlled by the Fixed Cols Count property.

Vertical Wrap - the items are arranged in rows, when the available vertical space is reached the legend adds new columns.

Horizontal Wrap - the items are arranged in columns, when the available horizontal space is reached the legend adds new rows.

Auto Single Row Col - in this mode the legend automatically switches between Single Row or Single Col mode depending on the legend dock position. If the legend layout mode is set to Manual the Auto Single Row Col mode always evaluates to Single Col.

Auto Fixed Row Col - in this mode the legend automatically switches between Fixed Row or Fixed Col mode depending on the legend dock position. If the legend layout mode is set to Manual the Auto Fixed Row Col mode always evaluates to Fixed Col.

Fixed Rows Count - controls the number of fixed rows.

Fixed Cols Count - controls the number of fixed cols.

Marks Width - controls the width of the legend items marks.

Marks Height - controls the height of the legend items marks.

Text Offset - controls the offset of the legend item text from the legend item mark.

Header and Footer
Each legend has header and footer. From the Header and Footer tab you can control the text displayed by the header/footer as well as to control the header/footer text appearance. See the XML Formatted Texts topic for more information on how to create texts with rich formatting.
Layout
The properties in this page control the layout of the legend. For more information see The Map Layout.
Appearance

Fill Style - controls the filling of the legend base.

Border Style - controls the border style of the legend base.

Shadow Style - controls the shadow dropped by the legend base.

Gridlines

A legend items can be separated by horizontal and vertical gridlines. From the gridlines page of the legend you can control the visibility of the horizontal and vertical gridlines, as well as define their appearance.

Stripes

The legend rows and columns can be filled with interlaced horizontal and vertical stripes.. From the stripes page of the legend you can control the visibility of the horizontal and vertical stripes, as well as define their appearance.


Titles
Map > Map Panels > Titles

Nevron Map for SharePoint supports multiple titles. Titles are added, removed and edited by the Titles Tab of the Map Major Tab (Map - Titles). Following is a description of the properties of each title.

General

Visible - controls the visibility of the title.

Text - specifies the text displayed by the title. See the XML Formatted Texts topic for more information on how to create texts with rich formatting.

Orientation - controls the orientation of the title text. Possible values are:

  • Horizontal - the text is displayed with horizontal orientation.
  • Vertical Upward - the text is displayed with vertical orientation and flows bottom to top.
  • Vertical Downward - the text is displayed with vertical orientation and flows top to bottom.
  • Automatic - automatically chooses one of the above modes, based on the title docking position (Horizontal - for bottom and top positions, Vertical Upward for left and Vertical Downward for right). In case the title is manually positioned this mode resolves to Horizontal.

Fit Mode - controls how the text of the label will fit the bounds provided by the control layout. Possible values are:

Fit Mode | Description
Wrap | The label content is wrapped inside the bounds, thus not allowing it to exceed the available width. The bounds height may increase. No text information is lost and the text is displayed with the specified font size. This is the default mode.
Clip | The label content is clipped inside the bounds. In this mode the label size will not change however text information can be lost at small sizes.
Fit | The label content is fitted inside the bounds. No text information is lost, however the text size may become small and unreadable at small sizes.
Stretch | The label content is stretched to fit the bounds.

Text Alignment Mode - controls how text lines in a multi line text are aligned. Possible values are:

Text Alignment Mode | Description
Auto | The alignment is automatically chosen by the control depending on the setting of Dock Position (specified in the Layout page). This is the default setting.
Left | Text lines are left aligned.
Center | Text lines are center aligned.
Right | Text lines are right aligned.

Text Style - controls the appearance of the title text.

Layout
The properties in this page control the layout of the title. For more information see The Map Layout.
Action
Lets you choose the type of action associated with the title. See Actions and Drill Down reports for more info.


The Map Layout
Map > Map Panels > The Map Layout

Nevron Map for SharePoint supports a single map area, and multiple legends and titles. In order to take full advantage of this feature you must understand how the map layout system works.

Panels and the Box Model

Nevron Map for SharePoint treats the map area, legends and titles as panels. Panels use a box model, which is summarized by the following drawing:

Each panel has margins and padding. The margins define a white space around each panel. The padding defines the space with which the panel content is padded (inflated). The margins and padding settings can be inherited from the map default margins and padding settings, if the respective Automatic property is set to true.

By default the Automatic property for the margins and padding of all panels is set to true and the actual margins and padding are obtained from the map control default margins and padding. You can modify the default margins and padding from the Map - Layout tab. The margins and padding of each panel are accessible from the Layout tab for that panel.

In general the layout algorithm described below uses a combination of docking and absolute positioning. When a panel is docked both it margins and padding are taken into account to display the content at its best size. When a panel is manually positioned the margins are ignored, since they are not needed (margins define a white space, which only automatic layouts should consider).

The Layout Algorithm

The following image illustrates the layout areas in the Nevron Map for SharePoint product:

The layout algorithm performs the following steps:

  1. Layout the Outer Titles

    Outer titles are such titles for which the Position property is set to Dock To Map.

    The Dock Position property in this case determines the side at which the title must be docked in the outer titles area and the alignment of the title in this side area. For example:

    Dock Position = Top Center means dock the title to the top side and align it in the center.

    Dock Position = Right Top means dock the title to the right side and align it to the top.

  2. Layout the Outer Legends

    Outer legends are such legends for which the Position property is set to Dock To Map. Outer legends are arranged in the same way as the outer titles.

  3. Position the Map Area

    The map area panel fills the space which remains after steps 1 and 2 have been performed.

  4. Layout the Plot Titles (for each chart area)

    Plot titles are such titles for which the Position property is set to Dock To Map Plot Area. The Dock Position property in this case determines the side at which the title must be docked in the map plot area and the alignment of the title in this side area.

  5. Layout the Plot Legends (for each chart area)

    Plot legends are such titles for which the Position property is set to Dock To Map Plot Area. Plot legends are arranged in the same way as plot titles.

  6. Layout the Floating Legends

    Floating legends are such legends for which the Position property is set to Manual. A floating legend is positioned relatively to a pin point. The pin point coordinates are specified in percents of the area, which remained after the control border was applied (by the Pin X Percent and Pin Y Percent properties). The legend is aligned to the pin point via the Pin Alignment property. For example:

    Pin X Percent = 0, Pin Y Percent = 0, Pin Alignment = Bottom Right - means position the pin point at the 0, 0 percents and align the legend so that it is located at the bottom right side of the pin point.

  7. Layout the Floating Titles

    Floating titles are such titles for which the Position property is set to Manual. A floating title is positioned in the same way as a floating legend.


The Map Data Model
Map > Data Model > The Map Data Model

Nevron Map for SharePoint uses the Nevron Pivot Engine. In order to better understand how to work with the gauge and bind it to data you should have a general understanding of the Nevron Pivot Engine - see the Pivot Engine - Getting Started topic.

Each map has a design model and runtime state. The design model defines how it merges with the actual data, which is provided at runtime. The runtime state represents the map when the data has been processed and merged with the design model of the map.

Because not every Matrix model is suitable for a map, Nevron Map for SharePoint uses a simplified model, which is better suited for this purpose. Figure 1 illustrates the design model of the map:

Figure 1. The Map Data model

There are two types of data groupings - rows and columns. Row data groupings define how the data cells expand in the row direction. The layer column data groupings are static and are created for each map layer that you add or remove from the visual interface.

There is a data cell associated with each map layer. The data cell stores a custom collection of data fields (note that in Nevron Pivot Engine each data cell can have multiple properties). When the web part is processed it generates a data table for each layer. The data tables of all layers have the same amount of records, as defined by the row data groupings. Each data table however can have arbitrary data fields, as defined by each data cell properties.

To show that data table on a map, you need to bind it to the table that comes along with the map. Each ESRI shapefile (layer) has an associated table that describes the shapes contained inside it. The binding of the map data to the layer data table is performed by the map binding fields, where you generally specify what column from the map data should be equal to the layer data table (more technically speaking performs a Left Outer Join).

Examples

Too complex - lets see some samples. Imagine that you have a data set in which you have data for the states of USA:

Figure 2. Sample data set (records past Nebraska are excluded from the image for simplicity).

First consider a Matrix web part at design and runtime:

Matrix1 Design Time:

Matrix1 Runtime:

Now lets suppose that we want to build a choropleth map that displays the value for each USA state. To do that you need to first replicate this sample matrix in the context of Nevron Map for SharePoint like this:

1. Drag and drop the StateName data field to the Row Data Groupings panel in the Pivot page (i.e. group the data by StateName):

2. Define the map data fields like this:
First data field with name StateName and value: =Fields!StateName.Value
Second data field with name Value and value:=Sum(Fields!Value.Value)

At this point when the map is rendered the layer data table will have a StateName column and a Value column. To bind that data table to map data, you need to the following:

1. Select the USA map as the layer predefined map to display:
Note that the USA predefined table comes along with a table that has a STATE_NAME column, that defines the name of each state polygon.

2. Create one binding field that maps the STATE_NAME map column to the StateName data column.

3. Set the Value Field Name to Value

4. Set the map fill rule to three color gradient.

5. Set the map legend mode to Fill Rule Ranges.

Now you have a choropleth map that display the value associated with each USA state. When you run the report you will get this result:


Rendering Options
Map > Rendering Options

The map rendering options are accessible from the Map > Rendering major tab. Following is a description of these options.

Auto Refresh Interval - specifies the amount of time (in milliseconds) at which the web part is automatically refreshed. A value of 0 indicates that the web part is not automatically refreshed.

Use the Auto Refresh feature only when needed - for example for presenting a regularly changing data source (realtime data).
The Auto Refresh feature is expensive to use in general, since each web part refresh will request a new reaggregation of the data.
If you need to provide users with the ability to manually refresh a specific web part (at a button click for example) - you can use the take a look at the NRefreshWebPart JScript function, which is described in the Custom Parameters with Nevron JavaScript API topic.

Width - the width of the map in pixels.

Height - the height of the map in pixels.

Image Acquisition Mode - specifies the way in which the client browser acquires the web part image. Possible values are:

  • Temp File - a temporary image is created to the Layouts\Nevron\Map\Temp folder and the browser acquires the image from this file.
  • Http Handler - a temporary image is created in the respective image stream container and the image is served to the browser via a custom HTTP handler.
  • Embedded - the temporary image is encoded directly in the HTTP response (the default setting). This setting eliminates the need for temporary image store. Unfortunately old browsers such as IE 7.0 and older do not support image embedding and IE 8.0 only supports embedded images of small sizes. For these browsers the web part automatically switches to Http Handler acquisition mode.

Image Format - specifies the format of the image generated by Nevron Map for SharePoint at runtime. By default set to PNG - possible values are Bmp, Jpeg, Png and Gif.

Render Image Map - specifies whether Nevron Map for SharePoint should render an image map. The web part can generate an image map, which contains information about tooltips, actions etc. The image map should be rendered, if the web part is designed to be interactive. You should consider setting this property to false, if the web part does not need any interactivity features. This will speed up its rendering.

Enable 3D Antialiasing - this setting is regarded when the map is rendering in 3D. When checked you can additionally specify the number of image samples generated by the control in order to produce smooth edges for 3D objects. The default setting for 3D antialiasing samples is 4.

Enable 2D Antialiasing - turns on or off the antialiasing of 2D objects.

Text Rendering Mode - allows you to specify the text rasterization mode. The following settings are available:

  • Aliased - no antialiasing is performed. This setting will produce jagged text edges.
  • Antialiased - the control will perform antialiasing on texts. This setting is recommended when reports will be viewed on both LCD and CRT displays.
  • Clear Type - the control will perform subpixel antialiasing on texts, utilizing RGB color cell order on LCD displays for better quality. This is the default setting.

Use Regional Settings - specifies whether specific regional (culture) settings must be used. When unchecked the webpart will use the server default culture settings. When checked the culture with the specified culture name is used.

Culture Name - a string, which determines the culture with which the map is rendered, when Use Regional Settings is checked. The culture controls the formatting of all numbers and dates displayed by Nevron Map for SharePoint. If left blank, the map will use the default server culture. See the Culture Table for a list of all acceptable culture names.


Barcode Overview
Barcode > Barcode Overview

Nevron Barcode for SharePoint is an advanced web part for all versions of Microsoft SharePoint. It is designed to provide report authors with an easy and powerful way to create linear and matrix barcodes that are tightly integrated with your data. Following are some of the most important features of this web part:

Major Features

Support for Multiple Barcode areas - unlimited number of barcode areas are supported. Each barcode area can display either a linear or matrix barcode.

Support for Multiple Titles - unlimited number of titles are supported. Titles can be manually positioned or docked to barcode and barcode plot area.

Linear Barcodes - the web part can display 28 linear barcode symbologies, including: Codabar, Code 11, Code 39, Code 39 Extended, Code 93, Code 128, Code 128A, Code 128B, Code 128C, EAN8,
EAN 13, FIM, Interleaved 2 of 5, ISBN, ITF14, JAN13, MSI 2Mod10, MSI Mod10, MSI Mod11, MSI Mod11 Mod10, Pharmacode, PostNet, Standard 2 of 5, Telepen, UPCA, UPCE, UPC Supplemental 2Digit and UPC Supplemental 5Digit.

Matrix Barcode - support for QR Code and PDF417.

Correction Level - support for Low, Medium, Quartile and High correction levels

Scaling Modes - support for fit and custom scale scaling modes.

Pixel Snapping - integrated pixel snapping that displays the barcode in such a zoom level that avoids antialiasing and displays barcode symbols at exact pixels.

Code Embedding - allows you to modify every aspect of the barcode appearance using C# code.

Unique Features

Code Embedding - the only barcode web part that allows the execution of custom C# code in runtime.

XML Formatted Texts - this feature is applicable to all elements which display text. It allows you to mix fonts, mix bold, italic underline formatting and many other advanced features like different fill styles, shadows, image filters etc. - all inside a single label, title etc. XML formatted texts use a format similar to HTML, but with many more advanced options.

Blazing Fast Barcode Designer - Nevron Barcode for SharePoint features an advanced designer, which is built with jQuery UI. The designer supports all major web browsers and does not require any plugins (like Silverlight or Flash). It does not use postbacks, MS ASP.NET controls or MS AJAX, which ensures that the client-server communication is brought to a minimum. The server-side UI processing is pure HTML and script rendering. The client-side is pure HTML, CSS and jQuery JavaScript.


Barcode - Getting Started
Barcode > Barcode - Getting Started
The purpose of this topic is to provide basic understanding of barcode terminology
Barcode Elements

Barcode images are composed of two types of elements elements - barcodes and title. Each of these elements is editable from the Nevron Barcode for SharePoint visual interface. The following image illustrates the barcode elements:

Following is a brief description of the barcode elements shown on the above picture along with a link to a more detailed topic:

Title - titles are generally used to display static text describing the contents of the barcode. For more information check out the Titles topic.

QR Code Barcode - each barcode area can display either a matrix or linear barcode. The first barcode area displays a QR Code barcode which is a matrix barcode.

EAN12 Barcode - each barcode area can display either a matrix or linear barcode. The second barcode area displays a EAN12 Code barcode which is a linear barcode.

See Also
Titles
Barcode Areas


The Barcode Designer
Barcode > The Barcode Designer

Nevron Barcode for SharePoint can be visually edited in any major web browser, though a web based designer. The barcode designer is invoked by the "Run Barcode Designer" toolbar command, which appears above the web part in page editing mode. The barcode designer header consists of two important controls - the main toolbar and the main tab strip as shown by the following screenshot:

The editing info bar provides information about the currently edited web part, the current SharePoint user and the location of the edited web part in SharePoint.

The main toolbar provides access to the main commands related to the webpart that you edit - see The Main Toolbar for more info.

The main tabstrip provides access to different web part settings - following is a brief overview of its pages:

  • Data Source Page - lets you connect the barcode to a data source.
  • Barcode Page - exposes properties of the barcode areas, legends, titles etc.
  • Pivot Page - provides a visual interface to the chart pivot.
  • Code_Page - provides a visual interface for custom code injection.
  • Rendering Page - exposes properties related to chart rendering.
  • Preview Page - lets you see a WYSIWYG preview of the current chart configuration.
The Main Toolbar

The main toolbar has the following commands:

  • OK - saves any changes in the edited web part and returns you to the edited page (leaves the designer).
  • Cancel - discards any changes to the web part and returns you to the edited page (leaves the designer).
  • Apply - saves any changes in the edited web part and lets you continue the editing (does not leave the designer).
  • Reset - lets you reset the web part to a blank (default) one. The blank web part is not connected to any data source and is the web part with which you start by default.
  • Save - saves the current state of the web part to an external file. You can later load this state file in any other web part.
  • Load - loads a previously saved state file.
  • View Web Parts Config - lets you inspect the global settings under which the webpart operates. See the The WebParts Config File for more info.
  • Help - opens the web help of the Nevron SharePoint Vision product.
No changes are applied to the edited web part until you click the OK or Apply buttons.
Data Source Page

The Data Source page lets you connect the barcode to a tabular data source. Currently you can bind the barcode to the following types of data sources:

  • Database
  • SharePoint List
  • SharePoint Site Query
  • Excel Services
  • Business Data Catalog
  • Web Part Table

See the Connecting to Data topic for a complete discussion.

The barcode must be connected to a data source prior to editing the rest of its settings. That is why for a blank web part the Data Source page is displayed first. Once specified, it is not recommended to change your data source, since expressions that you write may reference field values from the data source.
Barcode Page

Nevron Barcode for SharePoint supports multiple barcode areas and titles. A barcode type is associated to each barcode area. Barcode areas and titles are edited from the Barcode Areas and Titles sub-tabs of the Barcode page. See the Barcode Areas and Titles topics for a full description of the settings per each of these elements.

The Layout and Appearance sub-tabs of the Barcode Designer tab control general layout and appearance settings, which are not associated with a particular barcode area or title. See Understanding the Barcode Layout for a complete discussion.

For web part that is already connected to a data source the Barcode page is displayed by default.
Code Page
Nevron Barcode for SharePoint allows for users with development experience in C# or VB.NET to inject custom code, which is executed at runtime. The code injection is dynamic meaning that no deployment of assemblies is needed for the injected code to run. See Code Injection for more information.
Pivot Page

Nevron Barcode for SharePoint is built on top of the Nevron Pivot Engine. The Pivot page lets you define the barcode filters, which helps you filter the data set. You can then use expressions to specify dynamic property values that use data from this filtered data set.

Rendering Page
The Rendering page lets you tune the image rendering options of the barcode. See the Rendering Options for more information.
Preview Page
The Preview page lets you see a WYSIWYG preview of the webpart as it will appear at runtime. The preview is generated with the processed barcode pivot and uses the current data source state.
Browser Compatibility

The Designer is compatible with all modern web browsers (Chrome, FireFox, Opera, IE 11/10/9/8/7 etc.). Browser compatibility is ensured by the JQuery JavaScript library and a common CSS layer developed by Nevron.


Barcode Areas
Barcode > Barcode Areas

Nevron Barcode for SharePoint supports multiple barcode areas. Barcode areas are added, removed and edited by the Barcode Areas Tab of the Barcode Major Tab (Barcode > Barcode Areas). Nevron Barcode for SharePoint must have at least one barcode area, which is created by default. The default barcode area is configured to be a matrix barcode with QR Code encoding that displays the "Nevron Barcode for SharePoint" text.

Each barcode area has the following properties:

General

Visible - specifies the visibility of the barcode area

Text - specifies the text displayed by the barcode. Note that certain limitations apply depending on the currently chosen encoding settings (e.i. not all barcode types can display certain texts). The barcode will prompt you to insert a text that can be displayed by the currently selected encoding.

Size Group - this group of settings has the following properties:

Size Mode - defines the way in which the barcode image is sized to the barcode area. Possible values are:

  • Fit - the barcode image is fitted and centered with preserved aspect ratio inside the barcode area.
  • Scale - the barcode is scaled with a user specified scale factor and displayed centered inside the barcode area.

Both sizing modes will additionally zoom the barcode image in such a way that it snaps to exacts pixels.

Scale - visible only when Size Mode is set to Scale. Allows you to tune the scaling factor, with which the barcode image is zoomed.

Content Alignment - specfies the content alignment of the barcode relative to the barcode content area.

Encoding Group - this group of controls defines the way in which the Text is encoded as a barcode image. It has the following properties:

Barcode Type - defines the primary type of barcode type that you want to use. Possible values are Matrix and Linear.

Matrix Barcode Symbology - visible only when Barcode Type is set to Matrix. Defines the type of matrix symbology to use. Possible values are QrCode and Pdf 417.

Error Correction Level - visible only when Barcode Type is set to Matrix. Defines the error correction level of the matrix representation (i.e. the amount of damage the image can sustain and still be readable). Possible value are:

High

  • Low – up to 7% damage
  • Medium – up to 15% damage (default)
  • Quartile – up to 25% damage
  • High – up to 30% damage

Levels Low or Medium represent the best compromise between density and ruggedness for general use.

Linear Barcode Symbology - visible only when Barcode Type is set to Linear. Defines the type of linear symbology to use. Possible values are: Codabar, Code 11, Code 39, Code 39 Extended, Code 93, Code 128, Code 128A, Code 128B, Code 128C, EAN8, EAN 13, FIM, Interleaved 2 of 5, ISBN, ITF14, JAN13, MSI 2Mod10, MSI Mod10, MSI Mod11, MSI Mod11 Mod10, Pharmacode, PostNet, Standard 2 of 5, Telepen, UPCA, UPCE, UPC Supplemental 2Digit and UPC Supplemental 5Digit.

Show Label - specifies whether to show the label associated with linear barcodes.

Appearance Group - the controls in this group let you change the foreground and background fillings of the squares and lines that constitute the barcode image. See Fill Style Editor for more information about the fill editor.

Layout
Controls the margins, padding and position of the barcode panel created for the barcode area. For more information about panels see the The Barcode Layout topic.
Action
Lets you specify an action that is associated with the barcode area. See Actions and Drill Down reports for more information.


Titles
Barcode > Titles

Nevron Barcode for SharePoint supports multiple titles. Titles are added, removed and edited by the Titles Tab of the Barcode Major Tab (Barcode - Titles). Following is a description of the properties of each title.

General

Visible - controls the visibility of the title.

Text - specifies the text displayed by the title. See the XML Formatted Texts topic for more information on how to create texts with rich formatting.

Orientation - controls the orientation of the title text. Possible values are:

  • Horizontal - the text is displayed with horizontal orientation.
  • Vertical Upward - the text is displayed with vertical orientation and flows bottom to top.
  • Vertical Downward - the text is displayed with vertical orientation and flows top to bottom.
  • Automatic - automatically chooses one of the above modes, based on the title docking position (Horizontal - for bottom and top positions, Vertical Upward for left and Vertical Downward for right). In case the title is manually positioned this mode resolves to Horizontal.

Fit Mode - controls how the text of the label will fit the bounds provided by the control layout. Possible values are:

Fit Mode | Description
Wrap | The label content is wrapped inside the bounds, thus not allowing it to exceed the available width. The bounds height may increase. No text information is lost and the text is displayed with the specified font size. This is the default mode.
Clip | The label content is clipped inside the bounds. In this mode the label size will not change however text information can be lost at small sizes.
Fit | The label content is fitted inside the bounds. No text information is lost, however the text size may become small and unreadable at small sizes.
Stretch | The label content is stretched to fit the bounds.

Text Alignment Mode - controls how text lines in a multi line text are aligned. Possible values are:

Text Alignment Mode | Description
Auto | The alignment is automatically chosen by the control depending on the setting of Dock Position (specified in the Layout page). This is the default setting.
Left | Text lines are left aligned.
Center | Text lines are center aligned.
Right | Text lines are right aligned.

Text Style - controls the appearance of the title text.

Layout
The properties in this page control the layout of the title. For more information see The Barcode Layout.
Action
Lets you choose the type of action associated with the title. See Actions and Drill Down reports for more info.


The Barcode Layout
Barcode > The Barcode Layout

Nevron Barcode for SharePoint supports multiple barcode areas and titles. In order to take full advantage of this feature you must understand how the barcode layout system works.

Panels and the Box Model

Nevron Barcode for SharePoint treats barcode areas and titles as panels. Panels use a box model, which is summarized by the following drawing:

Each panel has margins and padding. The margins define a white space around each panel. The padding defines the space with which the panel content is padded (inflated). The margins and padding settings can be inherited from the barcode default margins and padding settings, if the respective Automatic property is set to true.

By default the Automatic property for the margins and padding of all panels is set to true and the actual margins and padding are obtained from the barcode control default margins and padding. You can modify the default margins and padding from the Barcode > Layout tab. The margins and padding of each panel are accessible from the Layout tab for that panel.

In general the layout algorithm described below uses a combination of docking and absolute positioning. When a panel is docked both it margins and padding are taken into account to display the content at its best size. When a panel is manually positioned the margins are ignored, since they are not needed (margins define a white space, which only automatic layouts should consider).

The Layout Algorithm

The following image illustrates the layout areas in the Nevron Barcode for SharePoint product:

The layout algorithm performs the following steps:

  1. Layout the Outer Titles

    Outer titles are such titles for which the Position property is set to Dock To Barcode.

    The Dock Position property in this case determines the side at which the title must be docked in the outer titles area and the alignment of the title in this side area. For example:

    Dock Position = Top Center means dock the title to the top side and align it in the center.

    Dock Position = Right Top means dock the title to the right side and align it to the top.

  2. Position the Barcode Areas Host Panel

    The barcode areas host panel is an invisible panel, which fills the space which remains after step 1 has been performed.

  3. Layout the Barcode Area Host Panels

    The barcode areas host panels are invisible panels, which are created for each barcode area. These panels are split into two sets - the ones that use automatic positioning and the ones that use manual positioning.

    A barcode area uses automatic positioning, if its Automatic position property is set to true (go to Barcode Area - Layout tab and set to true the Automatic property in the Position group). Automatically positioned barcode areas are placed in the cells of an imaginary grid, the sizing of which is determined by the Barcode - Layout - Barcode Areas Layout property group.

    A barcode area uses manual positioning, if its Automatic position property is set to false. In this case you can choose from one of the following manual position options:

    Manual Position Mode | Description
    Root Box | In this mode the barcode position is determined in percentages of the Barcode Areas Host Panel.
    Parent Box | In this mode the barcode position is determined in percentages of the Barcode Area specified by the Parent Area combo.
    Parent Radial | In this mode the barcode center is determined in polar coordinates (Offset, Angle) from the Barcode Area specified by the Parent Area combo. The size of the barcode is specified by the Width and Height settings.

    The Z order of the barcode areas is always determined by the order in which they appear in the Barcode Areas Collection.

  4. Layout the Inner Titles (for each barcode area host panel)

    Inner titles are such titles for which the Position property is set to Dock To Barcode Area. You must pick a barcode area to which to dock from the Barcode Area property. The Dock Position property in this case determines the side at which the title must be docked in the inner titles area of the barcode area host panel and the alignment of the title in this side area.

  5. Position the barcode areas (for each barcode area host panel)/

    The barcode area fills the space, which remains after steps 3 and 4 have been performed.

  6. Layout the Plot Titles (for each barcode area)

    Plot titles are such titles for which the Position property is set to Dock To Barcode Plot Area. You must pick a barcode area to which to dock from the Barcode Area property. The Dock Position property in this case determines the side at which the title must be docked in the barcode plot area and the alignment of the title in this side area.

  7. Layout the Floating Titles

    Floating titles are such titles for which the Position property is set to Manual. A floating title is positioned relatively to a pin point. The pin point coordinates are specified in percents of the area, which remained after the control border was applied (by the Pin X Percent and Pin Y Percent properties). The title is aligned to the pin point via the Pin Alignment property. For example:

    Pin X Percent = 0, Pin Y Percent = 0, Pin Alignment = Bottom Right - means position the pin point at the 0, 0 percents and align the title so that it is located at the bottom right side of the pin point.


Rendering Options
Barcode > Rendering Options

The barcode rendering options are accessible from the Barcode > Rendering major tab. Following is a description of these options.

Auto Refresh Interval - specifies the amount of time (in milliseconds) at which the web part is automatically refreshed. A value of 0 indicates that the web part is not automatically refreshed.

Use the Auto Refresh feature only when needed - for example for presenting a regularly changing data source (realtime data).
The Auto Refresh feature is expensive to use in general, since each web part refresh will request a new reaggregation of the data.
If you need to provide users with the ability to manually refresh a specific web part (at a button click for example) - you can use the take a look at the NRefreshWebPart JScript function, which is described in the Custom Parameters with Nevron JavaScript API topic.

Width - the width of the barcode in pixels.

Height - the height of the barcode in pixels.

Image Acquisition Mode - specifies the way in which the client browser acquires the web part image. Possible values are:

  • Temp File - a temporary image is created to the Layouts\Nevron\Barcode\Temp folder and the browser acquires the image from this file.
  • Http Handler - a temporary image is created in the respective image stream container and the image is served to the browser via a custom HTTP handler.
  • Embedded - the temporary image is encoded directly in the HTTP response (the default setting). This setting eliminates the need for temporary image store. Unfortunately old browsers such as IE 7.0 and older do not support image embedding and IE 8.0 only supports embedded images of small sizes. For these browsers the web part automatically switches to Http Handler acquisition mode.

Image Format - specifies the format of the image generated by Nevron Barcode for SharePoint at runtime. By default set to PNG - possible values are Bmp, Jpeg, Png and Gif.

Render Image Map - specifies whether Nevron Barcode for SharePoint should render an image map. The web part can generate an image map, which contains information about tooltips, actions etc. The image map should be rendered, if the web part is designed to be interactive. You should consider setting this property to false, if the web part does not need any interactivity features. This will speed up its rendering.

Enable 3D Antialiasing - this setting is regarded when the barcode is rendering in 3D. When checked you can additionally specify the number of image samples generated by the control in order to produce smooth edges for 3D objects. The default setting for 3D antialiasing samples is 4.

Enable 2D Antialiasing - turns on or off the antialiasing of 2D objects.

Text Rendering Mode - allows you to specify the text rasterization mode. The following settings are available:

  • Aliased - no antialiasing is performed. This setting will produce jagged text edges.
  • Antialiased - the control will perform antialiasing on texts. This setting is recommended when reports will be viewed on both LCD and CRT displays.
  • Clear Type - the control will perform subpixel antialiasing on texts, utilizing RGB color cell order on LCD displays for better quality. This is the default setting.

Use Regional Settings - specifies whether specific regional (culture) settings must be used. When unchecked the webpart will use the server default culture settings. When checked the culture with the specified culture name is used.

Culture Name - a string, which determines the culture with which the barcode is rendered, when Use Regional Settings is checked. The culture controls the formatting of all numbers and dates displayed by Nevron Barcode for SharePoint. If left blank, the barcode will use the default server culture. See the Culture Table for a list of all acceptable culture names.


Pivot Engine - Getting Started
Pivot Engine > Pivot Engine - Getting Started

The Nevron Pivot Engine stays behind all data aggregation / analysis features provided by Nevron web parts. It uses formula expressions, which gives you flexible control over grouping, filtering and sorting and also provides the ability to define dynamic property values based on formulas.

The Nevron Pivot Engine has a design model, which is visually edited directly in the browser by the respective web part pivot designer. Different web parts are providing a different interface towards the pivot design model. The Chart Data Model and The Gauge Data Model topics, describe the pivot design model used by the respective web part.

At runtime the design model is processed towards the current state of the data set to produce a runtime state, which is then rendered by the webpart. It is important to know that for the same design model the runtime state can be different, depending on the data set which is processed.

The following images illustrate a simple pivot at design time and runtime:

Figure 1. Design Time | Figure 2. Runtime

In Figure 1 you can see a sample pivot at design time. It is assembled from filters, properties, hierarchically organized row and column data groupings and a grid of data cells, which is sized to the count of leaf row and column data groupings.

In Figure 2 you can see a sample pivot at runtime. It is produced for the design model at Figure 1, assuming that the A, B, E and F data groupings produced only 2 data members each and also assuming that the C, D, G and H data groupings had no grouping expressions. The color coding helps you see the span of each data cell.

Following is a brief description of the terms used in the pivot engine documentation:

data grouping and data members - a data grouping defines expressions for grouping, filtering and sorting. When a data grouping is processed it creates one or more data members - one data member for each group. Data members are filtered and sorted with the data grouping filters and sorting rules. The resulting data members are recursively passed for processing to the child data groupings (see Grouping, Filtering and Sorting).

data cells - a data cell is a container for properties. At runtime, the properties of a single design time data cell are evaluated and copied to all the intersections of the row/col data members created for the leaf row/col data groupings, for which the design time data cell was created.

property - at design time a property is a a {name:expression} pair. At runtime a property is {name:value} pair, where the value is taken from the result of the expression evaluation. A pivot model stores properties in three places:

  • global properties
  • data grouping
  • data cell

data set and fields - a data set is any tabular data source the columns of which are called fields.

recordset - a recordset is an enumeration of a subset of records (rows) from a data set. A recordset is EMPTY, if it contains no records. A recordset is FULL, if it contains all the records from the data set. The intersection of recordsets R1 and R2 is a recordset, which contains records that exist in both R1 and R2.

scope - a scope is generally a reference to a recordset. Expressions are always evaluated in the context of some scope, which results in different values based on the scope recordset. Scopes are hierarchical in nature, since pivot processing is performed hierarchically.

expression - an expression is a formula string, which is evaluated in the context of a scope (e.g. the same expression may evaluate to a different value given a different scope). Expressions are used at design time in properties, groupings, sortings and filters (see Expressions).

The process of converting a design time pivot to a runtime pivot is known as pivot processing and is briefly described in the Pivot Processing topic.

See Also
Pivot Processing
Grouping, Filtering and Sorting
Expressions


Pivot Processing
Pivot Engine > Pivot Processing

The transformation of a design time pivot to a runtime pivot is is known as pivot processing. Following is a brief description of the steps performed by this process:

  1. Fetch Data - the processing starts by fetching the data from the data set and building an abstract table representation for it. The data fetching phase allows the rest of the steps to be performed in a data source invariant manner.
  2. Enter Global Scope - the pivot enters the Global scope, which references the FULL recordset. The Global scope is available in all expressions (see Variables).
  3. Pivot filtering - the purpose of pivot filtering is to remove records from the data set that you do not want to include in the row and column data grouping processing. Pivot filtering is performed by the pivot filters. This phase removes records from the FULL recordset (see Filtering).
  4. Enter Pivot Scope - the pivot enters the Pivot scope, the recordset of which includes the records that passed the pivot filters. The Pivot scope is available in all expressions, except the expression used in pivot filters.
  5. Evaluate Pivot Properties - at this step the pivot properties are evaluated. Note that the current scope of evaluation is the Pivot scope.
  6. Process Row/Column Data Groupings - the processing of row /column data groupings is identical. It starts from the root row/column data groupings and then proceeds with their children (e.g. data groupings are processed in an outer-to-inner, parent-to-children fashion).

    Each data grouping may generate zero, one or more data members. A data member is an instance of a data grouping at runtime. Each data member has an associated scope, which references a single group recordset created by the data grouping grouping expressions (see Grouping). The properties of each data member are the data grouping properties evaluated towards the data member scope.

    Data members are filtered and sorted by the data grouping filter and sorting rules (see Filtering and Sorting). The child data groupings of a data grouping generate child data members for all data members created for the data grouping.
  7. Process the Data Matrix - a runtime data cell is created for all leaf row and column data member intersections. The properties contained in each runtime data cell are obtained from the design time data cell, corresponding to the leaf row and column data groupings for which the leaf row and column data members were generated. Because there may be multiple data members generated for a data grouping, the properties of a design cell can span several runtime cells.

    The properties for a runtime data cell are evaluated towards a scope, which references the intersection of the leaf row and column data member recordsets, for which the cell was created. The parent of this scope is the pivot scope. You can reference the leaf row and column data member scopes in data cell property expressions (see Variables).
See Also
Grouping, Filtering and Sorting
Expressions


Grouping, Filtering and Sorting
Pivot Engine > Grouping, Filtering and Sorting > Grouping, Filtering and Sorting

The essence of pivot data analysis is the capability to perform hierarchical grouping, filtering and sorting. When row or column data groupings are processed, each data grouping operates on a subset of the data set records. Data groupings are processed from parent to children (e.g. outer to inner), which subsequently decreases the number of records in the current scope.

The pivot processing starts with a FULL recordset. The FULL recordset is then filtered with the global pivot filters. The resulting recordset is the input scope for all root row and column data groupings. To better describe grouping, filtering and sorting we will assume that we have a pivot with no global filters, which is connected to the following fictional data set:

The id column is a 1-based index of the records in the table. We will be using the id column to define the records and their order in a recordset (scope).

The samples in this chapter denote the recordset in this format: recordset={r1,r2..rn} - for example the FULL recordset in the default data set order is fullRS={1,2,3,4,5,6,7,8,9}, while the recordset for the Maison company records is maisonRS={4,5,6}.

See Also
Grouping
Filtering
Sorting
Expressions


Grouping
Pivot Engine > Grouping, Filtering and Sorting > Grouping

The examples in this topic consider the sample data set described in Grouping, Filtering and Sorting:

Each data grouping has a collection of grouping expressions.

When a data grouping with grouping expressions is processed, the input recordset is split into one or more sub-recordsets called group recordsets or simply groups. Group recordsets do not overlap and their union is the input recordset. Two records from the input recordset belong to the same group, if all grouping expressions evaluate to the same value for both records. For example:

Let A be a root data grouping with a single grouping expression: =Fields!company. The generated groups are: A1={1,2,3}, A2={4,5,6} and A3={7,8,9}. (e.g. group by the company field)

Let A be a root data grouping with a single grouping expression: =Fields!sales > 150. The generated groups are: A1={1,2,3,4,5,9} and A2={6,7,8}.

Let A be a root data grouping with two grouping expressions: =Fields!company, =Fields!sales > 150. The generated groups are: A1={1,2,3}, A2={4,5}, A3={6}, A4={7,8} and A5={9}.

A data member is created for each one of the groups, which the grouping expressions produced (if it passes the group filters - see Filtering). The children of each data member are the data members produced by the child data groupings, evaluated towards the data member group recordset. For example:

Let A be a root data grouping with grouping expression: =Fields!company and let B be a child data grouping of A with grouping expression: =Fields!region. A produces 3 data members: A1, A2 and A3 (for Bigfoot, Maison and Leka respectively). For A1, B produces three data members - A1.B1, A1.B2, A1.B3 (for Bigfoot - Europe, Bigfoot - US and Bigfoot - Asia respectively). For A2, B again produces three data members - A2.B1, A2.B2, A2.B3 (for Maison - Europe, Maison - US and Maison - Asia respectively) and so on. The group recordset for A1.B1 is {1}, for A1.B2 is {2} etc.

A data member is an instance of the data grouping in the context of a group produced by the data grouping grouping expressions. The properties of data member are the properties of the data grouping, evaluated towards the group recordset. You can use aggregate functions in the properties of a data grouping. For example:

Let A be a root data grouping with grouping expression: =Fields!company and let A has a property P with expression:=SUM(Fields!profit). A produces three data members A1, A2 and A3 with group recordsets A1={1,2,3}, A2={4,5,6} and A3={7,8,9}. Each data member has a property P. For A1 the value of P is (15+50+80)=145, for A2 the value of P is (18+20+70)=108, for A3 the value of P is (10+60+30)=100.

In essence: Multiple grouping expressions help you group the data by multiple rules which are combined with logical AND. Child data groupings help you organize the data hierarchically. Grouping expressions are evaluated towards a single record. Data grouping property expressions are evaluated towards the group recordset.

When the data grouping has no grouping expressions, only a single data member is created for it (if at least one record from the input recordset passed the record filters). The absence of grouping expressions also instructs the filter and sorting rules to operate on single records, rather than on groups (see Filtering and Sorting)

It is often required to create groups for each record of the data source, which is generally a requirement when you want to convert the pivot to a simple table. You can do that by using the =Fields![RowIndex] as grouping expression.
See Also
Filtering
Sorting
Expressions


Filtering
Pivot Engine > Grouping, Filtering and Sorting > Filtering

The examples in this topic consider the sample data set described in Grouping, Filtering and Sorting:

Filters rules can be assigned to each pivot data grouping. The pivot itself has a collection of global filter rules.

Filtering is performed in two modes - group filtering and records filtering. The pivot engine automatically chooses between them depending on the presence/absence of data grouping expressions. The global pivot filters always operate in records filtering mode. In both cases all filter rules must pass the record/group in order for it to pass the filters.

Filter Rules

A filter rule is defined by a Type, Expression and Value triplet. The filter Type defines the type of filter that needs to be performed. Possible values are:

  • Expression
    An expression filter rule takes into account only the rule expression. If the expression evaluates to true - the element (record or group) passes the filter, otherwise it is rejected by the filter. For example:

    A global filter rule: Type:Expression, Expression:=Fields!company="Leka" will pass only the records for the Leka company, which are 7, 8 and 9.

    A global filter rule: Type:Expression, Expression:=Fields!sales>140 will pass only the records with sales larger than 140, which are 6, 7, 8 and 9.

    A data grouping filter rule: Type:Expression, Expression:=SUM(Fields!sales) > 500 for for a root data grouping with group by expression:=Fields!company will pass only the groups for companies which have total sales larger than 500, which in our case are Leka and Maison.
  • Top N
  • Bottom N
    Top/Bottom N filters help you get the top/bottom N elements (records or groups). The Value expression must evaluate to an integer number, which defines the number of elements to pass from the top/bottom. If the filter expression is blank or evaluates to a constant value these filters return the top/bottom elements in their default order. Otherwise the filter expression is evaluated towards all elements and the elements are sorted in decreasing/increasing order, based on the expression value for each element. In this case the filter returns the top/bottom distinct values. For example:

    A global filter rule: Type:TopN, Expression:, Value:3 will pass only the top three records, which are: 1,2 and 3.

    A global filter rule: Type:TopN, Expression:=Fields!sales, Value:3 will pass only the top three distinct records by sales, which are: 6,7 and 8.

    A global filter rule: Type:TopN, Expression:=Fields!company, Value:3 will pass the top three distinct company names - in our case all records.

    A data grouping filter rule: Type:TopN, Expression:=SUM(Fields!sales), Value:1 for a root data grouping with group by expression:=Fields!company will pass the first company by total sales, which in our case is Leka (Leka total sales are 213+170+145=528, Bigfoot total sales are 100+120+135=355 and Maison total sales are 98+69+340=507),
  • Top Percent
  • Bottom Percent
    Top/Bottom Percent filters help you get the the top/bottom percent count of elements (records or groups). The Value expression must evaluate to a floating point number, which defines the percentage in [0;100] range. Top/Bottom Percent filters are identical to Top/Bottom N filters, the difference being that the number of elements is defined as a percentage of the current scope elements count.
Group Filtering

Group filtering is performed by data grouping filtering rules, when the data grouping has grouping expressions (which is the most common case).

The goal of group filtering is to determine whether a data member should be created for a group, produced by the grouping expressions or not. You must use aggregate functions in group filter expressions. For example:

Let A be a root data grouping with a single grouping expression:=Fields!company and a single filter expression:=FIRST(Fields!company)="Maison". The grouping produces the following groups: A1={1,2,3}, A2={4,5,6} and A3={7,8,9}. A data member is however generated only for A2, because only the company column value of record 4 is "Maison". Note that the filter expression uses an aggregate function, so only the company column value of records 1, 4 and 7 were taken into account (each one of them is the first record in its group), however since we grouped by company all records in each group are for the same company.

Let A be a root data grouping with a single grouping expression:=Fields!company.Value and a single filter expression:=SUM(Fields!profit.Value) > 120. The grouping produces the following groups: A1={1,2,3}, A2={4,5,6} and A3={7,8,9}. A data member is however generated only for A1, since the sum of profit values for records {1,2,3} is 145. The sum of profit values for records {4,5,6} and {7,8,9} is 108 and 100 respectively so these groups failed to pass the filter.

Record Filtering

Record filtering is performed by the data grouping filtering rules, when the data grouping does not have grouping expressions. Record filtering is always performed by the global pivot filters.

The goal of record filtering is to determine whether a record from the input recordset should be included in the one and only data member group or not. It makes no sense to use aggregate functions in record filter expressions, since they are always evaluated towards a single record. If all records fail to pass the filters even a single data member is not created for that data grouping. For example:

Let A be a root data grouping without grouping expressions, with a single filter:=Fields!sales.Value<100. Also let A has a property P with expression:=SUM(Fields!sales.Value). This results in a single data member with a property P the value of which is (98+69)=167

See Also
Grouping
Sorting
Expressions


Sorting
Pivot Engine > Grouping, Filtering and Sorting > Sorting

The examples in this topic consider the sample data set described in Grouping, Filtering and Sorting:

Sorting rules can be assigned to each pivot data grouping.

Like filtering, sorting is performed in two modes - group sorting and records sorting. The pivot engine automatically chooses between them depending on the presence/absence of data grouping expressions. In both cases the sorting order is defined by a set of sorting rules.

Sorting Rules

A sorting rule is defined by an Expression and Direction pair. The Direction can be Ascending or Descending. For each pair of input elements (groups or records) E1 and E2 the sorting rules define their order (i.e. E1 < E2, E1 = E2 or E1 > E2) by evaluating the first sorting rule expression towards E1 and E2 and comparing the resulting values in the context of the sorting direction. If the values are equal the operation is performed for the next sorting rule and so on. The elements are sorted given this order.

Group Sorting

Group sorting is performed when the data grouping has grouping expressions. The goal of group sorting is to order the filtered groups for which data members should be created. For example:

Let A be a root data grouping with a single grouping expression:=Fields!company and a single sorting rule: Expression:=SUM(Fields!sales), Direction:Descending. The generated groups are: A1={1,2,3}, A2={4,5,6} and A3={7,8,9}. The sum of sales for A1 is (100+120+135)=355, for A2 the sum of sales is (98+69+340)=507, for A3 the sum of sales is (213+170+145)=528. Hence the data members order is AM3, AM2, AM1 (descending).

Record Sorting

Record sorting is performed when the data grouping does not have grouping expressions. The goal of record sorting is to order the filtered records, for which a data member should be created. It makes no sense to use aggregate functions in record filter expressions, since they are always evaluated towards a single record from the input recordset. For example:

Let A be a root data grouping with no grouping expressions and a single sorting rule: Expression:=Fields!sales, Direction:Ascending. Also let A has two properties - P1 with expression:=FIRST(Fields!sales) and P2 with expression:=LAST(Fields!sales). The input recordset is {1,2,3,4,5,6,7,8,9} while the group recordset will be {5,4,1,2,3,9,8,7,6) (sorted by sales in ascending order) - hence the P1 value will be 69 and the P2 value will be 340.

See Also
Grouping
Filtering
Expressions


Expressions
Pivot Engine > Expressions

Expressions are widely used in the pivot design model to define grouping, sorting and filtering rules and to also define dynamic property values for data groupings, data cells and pivot properties. A large set of Functions is implemented to ensures that you have the needed flexibility to define complex pivots that perform sophisticated data analysis. A scope based format is provided to ensure that you reference Variables in correct/desired evaluation scope.

Overview

Expressions are strings that embed formulas, which the pivot engine evaluates when it processes the design pivot to build the runtime pivot. Expressions are hence only available at design time - at runtime you get the result of their evaluation either as property values or as runtime pivot structure (because expressions are used to control the generation of runtime data members for design time data groupings).

Expressions start with '=' (Equals) character and are followed by a formula. A valid expression is such a string, which is lexically and grammatically correct. Expressions are constructed from tokens. Tokens are such substrings from the initial expression, which cannot be broken into other tokens.

A lexically correct expression consists of the following set of tokens:

  • Parenthesis - the '(' and ')' characters, which can be used to change the operators privilege, and enclose the functions arguments.
  • Operator - the predefined operators, which you can use (+,-,*,\,<,> etc.)
  • Comma - the ',' character
  • Constant - this is a constant value embedded in the expression. It can be a number, boolean value or string.
  • Function - this is an identifier, which references a function
  • Variable - this is an identifier, which references a dynamic (variable) value.

Each grammatically correct expression can be represented as a tree with items from one of the following types:

  • Numbers - these are integer and floating point number constants. Following are some correctly formatted numbers:
    =12; =0.1; =145.23; =7.5E-17; =8.234E+13
  • Booleans - these are the true and false boolean constants. Following are some correctly formatted boolean values:
    =true; =false; =True; =False; =TRUE; =FALSE
  • Strings - these are substrings of the expression, which are enclosed in " (quote) characters. Following are some correctly formatted strings:
    ="hello"; ="world"
  • Operators - supported is a common set of binary and unary operators (+. -, *, \, ^, =, <, >, <=, >=, <> and &) (see Operators below).
  • Parenthesis - the '(' and ')' characters can be used to change the operators precedence. For example:
    =(10 + 20) * 2     - evaluates to 60; =10 + 20 * 2 - evaluates to 50
  • Functions - supported is a large set of mathematical, trigonometric, logical, text, date-time and bitwise functions. Function arguments must be enclosed in parenthesis and divided by commas (see Functions). For example:
    =MIN(10, 20) - evaluates to 10; =COS(0) - evaluates to 1.
  • Variables - variables are valid identifiers to which a value is provided at runtime. Variables are automatically created for the values of the current scope recordset fields (see Variables).

The expression evaluation works with variants. The result of each expression evaluation is a variant too (e.g. a value of certain type - see Variants below).

Operators

You can use operators in expressions to perform arithmetic operations (+, -, *, / and ^) or logical comparisons (<, >, =, <=, >= and <>). You can also control the order of evaluation in a formula by enclosing expressions in parentheses. The ampersand (&) operator is used for the concatenation of character strings.

Arithmetic operators mainly perform operations on numbers, but can also be used for date-time/time-span arithmetics. The following table summarizes the arithmetic operators:

Syntax Name Description Examples
+ Unary plus Does nothing - it is defined for completeness with the unary minus.
Argument should be Number, TimeSpan, Array or Empty.
Supports array chaining. 		+10
Returns: 10
- Unary minus Used to establish a number with a negative sign.
Argument should be Number, TimeSpan, Array or Empty.
Supports array chaining. 		-10
Returns: -10

-ARRAY(10, 12)
Returns: ARRAY(-10, -12)
^ Exponentiation Raises arg1 to the power of arg2.

Both arguments should be numbers.
If either one is empty the result is empty variant.
Supports array chaining.

 10 ^ 2
Returns: 100

ARRAY(10, 12) ^ 2
Returns: ARRAY(100, 144)
* Multiplication Multiplies arg1 by arg2.
Both arguments should be numbers.
If either one is empty the result is empty variant.
Supports array chaining. 		10 * 2
Returns: 20

ARRAY(10, 12) * 2
Returns: ARRAY(20, 24)
/ Division

Divides arg1 by arg2.
Both arguments should be numbers.
If either one is empty the result is empty variant.
Supports array chaining.

 10 / 2
Returns: 5

ARRAY(10, 12) / 2
Returns: ARRAY(5, 6)
+ Addition

Adds arg2 to arg1.
If either argument is a String, performs string concatenation.
If first argument is Number, second argument must also be a Number.
If first argument is DateTime, second argument must be a TimeSpan.
If first argument is TimeSpan, second argument must be a TimeSpan or DateTime.
Supports array chaining.

10 + 2
Returns: 12

ARRAY(10, 12) + 2
Returns: ARRAY(12, 14)

ARRAY(10, 12) + ARRAY(12, 23)
Returns: ARRAY(22, 35)

10 + "Nevron"
Returns: "10Nevron"
- Subtraction Subtracts arg2 from arg1.
If first argument is Number, second argument must also be a Number.
If first argument is DateTime, second argument must be a TimeSpan.
If first argument is TimeSpan, second argument must be a TimeSpan.
Supports array chaining. 		10 - 2
Returns: 8

ARRAY(10, 12) - 2
Returns: ARRAY(8, 10)

ARRAY(10, 12) - ARRAY(12, 23)
Returns: ARRAY(-2, -11)

Comparison operators are used in logical statements to determine equality or difference between variables or values. Comparison operators always evaluate to true or false. The following table summarizes the comparison operators:

Syntax | Name | Description | Examples
> | Greater than | Returns true if arg1 is greater than arg2. Otherwise returns false. Supports array chaining. | 10 > 2 Returns: true
< | Less than | Returns true if arg1 is less than arg2. Otherwise returns false. Supports array chaining. | 10 < 2 Returns: false
>= | Greater than or equal to | Returns true if arg1 is greater than or equal to arg2. Otherwise returns false. Supports array chaining. | 10 >= 2 Returns: true
<= | Less than or equal to | Returns true if arg1 is less than or equal to arg2. Otherwise returns false. Supports array chaining. | 10 <= 2 Returns: false
= | Equal to | Returns true if arg1 is equal to arg2. Otherwise returns false. Supports array chaining. | 10 = 2 Returns: false
<> | Not equal to | Returns true if arg1 is not equal to arg2. Otherwise returns false. Supports array chaining. | 10 <> 2 Returns: true

Logical operators are used to determine the logic between variables or values.

Syntax | Name | Description | Examples
&& | Logical AND | Returns true if both arg1 and arg2 are true, otherwise returns false. Supports array chaining. | true && false Returns: false
|| | Logical OR | Returns true if either arg1 or arg2 is true, otherwise returns false. Supports array chaining. | true || false Returns: true
The Logical NOT is not implemented as an operator, but as a function (see Logical Functions for more info).

The ampersand operator (&) is used to concatenate its arguments. You can use this operator to create new words and phrases. For example:

"hello" & " " & "world"

evaluates to: "hello world"

It is important to know that there is a priority assigned to each operator. If an expression contains several operators, which are not enclosed in parentheses, the operator with the highest priority is evaluated first. For example:

10 + 20 * 2

evaluates to 50, because the multiplication operator will be evaluated first (it has a higher priority than the addition operator).

(10 + 20) * 2

evaluates to 60, since the parentheses override the default way in which the expression is evaluated. The following table summarizes the operators priority:

Priority | Operators
1 | Unary plus (+); Unary minus (-)
2 | Exponentiation (^)
3 | Multiplication (*); Division (/)
4 | Addition (+); Subtraction (-)
5 | String concatenation (&)
6 | Greater than (>); Greater than or equal to (>=); Less than (<); Less than or equal to (<=)
7 | Equal (=); Not equal (<>)
8 | Logical And (&&&)
9 | Logical Or (||)
Variants

Variants are value-type pairs, which facilitate the type conversion of values, as well as mathematical and logical operations with values of different type. The result of an expression evaluation is always a variant too (e.g. a value of certain type). When variants are consumed or used in functions or operators that require a value of a certain type, variants are automatically casted to a value of this type.

Variant casting however cannot be always performed - for example you cannot cast "hello world" to a double. In cases when automatic casting cannot be performed the pivot will raise an error. There are seven main types of variants:

  • Empty - an empty variant holds no value. It is equivalent to DBNull. Empty fields values are represented by empty variants.
  • Boolean - holds a boolean (true/false) value. Boolean values can be converted to string. See Logical Functions.
  • Number - holds a floating point or integer number, with some precision (for example an Int32 number variant holds an integer value in 32 bits). When performing arithmetic operations numbers automatically change their type to ensure that they can hold the resulting value. Casting floating point numbers to integer numbers removes the decimal portion of the value. Numbers can be converted to string and you can format numbers with the FORMAT function. See Mathematical Functions and Trigonometric Functions.
  • Text - holds a text string. See Text Functions.
  • Date Time - holds a date time value. Date-time variants can be converted to string and can be formatted with the FORMAT function. See Date Time Functions.
  • Time Span - a time span value. Time-span variants can be converted to string (see Time Span Functions).
  • Array - holds an array of arbitrary variant values (see Array Functions).

A set of Type Functions is available, which lets you manage variant types.


Variables
Pivot Engine > Variables > Variables

In expresisons you can reference the value of certain pivot variables in the context of a particular scope. Some pivot variables values are not are affected by the current scope, but others - like data set field values - are.

Pivot variable references share the following common format:

[ScopePath.]CollectionName!ObjectName[.ValueDescriptor]

where:

ScopePath - is an optional path to the scope of the collection.
CollectionName - is a mandatory collection name.
ObjectName - is a mandatory object name.
ValueDescriptor - is an optional suffix to the object, that clarifies what object value must be obtained. If omitted the default object value is returned.

Currently there are two collections, that store variable values that expressions can consume:

  • Fields - the fields collection is automatically populated with the data source columns and the extended [RowIndex] and [RowCount] fields. Each field has a Value and Name value descriptors (properties). The Value is the default field object value. It returns either a single value or an array of values, depending on the count of records in the current scope recordset. The returned single or multiple values are the values for a specific data source column. See Fields for more information.

  • Parameters - the parameters collection holds a set of predefined parameters related to the current web part environment and can also include user defined (custom) parameters. See Parameters for more info.

See Also
Fields
Parameters


Fields
Pivot Engine > Variables > Fields

The fields collection is automatically populated with the data source columns and the extended [RowIndex] and [RowCount] fields. Each field has a Value and Name value descriptors (properties). The Value is the default field object value. The Value returns the respective data source column values for the current pivot scope (i.e. recordset).

Using Fields in Expressions

The data source column values in the context of the current scope recordset are referenced like this:

=Fields!FieldName
or
=Fields!FieldName.Value

where FieldName is the name of a data source column.

For example: if your data source has a column called MyField, you can reference it in any expression like this:

=Fields!MyField
or
=Fields!MyField.Value

In case the scope recordset contains a single record, the field value reference returns the record column value. In case the scope recordset contains multiple records, the field value reference returns an array of the column values - you typically enclose such references in an aggregate function (like SUM, MIN, MAX, FIRST, LAST etc.).

For the purpose of using data source column names in expressions, the original column names of the data source are normalized. The column name normalization basically converts a string containing any types of characters to a string that contains only letters, digits and the '_' character. The '_' is also used to replace all characters that are not letters, digits or '_'. This process alone can produce duplicates - for example PO# and PO% will both be normalized as PO_. Such conflicts are additionally resolved by adding an occurrence index, so PO# and PO% will be finally normalized as PO_ and PO_2. The Name property of a data source field however returns the original name of the data source column.

Extended Fields

The pivot engine automatically creates two extended fields - [RowIndex] and [RowCount]. You can think of the extended fields as system fields that is always present in any data source. Following are more details about them:

[RowIndex] - the row index is an automatically assigned zero-based index on each row from the data set. Like normal fields the row index field returns either a single variant or array of variant values depending on the number of records in the scope recordset. You can reference the row index like this:

=Fields![RowIndex]
or
=Fields![RowIndex].Value

[RowCount] - the row count is used to reference the number of records in the scope recordset - it always returns a single variant containing the row count. You can reference the row count like this:

=Fields![RowCount]
or
=Fields![RowCount].Value

There is no naming conflict even if your data set has a RowIndex or RowCount field, since they should be referenced without brackets. For example: =Fields!RowIndex rather than =Fields![RowIndex], which is reserved for the extended row index field.
Fields and Scopes

When an expression is evaluated it always has a current scope assigned. Because each scope is associated with a recordset, when you reference a field variable it by default returns the column values from the current scope recordset. You can change the scope in which a certain variable is referenced with the help of an optional prefix, which is placed before the variable reference.

Scopes are hierarchical in nature and are automatically managed by the pivot processor. Following is an overview of the scopes that you can use:

  • Global - the global scope is always available and has the FULL recordset assigned.
  • Pivot - the pivot scope is the only child of the Global scope. It references a FULL recordset filtered by the pivot filters. The Pivot scope can be used in all expressions, except the expressions of pivot filters.
  • Parent - references the parent scope of the current scope. Parent scopes can be chained (e.g. Parent.Parent).
  • Row - references the scope of the leaf row data member for a data cell. Only available in data cell expressions.
  • Col - references the scope of the leaf col data member for a data cell. Only available in data cell expressions.

Lets see some examples, considering the sample data set described in Grouping, Filtering and Sorting:

Let the pivot has a pivot filter:Type:Expression, Expression:=company="Bigfoot" and a pivot property P:="Showing " + Fields![RowCount] + " of " + Global.Fields![RowCount] + " records". The P value at runtime is - "Showing 3 of 9 records".

Let A be a root data grouping with group by expression:=Fields!company and let B be a child data grouping of A with group by expression:=Fields!region (e.g. group by company and then by region). If you want to show the percentage of sales of each region towards the company total sales, B must have a property P with expression:=SUM(Fields!sales)/SUM(Parent.Fields!sales)*100.

Let the pivot has a column data grouping with with group by expression:=Fields!company and a row data grouping with a group by expression:=Fields!region (e.g. show companies in the columns and regions in the rows). The sales of for the company/region intersection in the data cell is computed as:=SUM(Fields!sales). Computing the percentage of total region sales is done with:=SUM(Fields!sales)/SUM(Row.Fields!sales)*100. Computing the percentage of total company sales is done with:=SUM(Fields!sales)/SUM(Col.Fields!sales)*100.

Fields Availability

The Fields collection can be used in all expressions, except the expressions that are part of a data source connection.


Parameters
Pivot Engine > Variables > Parameters

The parameters collection is automatically populated with custom parameters from the current user session and a set of extended (predefined) parameters, that are always available.

A custom user session parameter (simply called custom parameter) can be created/assigned in several ways:

  • With the help of a custom Java Script - see Custom Parameters with Nevron JavaScript API.
  • With the help of SharePoint Filter WebParts - see Custom Parameters with SharePoint Filter WebParts.
  • With the help of a JumpToReport action - see Actions and Drill Down reports.

Take a look at the Custom Parameters in SharePoint Pages for an overview of the custom parameters.

It is important to remember that custom parameters are browser session based. This means that two users, which browse the same SharePoint pages may receive different results, because of the current browser session parameters that they have.
Using Parameters in Expressions

Because each parameter is a {name:value} pair, parameters of certain type are consumed by the pivot with the help of an additional value descriptor that is appended to the parameter name. For example: if you have created a parameter named MyParameter of type string you can get the value of this parameter in any expression like this:

=Params!MyParameter.STR

Currently supported are string, boolean, numeric and string array parameter types and hence the valid value descriptors for parameter values are STR, BOOL, NUM and STRARR.

The type suffix can be omitted in the case of which the pivot will return the first parameter with the specified name that matches. The type of variant returned in this case will depend on the parameter initialization type.

The type in each parameter reference plays an important role when the parameter is not defined. If the pivot is not able to find a parameter with the specified name and type the default value that it will return will depend on the parameter type as follows:

  • STR - default value is an empty string.
  • BOOL - default value is false.
  • NUM - default value is 0.
  • STRARR - default value is an empty array.
  • not specified - default value is an EMPTY variant.
Predefined Parameters

Unlike custom parameters, the predefined parameters are always available in all web parts and you do not have to do anything to create them. The purpose of the predefined parameters is to expose some general information about the current SharePoint environment to all expressions.

The following table summarizes the available predefined parameters:

Name | Description | Type
SharePoint Specific
[WebPartId] | Returns the Id of the web part that renders the pivot. | STR
[PageUrl] | Returns the URL of the page on which the web part resides. | STR
[WebUrl] | Returns the URL of the web to which the web part belongs. | STR
[SiteUrl] | Returns the URL of the site to which the web part belongs. | STR
[UserName] | Returns the current user name. | STR
[UserLoginName] | Returns the current user login name. | STR
[UserSId] | Returns the unique security ID for the network account of the current user. | STR
Browser Specific
[BrowserName] | Returns the browser string (if any) that was sent by the browser in the User-Agent request header. | STR
[BrowserMajorVersion] | Returns the major version number of the browser. | NUM
[BrowserMinorVersion] | Returns the minor version number of the browser. | NUM
[BrowserScreenWidth] | Returns the approximate width of the display, in pixels. | NUM
[BrowserScreenHeight] | Returns the approximate height of the display, in pixels. | NUM

See Also
Custom Parameters in SharePoint Pages


Functions
Pivot Engine > Functions > Functions

You can use functions in expressions to perform additional tasks. Most functions require a set of input arguments, but all functions evaluate to a single variant value. All functions share the following general syntax:

FUNCTIONNAME(arg1,arg2,...argN)

where the following rules apply:

  • FUNCTIONNAME - must be a valid function name
  • () - the function name must be followed by an open and close parentheses, even if the function takes no arguments.
  • , - the comma is the only allowed delimiter, which can be used to separate the function arguments.

Some arguments of a function may be optional. These arguments are enclosed in square brackets ("[" and "]").

Certain functions would expect arguments of certain types, or arguments that are castable to these types. In the documentation we use a simple prefix before each argument to denote the variant type that the function will internally cast the variant to. Following is a list of the used prefixes:

Prefix | Description
var | Any variant. The documentation states if there are other limitations.
b | Variant castable to a boolean
f | Variant castable to a floating point number
n | Variant castable to an integer number
s | Variant castable to string
dt | Variant castable to data time
ts | Variant castable to time span
arr | Variant array

The currently available functions are logically grouped in the following categories:

Type Functions

Logical Functions

Mathematical Functions

Trigonometric Functions

Date Time Functions

Time Span Functions

Text Functions

Array Functions

Bitwise Functions

Depending on whether a function supports chaining or aggregation, functions can be further classified as Chain_Functions or Aggregate_Functions.

Chain Functions

Chain functions are functions, which can perform operations on the variants contained in an array and return an array than contains transformed variants. Chaining helps you perform a series of transformations on the variants contained in one array, by passing the function result as an argument to another chain function. For example:

The following expression:=UPPER(REPLACE(ARRAY("#nevron#","#chart#"),"#","")) will return an array containing "NEVRON" and "CHART". First, the REPLACE function has removed all occurrences of '#' in all strings and then the UPPER function converted all strings to upper case.

Chain functions support passing a non array variant too. For example:

The following expression:=UPPER(REPLACE("#nevron#","#","")) returns "NEVRON".

In the documentation the arguments on which a function supports chaining are highlighted in blue.

Aggregate Functions

Aggregate functions are functions, which take an array(s) of values and return a single value - i.e. aggregate a set of values in some way. For example:

The following expression:=SUM(ARRAY(10,20,30)) returns 60.

The following expression:=JOIN(ARRAY("nevron","chart")," ") returns "nevron chart".

A function may have more than one argument that is used in the aggregation. For example:

The following expression:=SUM(ARRAY(10,20,30),10) returns 70.

The following expression:=SUM(ARRAY(10,20,30),ARRAY(10,20,30,10)) returns 130.

In the documentation the arguments on which a function supports aggregation are highlighted in red.

See Also
Expressions


Type Functions
Pivot Engine > Functions > Type Functions
Syntax | Description | Example
EMPTY() | Returns the empty variant value. | EMPTY() Returns: the empty variant
ISARRAY(var) | Returns true if the variant is array. Otherwise returns false. | ISARRAY(ARRAY(10,20)) Returns: true ISARRAY(10) Returns: false
ISBOOL(var) | Returns true if the variant is a boolean. Otherwise returns false. | ISBOOL(true) Returns: true ISBOOL(false) Returns: true ISBOOL("true") Returns: false
ISDATETIME(var) | Returns true if the variant is a date time. Otherwise returns false. | ISDATETIME(10) Returns: false ISDATETIME(DATETIME("2008-09-15T09:30:41.770")) Returns: true
ISEMPTY(var) | Returns true if the variant is empty. Otherwise returns false. | ISEMPTY(EMPTY()) Returns: true ISEMPTY(true) Returns: false
ISNUM(var) | Returns true if the variant is a number. Otherwise returns false. | ISNUM(10) Returns: true ISNUM(true) Returns: false
ISSTR(var) | Returns true if the variant is a string. Otherwise returns false. | ISSTR(true) Returns: false ISSTR("hello world") Returns: true
ISTIMESPAN(var) | Returns true if the variant is a time span. Otherwise returns false. | ISTIMESPAN(true) Returns: false ISTIMESPAN(TIMESPAN("10.20:30:40.50")) Returns: true
TOBOOL(var) | Safely casts a variant to a boolean variant. Returns EMPTY, if the cast cannot be performed. | TOBOOL("false") Returns: false TOBOOL("true") Returns: true TOBOOL("hello") Returns: the empty variant
TODATETIME(var) | Safely casts a variant to a data time variant. Returns EMPTY, if the cast cannot be performed. | TODATETIME("2008-09-15 09:30:41.770") Returns: the date and time TODATETIME("hello") Returns: the empty variant
TONUM(var) | Safely casts a variant to a number variant. Returns EMPTY, if the cast cannot be performed. | TONUM(true) Returns: 1 TONUM("10") Returns: 10 TONUM("hello") Returns: the empty variant


Logical Functions
Pivot Engine > Functions > Logical Functions
Syntax | Description | Example
AND(b1[, b2, ..., bN]) | Returns TRUE if all arguments are TRUE. If any of the arguments is FALSE, the AND function returns FALSE. | AND(true, false) Returns: false AND(true, true) Returns: true
IF(bCondition, varTrue, varFalse) | Returns varTrue if condition is TRUE. Otherwise, it returns varFalse. | IF(a>b, 2, 10) Returns 2 if a > b, otherwise returns 10.
NOT(bCondition) | Returns TRUE if condition is FALSE. Otherwise, it returns FALSE. | NOT(true) Returns: false NOT(false) Returns: true
OR(b1[, b2, ..., bN) | Returns TRUE if any of the arguments is TRUE. | OR(true, false) Returns: true OR(false, false) Returns: false


Mathematical Functions
Pivot Engine > Functions > Mathematical Functions
Syntax Description Example
ABS(fNumber) Returns the absolute value of number.

ABS(-2.5)
Returns: 2.5
AVG(f1[,f2,...fN]) Returns the average of a set of numbers. The arguments can be number variants or lists of number variants. Empty values are ingnored from both the internal sum and count calculations.

AVG(10,15,20)
Returns: 15

AVG(ARRAY(10,15,20))
Returns: 15

AVG(ARRAY(10,15,EMPTY()),20,EMPTY())
Returns: 15
CEILING(fNumber, fMultiple) Rounds number away from 0 (zero) to the next instance of multiple. If multiple is not specified, the number rounds away from 0 to the next integer.

CEILING(1.7)
Returns: 2

CEILING(1.7, 0.25)
Returns: 1.75
FLOOR(fNumber, fMultiple) Rounds a number toward 0 (zero), to the next integer, or to the next instance of multiple. If multiple is not specified, the number rounds toward 0 to the next integer.

FLOOR(1.7)
Returns: 1

FLOOR(1.7, 0.25)
Returns: 1.5
INT(fNumber) Rounds a number down to the next integer.

INT(1.2)
Returns: 1

INT(-1.2)
Returns: -2
INTUP(fNumber) Rounds a number up to the next integer.

INTUP(1.2)
Returns: 2

INTUP(-1.2)
Returns: -1
LN(fNumber) Returns the natural logarithm of a number. The number must be positive.

LN(10)
Returns: 2.3026
LOG10(fNumber) Returns the base 10 logarithm of a number. The number must be positive

LOG10(10)
Returns: 1
MAGNITUDE(fConstA, fA, fConstB, fB) Returns the magnitude of the vector whose rise is A and whose run is B, multiplied by the respective constants constA and constB. MAGNITUDE is calculated according to the following formula: SQRT((constA * A) ^ 2 + (constB * B) ^ 2)

MAGNITUDE(1, 3, 1, 4)

Returns: 5
MAX(f1[, f2, ..., fN]) Returns the largest number from a list. Largest means closest to positive infinity. Empty values are skipped from the calculation. If only empty values are provided the function returns empty.

MAX(1, 3, 2)
Returns: 3

MAX(ARRAY(1,3,2,EMPTY()))
Returns: 3

MAX(ARRAY(EMPTY()))
Returns: empty
MAXVAR(var1[, var2, ..., varN]) Returns the largest variant from a list. Works with all variant types for which a comparison is defined. Empty values are skipped from the calculation. If only empty values are provided the function returns empty.

MINVAR(1, 3, 2)
Returns: 3

MINVAR(ARRAY(1,3,2,EMPTY()))
Returns: 3

=MINVAR(DATETIME("2008-09-15T09:30:41.770"),DATETIME("2009-09-15T09:30:41.770"))

Returns: DATETIME("2009-09-15T09:30:41.770")
MEDIAN(f1[, f2, ..., fN]) Returns a value which splits the set in half. Half of the values are smaller than the median value and half are larger. Empty values are skipped from the calculation.

MEDIAN(1,3,2)
Returns: 2

MEDIAN(1,3,5,6)
Returns: 4
MIN(f1[, f2, ..., fN]) Returns the smallest number from a list. Smallest means closest to negative infinity. Empty values are skipped from the calculation. If only empty values are provided the function returns empty. MIN(1, 3, 2)
Returns: 1

MIN(ARRAY(1,3,2,EMPTY()))
Returns: 1

MIN(ARRAY(EMPTY()))
Returns: empty
MINVAR(var1[, var2, ..., varN]) Returns the smallest variant from a list. Works with all variant types for which a comparison is defined. Empty values are skipped from the calculation. If only empty values are provided the function returns empty.

MINVAR(1, 3, 2)
Returns: 1

MINVAR(ARRAY(1,3,2,EMPTY()))
Returns: 1

=MINVAR(DATETIME("2008-09-15T09:30:41.770"),DATETIME("2009-09-15T09:30:41.770"))

Returns: DATETIME("2008-09-15T09:30:41.770")
MODULUS(fNumber, fDivisor) Returns the remainder (modulus) resulting when a number is divided by a divisor. The result has the same sign as the divisor.

MODULUS(5, 1.4)
Returns: 0.8.

MODULUS(5, -1.4)
Returns -0.6.
PERCENTILE(arr, fPercent) Returns a value which splits the set at arbitrary percent. {Percent count} of the values are smaller than this value and the other ones are larger. Percentile50 is equivalent to the Median formula. You can use the percentile to compute quartiles and deciles. 1 quartile is equivalent to Percentile25. 1 decile is equal to Percentile10.

PERCENTILE(ARRAY(25,10,20,30), 25)
Returns: 15

PERCENTILE(ARRAY(25,10,20,30), 75)
Returns: 27.5
POW(fNumber, fExponent) Returns a number raised to the power of an exponent. POW(10, 2)
Returns: 100
ROUND(fNumber, nDigits).

Rounds a number to the precision represented by digits.
If digits is greater than 0, number is rounded by digits to the right of the decimal.
If digits is 0, number is rounded to an integer.
If digits is less than 0, number is rounded by digits to the left of the decimal.

ROUND(123.654,2)
Returns: 123.65

ROUND(123.654,0)
Returns: 124

ROUND(123.654,-1)
Returns: 120
SIGN(fNumber[,fFuzz]) Returns a value that represents the sign of a number. Returns 1 if number is positive, 0 if number is zero, or -1 if number is negative. Fuzz (optional) helps avoid floating-point roundoff errors when a calculation is almost zero.

SIGN(-10)
Returns: -1.

SIGN(0)
Returns: 0
SQRT(fNumber) Returns the square root of a number.

SQRT(4)
Returns: 2
STDDEV(arr, bEntirePopulation) Returns the standard deviation of the values in the set. It is computed as the positive square root of the variance.

STDDEV(ARRAY(4,7,13,16),true)
Returns: 4.74

STDDEV(ARRAY(4,7,13,16),false)
Returns: 5.48
SUM(f1[, f2, ..., fN]) Returns the sum of a list of numbers. Empty values are skipped from the calculation. If only empty values are provided the function returns empty. SUM(1,2,3)
Returns: 6

SUM(ARRAY(1,2,3,EMPTY()))
Returns: 6

SUM(ARRAY(EMPTY()))
Returns: empty
TRUNC(fNumber, fDigits) Returns a number truncated to number of digits.
If digits is greater than 0, number is truncated to number of digits to the right of the decimal.
If digits is 0, number is truncated to an integer.
If digits is less than 0, number is truncated to number of digits to the left of the decimal.

TRUNC(123.654,2)
Returns: 123.65.

TRUNC(123.654,0)
Returns: 123

TRUNC(123.654,-1)
Returns: 120
VARIANCE(arr, bEntirePopulation)

The variance is used to measure the tendency of the values in the set to deviate from the average.

If Entire Population is True, it is computed by this formula:

If Entire Population is False (sample variance), it is computed by this formula:

VARIANCE(ARRAY(4,7,13,16),true)
Returns: 22.5

VARIANCE(ARRAY(4,7,13,16),false)
Returns: 30


Trigonometric Functions
Pivot Engine > Functions > Trigonometric Functions
Syntax Description Example
ACOS(fNumber) Returns the arccosine of number, for example, the angle (in radians) whose cosine is number.

ACOS(0)

Returns: PI/2
ANG360(fAngle) Normalizes an angle's range to be [0; 2PI). Angle is specified in radians. ANG360(1.4 + 2 * PI())
Returns: 1.4
ASIN(fNumber) Returns the arcsine of a number, for example, the angle (in radians) whose sine is number.

ASIN(1)

Returns: PI/2
ATAN2(fY,fX) Returns the angle (in radians) between the vector represented by x, y and the direction of the x-axis.

ATAN2(1,1)
Returns: PI/4

ATAN2(1,SQRT(3))
Returns: PI/6
ATAN(fNumber) Returns the arctangent of a number, for example, the angle (in radians) whose tangent is number. The resulting angle is in the range [-PI/2; PI/2]

ATAN(1)
Returns: PI/4
COS(fAngle) Returns the cosine of an angle (in radians) COS(0)
Returns: 1
COSH(fAngle) Returns the hyperbolic cosine of an angle.

COSH(PI()/4)

Returns: 1.3246
DEG(fAngle) Converts the value of an angle from radians to degrees.

DEG(PI()/4)

Returns: 45
PI() Returns the mathematical constant pi, which is 3.1415926535898. PI()
Returns: 3.1415926535898
RAD(fAngle) Converts the value of an angle from degrees to radians. RAD(45)
Returns: PI/4
SIN(fAngle) Returns the sine of an angle (in radians) SIN(0)
Returns: 0
SINH(fAngle) Returns the hyperbolic sine of an angle (in radians)

SINH(PI()/4)
Returns: 0.8687
TAN(fAngle) Returns the tangent of an angle (in radians)

TAN(PI()/4)

Returns: 1
TANH(fAngle) Returns the hyperbolic tangent of an angle (in radians)

TANH(-PI()/4)
Returns: -0.6558


Text Functions
Pivot Engine > Functions > Text Functions
Syntax Description Example
ARGB(nA, nR, nG, nB) Returns a valid color string in ARGB format. All color components are automatically clamped to the [0:255] range. ARGB(128, 255, 0, 0)
Returns: "(128,255,0,0)"
CHAR(nNumber) Returns the character for a number. The resulting string is one character in length. CHAR(9)
Returns: tab character
FORMAT(var[,sFormat][,sCulture])

Returns a formatted string representing a variant value. If format is not specified the default system format is used. If format is specified you can also specify a culture. If culture is not specified the default current culture is used.

For number variants the format string should be a number format string. See Numeric Format Strings.

For date time variants the format string should be a date time format string. See: Date Time Format Strings.

Also see Culture Table for a list of culture names that you can use.

 (assuming current culture is en-US")

FORMAT(10)
Returns: "10"

FORMAT(0.255555, "p")
Returns: 25.56 %

FORMAT(1000, "c")
Returns: $1,000.00

FORMAT(1000,"c","en-GB")
Returns: £1,000.00

FORMAT(DATETIME("2008-09-15T09:30:41.77"),"d")
Returns: 9/15/2008

FORMAT(DATETIME("2008-09-15T09:30:41.77"),"d","en-GB")
Returns: 15/9/2008
LEN(sString) Returns the number of characters in a text string. LEN("Hello World")
Returns: 11
JOIN(arr, sDelimiter) Returns a string variant, which represents the concatenation of the string representations of the variants contained in the array, delimited with delimiter. JOIN(ARRAY("Hello","World"), ";")
Returns: Hello;World
LIKE(sString, sPattern)

Returns true if the pattern was found at least once in the string. The pattern is a regular expression. See:

Regular Expressions on MSDN

 LIKE("Hello World", "ello")
Returns: true

LIKE("Hello World", "elllo")
Returns: false
LOWER(sString) Returns a string converted to lowercase. LOWER("Hello World")

Returns: "hello world"
REPLACE(sString, sOldText, sNewText) Replaces all occurrences of old text in a string with the specified new text. REPLACE("Hello World", "Hello", "Beautiful")

Returns: "Beautiful World"
RGB(nR, nG, nB) Returns a valid color string in RGB format. All color components are automatically clamped to the [0:255] range. RGB(255, 0, 0)
Returns: "(255,0,0)"
SPLIT(sString, sSeparator[, bRemoveEmpty])

Splits the string, by the specified separator. Optionally you can specify whether empty strings are to be removed - by default they are not removed. Returns an array of strings.

SPLIT("Hello World", " ")

Returns: an array containing "Hello" and "World"

SPLIT(ARRAY("Hello World", "Hello World"), " ")

Returns: an array containing "Hello", "World", "Hello", "World"
STRSAME(sString1, sString2[, ignoreCase]) Returns true if the string are the same. Otherwise returns false. The optional ignoreCase argument indicates whether to perform case-insensitive comparison (by default it is false).

STRSAME("Hello", "hello")
Returns: false

STRSAME("Hello", "hello", true)
Returns: true
TRIM(sString) Removes all space from string except for single spaces between words. TRIM(" Hello World ")
Returns: "Hello World"
UPPER(sString) Returns a string converted to uppercase. UPPER("Hello World")
Returns: "HELLO WORLD"


Date Time Functions
Pivot Engine > Functions > Date Time Functions
Syntax | Description | Example
CONVERTTIME(dtSource, sSourceZone, sTargetZone) | Converts a date time, that is considered to reside in the source time zone, to an arbitrary target time zone (e.g. changes the time zone of a date time and returns the date time in the target time zone). |
DATETIME(sDateTime,[sCulture]) | Returns a date time value from a string. The date time is parsed according to the specified culture. If culture is not specified the value is parsed with the current thread culture. Check out the DateTime.TryParse documentation in MSDN for a complete discussion. | DATETIME("2008-09-15T09:30:41.770") Returns a date time variant with the specified date time.
DAY(dtDateTime) | Returns the day [1:31] of a date time value. | DAY(DATETIME("2008-09-15T09:30:41.770")) Returns: 15
HOUR(dtDateTime) | Returns the hour [0:23] of a date time value. | HOUR(DATETIME("2008-09-15T09:30:41.770")) Returns: 9
ISDAYLIGHTSAVINGTIME(dtDateTime, [sTimeZone]) | Returns true if the date time is in the specified time zone daylight savings range. |
LOCALTIMEZONE() | Returns the server local time zone. |
MILLISECOND(dtDateTime) | Returns the millisecond [0:999] of a date time value. | MILLISECOND(DATETIME("2008-09-15T09:30:41.770")) Returns: 770
MINUTE(dtDateTime) | Returns the minute [0:59] of a date time value. | MINUTE(DATETIME("2008-09-15T09:30:41.770")) Returns: 30
MONTH(dtDateTime) | Returns the month [1:12] of a date time value. | MONTH(DATETIME("2008-09-15T09:30:41.770")) Returns: 9
NOW() | Returns the system current date time. | NOW() Returns: the current date time
QUARTER(dtDateTime) | Returns the quarter [1:4] of a date time value. | QUARTER(DATETIME("2008-09-15T09:30:41.770")) Returns: 3
SECOND(dtDateTime) | Returns the second [0:59] of a date time value. | SECOND(DATETIME("2008-09-15T09:30:41.770")) Returns: 41
TOLOCALTIME(dtUTC, [sTimeZone]) | Converts an UTC date time to the respective local date time in the specified time zone. |
TOUNIVERSALTIME(dtLocal, [sTimeZone]) | Converts a local date time, that resides in the specified time zone, to the respective date time in UTC. |
UNIVERSALNOW() | Returns the current date time in UTC. |
UNIVERSALTIMEZONE() | Returns the universal (UTC) time zone. |
WEEKDAY(dtDateTime) | Returns the week day [0:6] of a date time value. The 0 is Sunday. | WEEKDAY(DATETIME("2008-09-15T09:30:41.770")) Returns: 1 (Monday)
WEEK(dtDateTime[,dtStart]) | Returns the current week, since start date in [-N:N] range. If start date is not specified it is considered to be 1st of January of the date time year (e.g measures the current week from the beginning of the year). | WEEK(DATETIME("2008-09-15T09:30:41.770")) Returns: 37
YEAR(dtDateTime) | Returns the year of a date time value. | YEAR(DATETIME("2008-09-15T09:30:41.770")) Returns: 2008

All functions that accept a time zone string, read time zone information from the following key in the registry of the server:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones


Time Span Functions
Pivot Engine > Functions > Time Span Functions
Syntax | Description | Example
TIMESPAN(sTimeSpan) | Returns a time span value from a string. See: Time Span Try Parse on MSDN | TIMESPAN("10.20:30:40.50") Returns: a time span with 10 days, 20 hours, 30 minutes, 40 seconds and 50 milliseconds
TOTALDAYS(tsTimeSpan) | Returns the total days in a time span. | TOTALDAYS(TIMESPAN("10.20:30:40.50")) Returns: 10.8546
TOTALHOURS(tsTimeSpan) | Returns the total hours in a time span. | TOTALHOURS(TIMESPAN("10.20:30:40.50")) Returns: 260.5112
TOTALMILLISECONDS(tsTimeSpan) | Returns the total milliseconds in a time span. | TOTALMILLISECONDS(TIMESPAN("10.20:30:40.50")) Returns: 937840500
TOTALMINUTES(tsTimeSpan) | Returns the total minutes in a time span. | TOTALMINUTES(TIMESPAN("10.20:30:40.50")) Returns: 15630.675
TOTALSECONDS(tsTimeSpan) | Returns the total seconds in a time span. | TOTALSECONDS(TIMESPAN("10.20:30:40.50")) Returns: 937840.5


Array Functions
Pivot Engine > Functions > Array Functions
Syntax Description Example
ARRAY(var1[, var2, varN]) Returns an array of the enumerated variants. If any of the arguments is an array it is embedded in the returned array.

ARRAY(10,20,30)
Returns: a variant array containing the 10,20 and 30 variants.

ARRAY(10,ARRAY(20,30),40)
Returns: a variant array containing the 10,20 30 and 40 variants.
COUNT(var1[, bCountEmpty]) Returns the count of values in a list. Optionally you can specify whether to count the empty values or not. By default empty values are counted.

COUNT(ARRAY(10,10,30))
Returns: 3

COUNT(ARRAY(EMPTY(),10,30))
Returns: 3

COUNT(ARRAY(EMPTY(),10,30), false)
Returns: 2
COUNTDISTINCT(var1[, bCountEmpty]) Returns the count of distinct values in a list. Optionally you can specufy whether empty variants are counted or not. By default empty values are counted.

COUNTDISTINCT(ARRAY(10,10,EMPTY()))
Returns: 2

COUNTDISTINCT(ARRAY(10,10,EMPTY()), false)
Returns: 1
FIRST(var1[, nonEmpty]) Returns the first value from a a list. Optionally you can specify whether the first non empty value must be returned. By default return the first value regardless of its type (e.g. nonEmpty is by default false).

FIRST(ARRAY(EMPTY(),20,30))
Returns: empty

FIRST(ARRAY(EMPTY(),20,30), true)
Returns: 20
GETAT(arr,nIndex) Returns the value in the list at the specified index.

GETAT(ARRAY(10,20,30),2)
Returns: 20
LAST(var1[, nonEmpty]) Returns the last value from a a list. Optionally you can specify whether the last non empty value must be returned. By default returns the last value regardless of its type (e.g. nonEmpty is by default false).

LAST(ARRAY(10,20,EMPTY()))
Returns: empty

LAST(ARRAY(10,20,EMPTY()), true)
Returns: 20


Bitwise Functions
Pivot Engine > Functions > Bitwise Functions
Syntax | Description | Example
BITAND(n1[, n2,... nN]) | Returns a 32-bit binary number in which a bit is set to 1 if the corresponding bits in all numbers are 1. Otherwise, the bit is set to 0. | BITAND(7,2) Returns: 2 (7 = 0111, 2 = 0010)
BITNOT(nNumber) | Returns a 32-bit binary number in which a bit is set to 1 if the corresponding bit in number is 0. Otherwise, the bit is set to 0. | BITNOT(1) Returns: 2 ^ 32 - 1
BITOR(n1[, n2,... nN]) | Returns a 32-bit binary number in which a bit is set to 1 if the corresponding bits in at least one numbers is 1. Otherwise, the bit is set to 0. | BITOR(5,3) Returns: 7 (5 = 0101, 3 = 0011, 7 = 0111)
BITXOR(n1[, n2,... nN]) | Returns a 32-bit binary number in which a bit is set to 1 if the corresponding bits in bn1 AND bn2 are different. Otherwise, the bit is set to 0. | BITXOR(5,3) Returns: 6 (5 = 0101, 3 = 0011, 6 = 0110)


Code Injection
Code Injection > Code Injection

The chart and gauge web parts allow for users with development experience to inject custom C# or VB.NET code, which is compiled and executed at runtime.

Some familiarity with the Nevron Chart for .NET API is required.

The code injection feature helps you utilize the wide range of additional customization options, which are exposed by the Nevron Chart for .NET API. The compilation produces an in-memory assembly, which means that there are no deployment issues when you exchange or deploy templates with embedded code across different SharePoint Servers.

The code injection feature is exposed by the editors located in the Code main tab (for both the chart and the gauge). It contains three sub-tabs:

  • Code Editor
  • Code Parameters
  • Referenced Assemblies
Referenced Assemblies

The referenced assemblies editor lets you edit the assemblies that you want your custom code to reference. By default the injected code is configured to use the following assemblies:

  • System.dll
  • System.Data.dll
  • System.Deployment.dll
  • System.Drawing.dll
  • System.Windows.Forms.dll
  • Nevron.System.dll
  • Nevron.Presentation.dll
  • Nevron.Chart.dll
  • Nevron.Chart.Template.dll
Code Parameters

Code parameters are name-value pairs that allow you to define custom pivot properties. Since the custom code is executed after the pivot has been processed this allows you to define named expressions, the evaluated values of which can later be used by your custom code.

For example - suppose that in your code you want to know how many records were contained in the data source. To do this you can create a code parameter with Name:RecordsCount and Expression:=Global.Fields![RowCount]. The custom code method that gets called (see Code_Editor) always receives a context argument, from which you can get the evaluated values for the code parameters that you have declared at design time:

C#
Copy Code
int rowCount = context.GetInt32Parameter("RecordsCount");
VB.NET
Copy Code
Dim rowCount As Integer = context.GetInt32Parameter("RecordsCount")

It is important to know that the code parameters that you define are recorded in the pivot properties. This means that the default evaluation scope for the code parameters expressions is the Pivot Scope - see Pivot Processing for more information.

Code Editor

The code editor lets you type the code that you want to execute at runtime. The code is compiled according to the language that you choose from the Language combo box. To inspect the code for errors you can click on the Compile... button - the compilation results will appear in the status field.

The code can use the types declared in the assemblies that you referenced in the Referenced_Assemblies tab page. There must be at least one class in the code, which contains a static RSMain method with the following signature:

Product Entry Point Method
Nevron Chart for SharePoint
C#
Copy Code
public static void RSMain(NRSChartCodeContext context)
VB.NET
Copy Code
Public Shared Sub RSMain(ByVal context As NRSChartCodeContext)
Nevron Gauge for SharePoint
C#
Copy Code
public static void RSMain(NRSGaugeCodeContext context)
VB.NET
Copy Code
Public Shared Sub RSMain(ByVal context As NRSGaugeCodeContext)

Both code contexts share a set of common methods, which help you get the evaluated values for the code parameters that you declared in the Code_Parameters tab. Following is a summary:

Function | Description
GetBooleanParameter | Returns a named parameter, converted to boolean
GetInt32Parameter | Returns a named parameter, converted to Int32
GetInt64Parameter | Returns a named parameter, converted to Int64
GetSingleParameter | Returns a named parameter, converted to Single
GetDoubleParameter | Returns a named parameter, converted to Double
GetStringParameter | Returns a named parameter, converted to String

Also common for both contexts is the Document property, which returns the Nevron Chart for .NET document, that was created by the pivot processor.

See Also
Chart Code Example
Gauge Code Example


Chart Code Example
Code Injection > Chart Code Example

Lets assumes that the you are displaying a XY scatter plot with the Point Chart Type. Lets also assume that your data source has two columns - X and Y - defining the data points X and Y coordinates. Also let the chart has a single category grouping expression:=Fields![RowIndex] (e.g. group by row).

The code example creates X and Y constant lines that are positioned at the average X and average Y coordinates. The code example colorizes the points according to average quadrant to which they belong.

To get the average values for the X and Y columns we use two code parameters:

  1. Name: AverageX, Expression: =AVG(Fields!X)
  2. Name: AverageY, Expression: =AVG(Fields!Y)

The following code adds the constant lines to the first chart area and colorizes the points in the first point series according to the quadrant to which they belong.

C#
Copy Code
using System;
using System.Drawing;

using Nevron.GraphicsCore;
using Nevron.Chart;
using Nevron.ReportingServices;

namespace MyNamespace
{
    /// <summary>
    /// Sample class
    /// </summary>
    public class MyClass
    {
        /// <summary>
        /// Main entry point
        /// </summary>
        /// <param name="context"></param>
        public static void RSMain(NRSChartCodeContext context)
        {
            if (context.Document.Charts.Count == 0)
                return;

            // get the first chart in the document
            NChart chart = context.Document.Charts[0];
            if (chart.Series.Count == 0)
                return;

            // get the first point series in the chart
            NPointSeries point = chart.Series[0] as NPointSeries;
            if (point == null)
                return;

            // get the evaluated average X and Y
            double averageX = context.GetDoubleParameter("AverageX");
            double averageY = context.GetDoubleParameter("AverageY");

            // initialize quadrant colors
            Color[] quadrantColors = new Color[4];
            quadrantColors[0] = Color.Red;
            quadrantColors[1] = Color.Green;
            quadrantColors[2] = Color.Blue;
            quadrantColors[3] = Color.Yellow;

            // get the X and Y primary axes
            NAxis xAxis = chart.Axis(StandardAxis.PrimaryX);
            NAxis yAxis = chart.Axis(StandardAxis.PrimaryY);

            // add a constline for the left axis
            NAxisConstLine averageYConstLine = yAxis.ConstLines.Add();
            averageYConstLine.Value = averageY;

            // add a constline for the bottom axis
            NAxisConstLine averageXConstLine = xAxis.ConstLines.Add();
            averageXConstLine.Value = averageX;

            // colorize the data points according to quadrant
            int count = point.Values.Count;
            for (int i = 0; i < count; i++)
            {
                int quadrant = 0;
                double yValue = (double)point.Values[i];
                double xValue = (double)point.XValues[i];

                // determine quadrant
                if (yValue > averageY)
                {
                    if (xValue > averageX)
                    {
                        quadrant = 0;
                    }
                    else
                    {
                        quadrant = 1;
                    }
                }
                else
                {
                    if (xValue > averageX)
                    {
                        quadrant = 3;
                    }
                    else
                    {
                        quadrant = 2;
                    }
                }

                // set point color depending on quadrant
                point.FillStyles[i] = new NColorFillStyle(quadrantColors[quadrant]);
            }
        }
    }
}


Gauge Code Example
Code Injection > Gauge Code Example

Lets assume that you have created a radial gauge with a single pointer. Let the data source has a single column - Value and lets assume that the gauge axis is scaled from Value min to Value max and the gauge pointer displays the average Value.

The code example colorizes the pointer in green if the pointer value is below the Median, otherwise it colorizes the pointer in red. To get the median value of the values in the set we use the following code parameter:

Name:Median, Expression:=MEDIAN(Fields!Value)

C#
Copy Code
using System;
using System.Drawing;
using Nevron.GraphicsCore;
using Nevron.Chart;
using Nevron.ReportingServices;

namespace MyNamespace
{
    /// <summary>
    /// Sample class
    /// </summary>
    public class MyClass
    {
        /// <summary>
        /// Main entry point
        /// </summary>
        /// <param name="context"></param>
        public static void RSMain(NRSGaugeCodeContext context)
        {
            // check if gauge document contains gauges
            if (context.Document.Gauges.Count == 0)
                return;

            // the first gauge panel
            NGaugePanel gauge = context.Document.Gauges[0] as NGaugePanel;
            if (gauge.Indicators.Count == 0)
                return;

            // get the first pointer
            NValueIndicator pointer = gauge.Indicators[0] as NValueIndicator;
            if (pointer == null)
                return;

            double median = context.GetDoubleParameter("Median");
            if (pointer.Value < median)
            {
                pointer.Shape.FillStyle = new NColorFillStyle(Color.Green);
            }
            else
            {
                pointer.Shape.FillStyle = new NColorFillStyle(Color.Red);
            }
        }
    }
}


Property Editors
Editors > Property Editors

When working with Nevron Web Parts, you typically visually edit the properties of the different chart/gauge elements, through property editors. There are several primitive types of property editors:

  • Boolean - allows you to select a true or false value.
  • Numeric - allows you to select a floating point or integer number.
  • String - allows you to type a string.
  • Enumeration - allows you to select a value from a predefined set of possible values.
  • Color - allows you to select a color value.

More complex property editors - such as the Fill, Stroke, Shadow, Text etc. FX editors are composed by primitive editors.

When the property, whose value is exposed by the property editor allows specification through an expression, the property editor will display an FX button at its right side. Nearly all properties of the web parts in the Nevron SharePoint Vision suite can be specified by expressions. When you create an expression for a specific property, you need to ensure that the value to which this expression evaluates is convertible to the property value type. For example, if you author an expression for a boolean property, this expression needs to evaluate to true or false, or be convertible to a boolean value.

Primitive types editors, follow a common structure. The label of a primitive editor is the name of the property, which the editor controls. The label is followed by a constant value control, which lets you select a constant value for the property. The constant value control is specific for each type of property editor - for a boolean property editor it is a check box, for a numeric property editor it is a numeric up/down etc. The editor ends with an FX button, that lets you edit the expression, which specifies the value of the property when the web part is displayed in runtime. In case a property value is specified by an expression, the constant value control is automatically replaced by an FX box, that shows the expression, currently associated with the property. You can revert the property value to a constant one, by clicking on the FX box.

The only exception from this common structure is the String Property Editor, because expressions are actually strings that begin with the = (Equals) character. That is why the String Property Editor simply lets you type a string - if it begins with the = (Equals) character, the web part automatically considers it as an expression.

Following are more more details about the property editors:

Boolean Property Editors

The following images illustrate the appearance of a boolean property editor (for a Chart or Gauge Title) when it shows a static and expression based values:

A boolean property editor, for a property with constant TRUE value.
A boolean property editor, for a property with a value that is based on expression. In this case it is bound to a boolean parameter.

When authoring expressions for boolean properties, you need to ensure that their result is convertible to a boolean value - true or false. The Pivot Functions AND, NOT, OR return boolean values. In expressions you can record boolean values with the true and false constants. For example the following expression is valid for a boolean property: =IF(SUM(Fields!Revenue.Value) > 500, true, false), since it always evaluates to a boolean value.

Numeric Property Editors

The following images illustrate the appearance of a numeric property editor (for a Bar Chart Width Percent property) when it shows a static and expression based values:

A numeric (floating point) property editor, for a property with a constant 70.00 value.
A numeric property editor, for a property with a value based on expression. In this case it is bound to a float parameter.

When authoring expressions for numeric properties, you need to ensure that their result is convertible to a numeric value.

Enumeration Property Editors

The following images illustrate the appearance of an enumeration property editor (for the Bar Chart Shape property) when it shows a static and expression based values:

An enumeration property editor, for a property with a Smooth Edge Bar constant value.
An enumeration property editor, for a property with a value based on expression. In this case it is bound to a String parameter.

When authoring expressions for enumeration properties, you need to ensure that their result is convertible to the target enum type. A valid enum value is either a string that matches one of the enumeration values, or a number that is inside the enumeration range. When an enumeration property editor supports expression based values, it appends the integer number that corresponds to the enum value at the end of each option. The following expressions will select the Smooth Edge Bar option through an expression:

="SmoothEdgeBar"
="Smooth Edge Bar"
="smoothedgebar"
="smooth edge bar"
=7

If the input value cannot select a valid enumeration option, the default property value for the property is used.

Color Property Editor

The following images illustrate the appearance of an color property editor (for the Fill FX - Color property) when it shows a static and expression based values:

A color property editor, for a property with an OrangeRed selected value.
A color property editor, for a property with a value based on expression. In this case it is bound to a String parameter.

When authoring expressions for color properties, you need to ensure that their result is convertible to a color value. A valid color value is a string that matches one of the supported color formats. Following are the string formats that are supported for color values:

  • HTML Formatted Color - these are opaque colors specified by six hex values, paired in RGB pairs. The following expression examples all evaluate to opaque red color:
    ="#FF0000"
    ="0xFF0000"
    ="&HFF0000"
  • Named Color - a string that matches one of the predefined named colors. The following expression examples are all valid named colors:
    ="Red"
    ="red"
    ="green"
    ="blue"
  • RGB or ARGB Color - a string embraced in ( ), or [], or { } braces, that contains 3 or 4 numbers separated with commas that define the RGB or ARGB color components in [0:255] range. The following expression examples all evaluate to valid colors:

    ="(255,0,0)" - opaque red
    ="(128,255,0,0)" - semi-transparent red

    ="[255,0,0]" - opaque red
    ="[128,255,0,0]" - semi-transparent red

    ="{255,0,0}" - opaque red
    ="{128,255,0,0}" - semi-transparent red
You can use the ARGB and RGB text functions, which produce a text string that is valid for specification for a color property value.
Appearance Property Editors

The fill, stroke, shadow and text appearance property are very similar to the other property editors. The constant value control of these editors shows the respective constant appearance style editor. The FX button of appearance property editors however does not display the default FX Editor (like all other property editors do), but instead displays an editor in which you can define the fill, stroke, shadow and text style respectively, by mixing constant and expressions based property values. These are known as appearance style FX Editors. When an appearance style FX Object controls the appearance style exposed by a certain fill, stroke, shadow or text property, the constant value control is replaced by an FX Box that indicates that.

The following table summarizes the relation between the appearance type and its constant and FX editors.

Appearance Property Type | Constant Editor | FX Editor
Fill | Fill Style Editor | Fill Style FX Editor
Stroke | Stroke Style Editor | Stroke Style FX Editor
Shadow | Shadow Style Editor | Shadow Style FX Editor
Text | Text Style Editor | Text Style FX Editor


Fill Style Editor
Editors > Appearance Editors > Fill Style Editor

The Fill Style Editor provides complete visual editing for the settings, which define the filling of a particular element. Following is a brief description of the Fill Style Editor User Interface:

  • Use automatic check - specifies whether the fill style is automatically determined. If this check is checked the entire fill style editor will be disabled. Uncheck this check if you want to provide a local fill style value.
  • Image filters button - lets you edit the image filters applied to the object image (only applicable in 2D). Invokes the Image Filters Style Editor, which lets you edit the image filter effects applied to the element filling. See Image Filters Style Editor.
  • Fill Style combo - defines the type of fill style that you want to apply and automatically displays the selector corresponding to that type of fill style.
  • Color Selector - the color selector is visible if the Fill Style is set to Color. It provides you with the possibility to specify one of the following types of colors: web colors, named colors or custom colors. The opacity of the color can also be edited:
  • Gradient Selector - the gradient selector is visible if the Fill Style is set to Gradient. It provides the possibility to specify a gradient based on two colors and visually select a shading style:
  • Hatch Selector - the hatch selector is visible if the Fill Style is set to Hatch. It provides a set of predefined hatch patterns, whose foreground and background colors can be changed.
  • Image Selector - the image selector is visible if the Fill Style is set to Image. It provides you with the capability to specify an image based filling. The image file name is typically relative to the SharePoint server that runs the current site, so it must start with the ~ character in order to be mapped correctly to a physical path.


Stroke Style Editor
Editors > Appearance Editors > Stroke Style Editor

The Stroke Style Editor provides complete visual editing for the settings, which define the outline, border or stroke style of a particular element.

Following is a brief description of the Stroke Style Editor User Interface:

Use automatic check - specifies whether the stroke style is automatically determined. If this check is checked the entire stroke style editor will be disabled. Uncheck this check if you want to provide a local stroke style value.

Color button - selects the color of the stroke.

Width selector - sets the width of the stroke (measured in a unit from one of the four predefined measurement systems).

Dash style - you can choose between several predefined dash styles, or you can create a custom one. If the dash style is a broken line, the Factor numeric updown specifies a per dash pixel multiplier.

Dash cap combo - if the dash style is a broken line, the dash cap specifies the shape of the caps for each dash. They can be Flat, Round or Triangle.

Line join combo - specifies the way in which two straight line segments must be joined.


Shadow Style Editor
Editors > Appearance Editors > Shadow Style Editor

The Shadow Style Editor provides complete visual editing for the settings, which define the shadow, which a particular element can drop.

Following is a brief description of the Shadow Style Editor User Interface:

Use automatic check - specifies whether the stroke style is automatically determined. If this check is checked the entire stroke style editor will be disabled. Uncheck this check if you want to provide a local stroke style value.

Type combo - specifies the shadow type as one of the following:

None - the object has no shadow
Solid Shadow - the solid shadow is the most common type of shadow used in applications. It is also the fastest.
Linear Blur Shadow - the linear blur shadow uses a linear distribution at the shadow edges.
Gaussian Blur Shadow - the Gaussian blur shadow uses a Gaussian distribution (sometimes also called normal distribution) at the shadow edges.
Radial Blur Shadow - the Radial blur shadow uses a radial distribution at the shadow edges.

Color button - specifies the shadow color

Fade Length selector - specifies the length in which the shadow fades to complete transparency (measured in the unit selected unit)

X Offset selector - specifies the X offset of the shadow from its original position. A negative value will cast the shadow on the right side of the object.

Y Offset selector - specifies the X offset of the shadow from its original position. A negative value will cast the shadow on the top side of the object.

Scale numeric updown - defines a percentage with which to scale to the shadow shape.


Text Style Editor
Editors > Appearance Editors > Text Style Editor

The Text Style Editor provides complete visual editing for the settings, which define the default appearance of a text or label. This default appearance can be subsequently modified with the help of XML Formatted Texts. The Text Style Editor User Interface consist of several tabs, the settings of which are described below:

Use automatic check - specifies whether the text style is automatically determined. If this check is checked the entire text style editor will be disabled. Uncheck this check if you want to provide a local text style value.

Font tab - defines the font name, size and style (Italic, Bold, Underline and/or Strikeout).

Fill tab - defines the fill style of the text. Embeds a Fill Style Editor.

Border tab - defines the border style of the text. Embeds the Stroke Style Editor.

Shadow tab - defines the shadow, which the text drops. Embeds the Shadow Style Editor.

Backplane tab - defines the style of the backplane, which is optionally displayed behind the text. The backplane style is also a composition of other basic styles.

Following is a description of the backplane style settings:

Visible check - if the check box is checked the backplane is visible and can be edited. If it is not checked the backplane is hidden and its tabs are disabled.

Appearance tab - lets you specify the backplane shape and the amount with which it is inflated (padded) from the text bounding box.

Fill tab - defines the fill style of the backplane. Embeds the Fill Style Editor.

Shadow tab - defines the shadow style of the backplane. Embeds the Shadow Style Editor.

Frame tab - defines the frame of the backplane as a standard frame. Embeds the standard frame style editor (see the Frame Style Editor for more information about the standard frame editor).


Frame Style Editor
Editors > Appearance Editors > Frame Style Editor

The Frame Style Editor provides complete visual editing for the settings, which define the default appearance of a panel frame (border). Following is a brief description of the Frame Style Editor User Interface:

Use automatic check - specifies whether the frame style is automatically determined. If this check is checked the entire frame style editor will be disabled. Uncheck this check if you want to provide a local text style value.

Frame Style combo - defines the type of frame style that you want to apply and automatically displays the editor corresponding to that type of frame style.

Standard Frame Style editor - this editor lets you visually define a standard frame. Standard frames are rectangular frames, which are composed from two bevels and two borders:

Image Frame Style editor - this editor lets you visually define an image (artistic) frame. Image frames are more complex than standard frames, but look much more visually appealing.

Appearance tab - from the Shape section, you can choose between several predefined types of image frame shapes. For shapes with rounded edges you can specify the outer and inner edge percent. The Light effect section provides the length, light color and shadow color of the image frame shading effect. The Background color button control the color with which the image frame blends with the background.

Size tab - lets you define the sizes of the frame tubes and corners.

Fill tab - defines the fill style of the frame. Embeds the Fill Style Editor.

Border tab - defines the style of the frame borders. Embeds the Stroke Style Editor.

Shadow tab - edits the shadow of the frame. Embeds the Shadow Style Editor.

Light Border tab - controls the stroke style of the light border. Embeds the Stroke Style Editor.

Dark Border tab - controls the stroke style of the dark border. Embeds the Stroke Style Editor.


Image Filters Style Editor
Editors > Appearance Editors > Image Filters Style Editor

You can apply an image filter to every 2D element, which has an associated fill style. The image filters editor is accessible from the "Image Filters..." button, located at the bottom of the Fill Style Editor.

You add and remove filters from the toolbox below the image filters list. The following sections describe the options available for the different image filters.

Blur

The blur image filter results in blurred edges of the element it is applied to. The following customization options are available:

Alpha Channel Only - Whether or not to blur the alpha channel or all color channels of the image (ARGB).

Blur Left, Blur Right, Blur Top, Blur Bottom - whether to apply blur effect in the left, right, top and bottom directions respectively.

Blur Type - the type of blur to apply. Possible options are Linear, Radial and Gaussian.

Glow

The glow image filter lits the edges of the chart or gauge element it is applied to. The following customization options are available:

Color - controls the color of the glow effect.

Glow Type - the type of glow to apply to the object. Possible options are Inner and Outer

Original Opacity - A factor allowing you to fade out the original image leaving only the glow effect.

Blur Type - the type of blur to apply. Possible options are Linear, Radial and Gaussian.

Depth - The depth of the glow effect.

Lighting

The lighting image filter applies a lighting effect on the image emulating a directional or positional light. The following customization options are available:

Diffuse Color - the diffuse color emitted by the light source.

Light Source Type - the type of the light source. Possible options are - Directional and Positional.

Position - the position of the light source.

Shininess - the Shininess of the material used to cover the lit surface.

Specular Color - the specular color emitted by the light source.

Surface Scale - a factor allowing you to scale the surface dimensions when using using a positional light source.

Bevel Depth - the depth of the light effect along the edged of the image.

Blur Type - the type of the light effect along the edges of the image. Possible options are Linear, Radial and Gaussian.

Bevel and Emboss

Applies a bevel and emboss image filter on the on the image. The following customization options are available:

Bevel Type - controls the type of the bevel and emboss filter to apply. The following table lists the available options:

Bevel Type | Description
Inner | Only pixels inside the original are modified, by adding the contribution generated from the highlight and shadow images to the original.
Outer | Only pixels that lay outside the original image are modified by adding the contribution from the highlight and shadow images leaving the original image intact.
Emboss

Both pixels that lay inside and outside of the image are modified.

If the pixel is inside the original image the contribution of the highlight and shadow images are added to the original pixel.

If the pixel is outside the original the contribution from the highlight and shadow images is written to the
resulting image.
Pillow Emboss

Both pixels that lay inside and outside of the image are modified.

If the pixel is inside the original the contribution of the highlight and shadow images are added to the original pixel.

If the pixel is outside the original the contribution from the inverted highlight and inverted shadow images is written to the resulting image.

Light Color - the light color.

Original Opacity - a factor fading out the original image leaving only the bevel effect.

Shadow Color - the shadow color.

Blur Type - the type of the bevel and emboss effect along the edges of the image. Possible options are Linear, Radial and Gaussian.

Soften - blur amount for bevel shapes.

Angle - the angle of offset.

Depth - the depth of the bevel effect, affects the distance between the highlight and shadow shapes offset across the direction specified in 'Angle'.


Fill Style FX Editor
Editors > Appearance FX Editors > Fill Style FX Editor

The Fill Style FX Editor provides visual editing of the properties, that let you define a filling, based on a mixture of constant property values and expressions. It is shown when you click the FX Button of a fill property editor.

Following is a description of its properties:

Automatic - specifies whether the fill style is automatically determined. If this check is checked the entire fill style editor will be disabled. Uncheck this check if you want to provide a local fill style value.

Fill Style - defines the style of filling to use. Possible values are Color, Gradient and Hatch.

Color - defines the primary color of the filling. Used by all fill styles.

Secondary Color - defines the secondary color of the filling. Used only in case of a Gradient or Hatch fill style.

Gradient Style - defines the style of the gradient to use. Only applicable if Gradient is selected as a Fill Style. See Gradient_Styles_Table for a visual preview.

Hatch Style - defines the style of the hatch to use. Only applicable if Hatch is selected as a Fill Style. See Hatch_Styles_Table for a visual preview
Gradient Styles Table

The following table summarizes the possible Gradient Style options (for Color=White and Secondary Color=Black):

Gradient Style | Preview | Gradient Style | Preview | Gradient Style | Preview
Horizontal |  | Diagonal Up |  | Left Top Corner |
Horizontal Center |  | Diagonal Up Center |  | Left Bottom Corner |
Vertical |  | Diagonal Down |  | Right Top Corner |
Vertical Center |  | Diagonal Down Center |  | Right Bottom Corner |
Center |  | Start To End (preview shown, when start is top side and end is bottom side - see note) |  | Start To End Center (preview shown, when start is top side and end is bottom side - see note) |

Certain elements (like Gauge Ranges) take into account the Start To End gradient style setting and bend Start To End gradients along their geometry. Elements that do not have directional geometry fallback to Horizontal modes.

Hatch Styles Table

The following table summarizes the possible Hatch Style options (for Color=White and Secondary Color=Black):

Pattern Style | Preview | Pattern Style | Preview | Pattern Style | Preview
Percent 5 |  | Wide Downward Diagonal |  | Diagonal Brick |
Percent 10 |  | Wide Upward Diagonal |  | Horizontal Brick |
Percent 20 |  | Light Vertical |  | Weave |
Percent 25 |  | Light Horizontal |  | Plaid |
Percent 30 |  | Narrow Vertical |  | Divot |
Percent 40 |  | Narrow Horizontal |  | Dotted Grid |
Percent 50 |  | Dark Vertical |  | Dotted Diamond |
Percent 60 |  | Dark Horizontal |  | Shingle |
Percent 70 |  | Dashed Downward Diagonal |  | Trellis |
Percent 75 |  | Dashed Upward Diagonal |  | Sphere |
Percent 80 |  | Dashed Horizontal |  | Small Grid |
Percent 90 |  | Dashed Vertical |  | Large Grid |
Light Downward Diagonal |  | Small Confetti |  | Small Checker Board |
Light Upward Diagonal |  | Large Confetti |  | Large Checker Board |
Dark Downward Diagonal |  | Zig Zag |  | Outlined Diamond |
Dark Upward Diagonal |  | Wave |  | Solid Diamond |


Stroke Style FX Editor
Editors > Appearance FX Editors > Stroke Style FX Editor

The Stroke Style FX Editor provides visual editing of the properties, that let you define a stroke, border or outline, based on a mixture of constant property values and expressions. It is shown when you click the FX Button of a stroke property editor.

Following is a description of its properties:

Automatic - specifies whether the stroke style is automatically determined. If this check is checked the entire stroke style editor will be disabled. Uncheck this check if you want to provide a local stroke style value.

Color - specifies the color of the stroke

Width - sets the width of the stroke (measured in Points).

Dash Style - controls the dashing of the stroke. Possible values are: Solid, Dash, Dot, Dash-Dot and Dash-Dot-Dot

Line Join - controls the shape of the line joints. Possible values are: Meter, Bevel, Round and Meter Clipped.


Shadow Style FX Editor
Editors > Appearance FX Editors > Shadow Style FX Editor

The Shadow Style FX Editor provides visual editing of the properties, that let you define the shadow dropped by an element, based on a mixture of constant property values and expressions. It is shown when you click the FX Button of a shadow property editor.

Following is a description of its properties:

Automatic - specifies whether the shadow style is automatically determined. If this check is checked the entire shadow style editor will be disabled. Uncheck this check if you want to provide a local shadow style value.

Type - Specifies the shadow type as one of the following:

  • Solid - the solid shadow is the most common type of shadow used in applications. It is also the fastest.
  • Linear Blur - the linear blur shadow uses a linear distribution at the shadow edges.
  • Radial Blur - the Radial blur shadow uses a radial distribution at the shadow edges.
  • Gaussian Blur - the Gaussian blur shadow uses a Gaussian distribution (sometimes also called normal distribution) at the shadow edges.

Color - specifies the shadow color.

Fade Area - specifies the length in which the shadow fades to complete transparency (measured in Points). Only applicable for Blur shadows.

X Offset - specifies the X offset of the shadow from its original position. A negative value will cast the shadow on the right side of the object.

Y Offset - specifies the X offset of the shadow from its original position. A negative value will cast the shadow on the top side of the object.

Scale - defines a percentage with which to scale to the shadow shape.


Text Style FX Editor
Editors > Appearance FX Editors > Text Style FX Editor

The Text Style FX Editor provides visual editing of the properties, that let you define a text style, based on a mixture of constant property values and expressions. It is shown when you click the FX Button of a text style property editor.

Following is a description of its properties:

Automatic - specifies whether the fill style is automatically determined. If this check is checked the entire fill style editor will be disabled. Uncheck this check if you want to provide a local fill style value.

Font - specifies the name of the font to use.

Size - specifies the size of the font.

Bold - specifies whether to make the text bold.

Italic - specifies whether to make the text italic.

Underline - specifies whether to underline the text.

Strikeout - specifies whether to strikeout the text.

Fill - controls the filling of the text.

Border - controls the outline of the text.

Shadow - controls the shadow of the text.


XML Formatted Texts
Editors > XML Formatted Texts

The web parts in the Nevron Vision for SharePoint support rich formatted texts with many advanced options. Rich formatted texts are strings, in which you use XML tags to define the appearance of the contained substrings. The XML formatted texts closely follows the common HTML formatting tags and even adds some advanced features like support for fill styles, stroke, shadows and image filters, which are not supported by HTML.

It is important to follow the XML formatting rules when writing XML formatted texts, which slightly differ from HTML formatting. The most important difference is that you must always close each tag that you open and that all tags must be nested in each other (you cannot have overlapping tags).

When XML formatted text is parsed its initial state for font style, fill style, border style and shadow style are defined by the Text Style associated with that text. Therefore it is recommended to use default settings, which closely match the default text properties of the displayed text in order to minimize the amount of the XML formatted text and thus to improve performance.

The tag controlling the font style is naturally the well known HTML <font> tag, which accepts several font attributes, which we'll discuss in detail in the following paragraphs. The tag inserting a new line is the natural <\br> tag, which needs no further explanation.

Following is a detailed explanation of the different font attributes and additional tags.

Font Face and Size Attributes

The font face and font size attributes allow you to modify the font name and size respectively used to render the text enclosed in the font start and end tags. For example:

<font face='Tahoma' size='19'>TAHOMA FONT</font>
<font face='Impact' size='22'>IMPACT FONT</font>

will display the following text:

The font color attribute changes the color used to draw the text enclosed in the font start and end tags. For example:

<font face = 'Tahoma' size = '19' color = 'red'> TAHOMA FONT </font>
<font face = 'Impact' size = '22' color = 'blue'> IMPACT FONT </font>

will display the following text:

you can also use RGB values when specifying the font color:

<font face = 'Tahoma' size = '19' color = '#FF0000'>TAHOMA FONT</font>
<font face = 'Impact' size = '22' color = '#0000FF'>IMPACT FONT</font>

Font Gradient Attribute

The font gradient attribute allows you to specify a gradient fill style on the text enclosed in the font start and end tags. The following example applies horizontal and vertical gradients to the 'TAHOMA FONT' and 'IMPACT FONT' texts:

<font face = 'Tahoma' size = '19' gradient = '0, 0, white, red'>TAHOMA FONT</font>
<font face = 'Impact' size = '22' gradient = '0, 0, white, blue'>IMPACT FONT</font>

displays the following text:

Font Hatch Attribute

The font hatch attribute allows you to specify a hatch fill effect on the text enclosed in the font start and end tags. The following example applies checkerboard and cross hatch styles on the 'TAHOMA FONT' and 'IMPACT FONT' texts:

<font face = 'Tahoma' size = '19' hatch = 'largecheckerboard, white, red'>TAHOMA FONT</font>
<font face = 'Impact' size = '22' pattern = 'cross, white, blue'>IMPACT FONT</font>

Font Border Attributes

You can modify the border (outline) of the font by using the border, bordercolor, borderpattern, and borderfactor attributes. Their meaning is the same as the Width, Color, Pattern and Factor settings of the Stroke Style Editor. The following XML will render text with different border width and color:

Text borders can be with different<\br>
<font face = 'Impact' gradient = '0, 1, White, Navy' size = '33'>
<font border = '2' bordercolor = 'red'>
WIDTH
</font>
and
<font bordercolor = 'magenta' border = '1'>
COLOR
</font>
</font>

displays the following text:

Font Background Fill and Border

By default all text fragments do not have a background. You can modify the text background in the same way as with the text foreground settings (using the color, gradient, hatch and border attributes). The only difference is that you need to prefix these attributes with "back-". The following XML defines a white blue text on a white to gray background:

Following is <font color = 'lightgreen' back-gradient = '0, 0, lightgray, black'>Green Text on White to Gray Background</font>

Font Shadow Attributes

You can modify the shadow dropped by the font by using the shadowtype, shadowfadelength, shadowoffset and shadowcolor attributes. Their meaning as the same as the Type, Fade Length, Offset and Color settings found in the .

The following XML formatted text shows how to work with shadows:

There are several types of shadows:<br></br>
<font shadowoffset = '10, 10' shadowfadelength = '10' face = 'Impact' gradient = '0, 1, White, Navy' size = '33'>
-
<font shadowtype = 'solid'>Solid Shadow</font><br></br>
-
<font shadowtype = 'linearblur'>Linear Blur Shadow</font><br></br>
-
<font shadowtype = 'radialblur'>Radial Blur Shadow</font><br></br>
-
<font shadowtype ='gaussianblur'> Gaussian Blur Shadow </font><br></br>
</font>

Font Style Control

Almost every HTML author is familiar with the HTML <B>, <I>, <U> and <STRIKE> tags (font style modifiers). The nice thing about these HTML tags is that they modify the base font style without much typing, which also increases the readability of the XML text. Nevron Chart for SharePoint supports all of them, but you must keep in mind that this is XML after all so you must always close the opening style modifier tag. The following text shows how to work with font style modifiers:

Demonstrates how to use
<font color = 'red'><b>bold</b></font>
, <font color = 'green'><i>italic</i></font>
, <br><font color = 'blue'><u>underline</u></font>
and <font color = 'darkorange'><strike>strikeout</strike></font>
tags

Superscript and Subscript

One of the common tasks when displaying text is that sometimes you have to use subscript or superscript texts. These types of texts are necessary when writing mathematical formulas or when you have some other type of text that should not be placed on the text baseline (like author notes). The text rendering in XML mode supports subscript <sub> and superscript <sup> tags. These tags alter the font size and baseline automatically depending on current font. Note that you can also have nested <sub> and <sup> tags.

The following text shows how to display the famous Einstein formula: E = MC2

World's most famous formula :
<font size = '25' color = 'red'>
<b>E = MC<sup>2</sup></b>
</font>
<br>
This text uses <sup>sup</sup> and
<sub>sub</sub> tags

This results in the following rendered text:

Bullets and Numbering

Sometimes when writing text it is often necessary to have automatic numbering or simply a visual tip helping the end user to better comprehend the text. In such cases you can take advantage of the built-in bullet and bullet numbering features of the XML formatted text. As you might guess bullets are controlled with the <UL> and <LI> tags like in HTML. Nevron Chart for SharePoint supports nine types of bullets as follows:

Bullet type | Description
None | No bullet only text indent
Disk | Circle bullet
Star | Star bullet
Square | Square bullet
Decimal | Bullet with text decimal numbering starting from 1. For example 1, 2, 3, 4 etc.
LowerRoman | Bullet with lowercase text Roman numbering starting from i. For example i, ii, iii, iv etc.
UpperRoman | Bullet with uppercase text Roman numbering starting from I. For example I, II, III, IV etc.
LowerAlpha | Bullet with lowercase text alpha numbering starting from a. For example a, b, c, d etc.
UpperAlpha | Bullet with uppercase text alpha numbering staring form A. For example A, B, C, D etc.

You control the bullet style by changing the liststyletype attribute of the <UL> tag. All bullets enclosed in this tag share this list style type. The following text shows how to create bulleted text:

Decimal bullets
<ul liststyletype = 'Decimal'>
<li color = 'red'> Decimal Bullet 1 </li>
<li color = 'blue'> Decimal Bullet 2 </li>
<li color = 'blue'> Decimal Bullet 3 </li>
</ul><br/>
LowerRoman bullets

<ul liststyletype = 'LowerRoman'>
<li color = 'red'> LowerRoman Bullet 1 </li>
<li color = 'blue'> LowerRoman Bullet 2 </li>
<li color = 'blue'> LowerRoman Bullet 3 </li>
</ul><br/>
LowerAlpha bullets

<ul liststyletype = 'LowerAlpha'>
<li color = 'red'> LowerAlpha Bullet 1 </li>
<li color = 'blue'> LowerAlpha Bullet 2 </li>
<li color = 'blue'> LowerAlpha Bullet 3 </li>
</ul>

This XML results in the following text rendered by the control:

Shapes

The XML formatted texts support simple shapes that can be nested inside the rendered text. The following XML fragment shows how to display text with simple shapes:

Bar Shape <shape shape='bar' size = '20pt, 20pt' color = 'Red' bordercolor = 'DarkRed'/><br/>
Triangle Shape <shape shape='triangle' size = '20pt, 20pt' color = 'Green' bordercolor = 'DarkGreen'/><br/>
InvertedTriangle Shape <shape shape='invertedtriangle' size = '20pt, 20pt' color = 'Blue' bordercolor = 'DarkBlue'/><br/>
Ellipse Shape <shape shape='ellipse' size = '20pt, 20pt' color = 'Red' bordercolor = 'DarkRed'/><br/>
Cross Shape <shape shape='cross' size = '20pt, 20pt' color = 'Green' bordercolor = 'DarkGreen'/><br/>
DiagonalCross Shape <shape shape='diagonalcross' size = '20pt, 20pt' color = 'Blue' bordercolor = 'DarkBlue'/><br/>
LineCross Shape <shape shape='linecross' size = '20pt, 20pt' color = 'Red' bordercolor = 'DarkRed'/><br/>
LineDiagonalCross Shape <shape shape='linediagonalcross' size = '20pt, 20pt' color = 'Green' bordercolor = 'DarkGreen'/><br/>
Star Shape <shape shape='star' size = '20pt, 20pt' color = 'Blue' bordercolor = 'DarkBlue'/><br/>


Dashboards - Getting Started
Building Dashboards > Dashboards - Getting Started
What are Dashboards

There are a lot of definitions for dashboards given by different authors, and we will give another one:

In software the term "dashboard" is a visual display of aggregated/condensed data from various data sources, that gives the users the ability to interactively navigate/explore this data.

Although our definition for a dashboard is pretty simple, following are more details on the key aspects of dashboard:

Dashboard Elements

Dashboards are constructed by two types of elements:

  • Display Elements - these are the data aggregation/visualization elements of the dashboard (for example Chart, Gauge, Map, Tablix etc.). Probably the most important feature of display elements is their ability to aggregate/condense the data passed to them for display. This is due to the fact that humans cannot see trends or make informed decisions when working with large amounts of non-aggregated data. No display element without ability for data aggregation can call itself dashboard ready.
  • Control Elements - these are the elements that control different parameters of the data aggregation/visualization (for example combo boxes, lists, date-time fields etc.).

The distinction of display and control elements should be clearly visible in all enterprise dashboards. This helps the user quickly locate the visual areas of the dashboard from which he/she controls the results displayed by the display elements. Typically control elements are placed on top of display elements, although right side or bottom side control elements are also commonly used.

Glue Between Display and Control Elements

Although most authors clearly see the separation of display and control elements, the implementation of the glue between them is most often never mentioned. This is because it is never so clear whether these control elements should control the data filtering, grouping, sorting and/or data visualization or all of these dashboard aspects simultaneously.

The key feature of dashboards - interactivity - is also somehow excluded from deep observation. Terms like Drill-Down Reports are often used as a synonym of filtering or user redirection, which is very incorrect. Real Drill-Down Reports can be much more sophisticated, as explained in the Actions and Drill Down reports topic.

In Nevron SharePoint Vision we have used Expressions and Parameters to implement the glue between control elements and display elements. Control elements are used to define the values of the custom dashboard parameters. Expression can consume parameter values in the entire pipeline of data connection, data grouping, filtering, sorting and data visualization. This gives you the flexibility to glue all aspects of your web parts to user controllable values, which is a truly unique feature for the SharePoint ecosystem.

Building Dashboards with Nevron Vision for SharePoint

Nevron Vision for SharePoint includes the essential elements that you need to develop complex dashboards directly in SharePoint, by converting arbitrary SharePoint pages into interactive dashboards. The creation of a dashboard is generally a two stage process that is divided into two phases - planning and implementation.

Planning Phase

Following are the most important questions that need to be answered during the planning phase:

1. Which are the data sources and what is their schema?

2. What data analysis must be performed on the data?

3. What display elements are needed to show the data analysis?

4. What parameters are needed and where and how are they used?

Implementation Phase

The development phase with Nevron Vision for SharePoint would require only the Nevron web parts installed. The implementation of custom parameters can be achieved in two ways:

• By using the SharePoint Filter WebParts – this is the recommended scenario for users with no HTML and JavaScript experience. The advantage of this method is that the entire authoring process is visual. The disadvantage of this method is that SharePoint Filter WebParts generally use postbacks, which results in an entire page refresh when parameters are changed. See Custom Parameters with SharePoint Filter WebParts for more info.

• By using the Nevron JavaScript API – this is the recommended scenario for users with HTML and JavaScript experience. The advantage of this method is that the display elements are updated via AJAX and you have fine control over which elements are refreshed and when – directly on the client side. The disadvantage of this method is that you need to get your hands dirty with HTML and JavaScript. See Custom Parameters with Nevron JavaScript API for more info.

The My First Dashboard in SharePoint topic explains how to create a simple dashboard by using the two possible parametrisation methods.

See Also
My First Dashboard in SharePoint
Custom Parameters with Nevron JavaScript API
Custom Parameters with SharePoint Filter WebParts
Actions and Drill Down reports


My First Dashboard in SharePoint
Building Dashboards > My First Dashboard in SharePoint

Following is an example dashboard that goes through the planning and implementation phases, described in the Dashboards - Getting Started topic.

Planning Phase

1. Which are the data sources and what is their schema?

For this sample we are going to use the following fictional data source:

2. What data analysis must be performed on the data?

For this sample we want to make a dashboard, which shows the grouped company sales for a specific region. We want to allow the user to specify a blank region in the case of which the report will be for all regions.

3. What display elements are needed to show the data analysis?

For this sample we will need a bar chart, the categories of which are the companies and the bar values are the sum of sales for the selected region.

4. What parameters are needed and where and how are they used?

We would need one parameter - for the selected region. The parameter fill be used to filter out the records that apply only to the selected region.

Implementation Phase (using SharePoint Filter WebParts)
  1. Add a new Choice Filter Web Part to an arbitrary SharePoint page.
  2. Configure it like this:
    Filter Name: RegionName
    Options: US Europe Asia (each on new line)
    Show Empty Value: check it
    Default Value: US
  3. Add a chart web part to the page (see Adding the WebParts to Pages for more info).
  4. From the Choice Filter Web Part Edit Menu, choose Connections > Send Filter Values To > Nevron Chart for SharePoint
  5. Run the Chart Designer
  6. Go to the Chart > Pivot page
  7. Drag and drop the sales field as values data grouping.
  8. Drag and drop the company field as category data grouping.
  9. Add a new pivot filter (from the Filters tab next the Data Groupings tab) with the following expression:
    =IF(Params!SPF_RegionName.STR = "", true, Fields!Region = Params!SPF_RegionName.STR)
  10. Click the chart designer OK button to save the made changes and return to the page.

Now you have an interactive dashboard, which allows you to choose a region and displays the companies sales for the selected region. Initially selected is the US region.

Implementation Phase (using Nevron JavaScript API):
  1. Add a chart web part to an arbitrary SharePoint page (see Adding the WebParts to Pages for more info).
  2. Run the chart designer.
  3. Connect the chart web part to the data source. (see Connecting to a Database for more info).
  4. Go to the Chart > Pivot page
  5. Drag and drop the sales field as values data grouping.
  6. Drag and drop the company field as category data grouping.
  7. Add a new pivot filter (from the Filters tab next the Data Groupings tab) with the following expression:
    =IF(Params!RegionName.STR = "", true, Fields!Region = Params!RegionName.STR)
  8. Click the chart designer OK button to save the made changes and return to the page.
  9. Add a new Content Editor Web part and insert the following HTML + Java Script:
HTML and JavaScript
Copy Code
<table>
    <tbody>
        <tr>
            <td>Region Name:</td>
            <td>
                <div id="NRegionNameId"></div>
            </td>
        </tr>
    </tbody>
</table>
<script type="text/javascript">
    NInitSTRParam("NRegionNameId", "RegionName", {
        InitialValue: "US",
        RefreshMode: "auto",
        EnumValues: new Array("", "US", "Europe", "Asia")
    });
</script>

Now you have an interactive dashboard, which allows you to choose a region and displays the companies sales for the selected region. Initially selected is the US region.

For the purpose of simplicity we have chosen to implement a very simple parameterization scenario, which dynamically modifies a pivot filter. Since parameters can be consumed by almost all web part properties, including the properties that define the data source connection, you can actually parametrize almost everything in the Nevron SharePoint Vision web parts (more specifically every property that has an FX button).

If you want to build a custom dashboard in SharePoint and do not want to bother doing that yourself - contact Nevron Consulting at consulting@nevron.com for a quote.


Custom Parameters in SharePoint Pages
Building Dashboards > Parameters in SharePoint Pages > Custom Parameters in SharePoint Pages

Parameters can be consumed by any expression, as discussed in the Parameters topic. Since expressions are supported by nearly all properties of the Nevron SharePoint Vision webparts, this gives you the incredible flexibility to bind nearly all aspects of the webparts (including details for the data source connection) to interactive user choices and preferences. Nevron SharePoint Vision distinguishes between two types of parameters - custom and predefined. The predefined parameters are explained in the Parameters topic, so the topics in this folder focus on custom parameters.

You can think of custom parameters as a set of custom variables that you declare for each SharePoint page, that needs to have dynamic data aggregation/data visualization abilities (i.e. be a real dashboard). It is important to understand that when we talk about custom parameters and Nevron Web Parts, we are always referring to the SharePoint page in which the webpart(s) that will use the parameters resides on.

For the purpose of storing the custom parameters values for each user that currently browses the SharePoint page, Nevron SharePoint Vision implements custom session state management, that allows for parameter values to be recorded in medias, other than the standard ASP.NET Session State. The storage for custom parameters values can be controlled globally, though the The WebParts Config File.

Nevron SharePoint Vision provides three ways to create and modify custom parameters:

1. With SharePoint Filter WebParts. See Custom Parameters with SharePoint Filter WebParts for more info.

2. With Nevron JavaScript. See Custom Parameters with Nevron JavaScript API for more info.

3. With Jump To Report Actions. See Actions and Drill Down reports for more info.

Methods 1 and 2 help you declare a static for the page set of parameters and provide the user with the visual means to modify these parameters values.

Method 3 (Action Type set to JumpToReport) is implementing a sophisticated browser redirection technique, that lets you modify a set of custom parameter values for the current user session for the action target URL, prior to the browser being redirected to that page, which is the heart of drill down reporting.

See Also
Parameters
Custom Parameters with Nevron JavaScript API
Custom Parameters with SharePoint Filter WebParts
Actions and Drill Down reports


Custom Parameters with Nevron JavaScript API
Building Dashboards > Parameters in SharePoint Pages > Custom Parameters with Nevron JavaScript API

To define parameters and give SharePoint users the ability to interactively modify these parameter values trough AJAX, Nevron SharePoint Vision exposes a simple Parameters JavaScript API. This gives you the needed flexibility to develop SharePoint dashboards that blend with the overall SharePoint design that you use, and visualize/manipulate parameters through third party Web UI controls. In order to use the Parameters JScript API, you only need some simple tool, like the Content Web Part, that allows you to deploy custom HTML and Java Script on the client side of the SharePoint page. The Parameters JScript API is automatically deployed to the client side of the SharePoint page, if there is at least one Nevron Web Part dropped on the page.

The Parameters JScript API, implements functions that perform the three most important tasks related to parameterization.

1. Query Data Source - these are functions that query the data source of a specific web part for information about distinct values, minimum and maximum. With the help of these functions you can initialize parameters with relevant settings for your data source.

2. Initialize/display parameters - these are functions that initialize the parameters for the SharePoint page. These functions are generally called from a global script block (i.e. immediately after the SharePoint page is loaded). All initialization functions also allow you to specify the id of a placeholder HTML element, the content of which is replaced with a default for the specific parameter type editor.

3. Get/Set parameter values - these are functions that let you get/set parameters values from/to the current SharePoint user session that Nevron Web Parts create on the server. As Nevron SharePoint Vision does not focus on Web UI controls, you will primary use these functions, when you need to use the Parameters JScript API with third party Web UI toolkits (for example jQuery UI, ExtJS, YUI, SAP UI 5 etc.).

4. Refresh the Web Parts - these are functions that help you force a refresh of all or just concrete web parts on the page.

The custom parameters that are created by the Parameters JScript API, are available to all Nevron Web Parts that are created on the page.

The rest of this topic explains these functions in details:

Query Data Source
Function Signature | Description | Examples
NQueryDistinct(placeholderId, columnName, separator, callback) | Queries the data source of the specified web part for distinct values in the specified column. The arguments are: placeholderId - the id of the webpart placeholder which to query. See notes below. columnName - the name of column for which the query executes. separator - separator with which to join the values. callback - function which to call when the query returns. | HTML <div id="CompanyId"/> JS NQueryDistinct("NWebPart_g_6e168b9c_a328_4f40_97bc_d5308aadb318", "Company", ";", function(result) { var options = result.split(";"); NInitSTRParam("CompanyId", "Company", { InitialValue: options[0], RefreshMode: "auto", EnumValues: options}); });
NQueryMin(placeholderId, columnName, separator, callback) | Queries the data source of the specified web part for min value in the specified column. The arguments are: placeholderId - the id of the webpart placeholder which to query. See notes below. columnName - the name of column for which the query executes. callback - function which to call when the query returns. | HTML <div id="MinSalesId"></div> JS NQueryMin("NWebPart_g_6e168b9c_a328_4f40_97bc_d5308aadb318", "Sales", function (result) { NInitNUMParam("MinSalesId", "MinSales", { InitialValue: result, RefreshMode: "auto", Decimals: 2 }); });
NQueryMax(placeholderId, columnName, separator, callback) | Queries the data source of the specified web part for max value in the specified column. The arguments are: placeholderId - the id of the webpart placeholder which to query. See notes below. columnName - the name of column for which the query executes. callback - function which to call when the query returns. | HTML <div id="MaxSalesId"></div> JS NQueryMax("NWebPart_g_6e168b9c_a328_4f40_97bc_d5308aadb318", "Sales", function (result) { NInitNUMParam("MaxSalesId", "MaxSales", { InitialValue: result, RefreshMode: "auto", Decimals: 2 }); });

The placeholder id is a string that is generated from the webpart id prefixed with the "NWebPart_" prefix.

For example if your webpart id is "g_3f5485fe_039e_49f3_96ea_0249de90d670", the web part placeholder id will be: "NWebPart_g_3f5485fe_039e_49f3_96ea_0249de90d670".

You can get the webpart id of each Nevron web part from the editing info bar at design time.
In the SharePoint page HTML, the Query functions JS needs to placed after the respective webparts, whose data sources the functions query. This is because the Query functions obtain information from the placeholder HTML, so it needs to be rendered before the Query functions are executed. One nice idea is to always place your JS at the bottom of the HTML page. You can alternatively call your JS when the document is loaded.
Initializing and Displaying Parameters
Function Signature Description Examples
NInitBOOLParam(id, name, settings)

Initializes a boolean parameter and replaces the inner HTML of the element with the specified Id, with an HTML <INPUT type=''checkbox"> element. The arguments are:

id - the id of the HTML element whose inner HTML must be replaced.
name - the parameter name.
settings - an options bag with the following properties:

InitialValue - the initial value for the parameter, if not yet defined. Possible values area: true and false. By default false.
RefreshMode - the mode in which the parameter refreshes the web parts. Possible values area: none and auto. By default none.

HTML
<div id="MyBoolParamId"/>

JS
NInitBOOLParam("MyBoolParamId", "MyBoolParam", {
InitialValue: true,
RefreshMode: "auto"
});
NInitSTRParam(id, name, settings) Initializes a string parameter and replaces the inner HTML of the element with the specified Id, with an HTML element that depends on the EnumValues and MiltiLine settings. The arguments are:

id - the id of the HTML element whose inner HTML must be replaced.
name - the parameter name.
settings - an options bag with the following properties:

InitialValue - the initial value for the parameter, if not yet defined. By default an empty string.
RefreshMode - the mode in which the parameter refreshes the web parts. Possible values area: none and auto. By default none.
EnumValues - an array of strings that defines the possible values for the parameter. If specified, the string parameter is displayed as an HTML <SELECT> element.
MiltiLine - only taken into account if EnumValues is not specified. If set to true the parameter is rendered as a HTML <TEXTAREA> element. Otherwise it is rendered as an <INPUT> element.

Combo Box

HTML
<div id="MyStrComboParamId"/>

JS
NInitSTRParam("MyStrComboParamId", "MyStrComboParam", {
InitialValue: "Asia",
RefreshMode: "auto",
EnumValues: new Array("", "US", "Europe", "Asia")
});

Text Box

HTML
<div id="MyStrTextBoxParamId"/>

JS
NInitSTRParam("MyStrTextBoxParamId", "MyStrTextBoxParam", {
InitialValue: "Type something here",
RefreshMode: "auto"
});
NInitNUMParam(id, name, settings)

Initializes a number parameter and replaces the inner HTML of the element with the specified Id, with an HTML INPUT element that would accept only a valid number. The arguments are:

id - the id of the HTML element whose inner HTML must be replaced.
name - the parameter name.
settings - an options bag with the following properties:

InitialValue - the initial value for the parameter, if not yet defined. By default 0.
RefreshMode - the mode in which the parameter refreshes the web parts. Possible values area: none and auto. By default none.
Decimals - the number of digits to accept behind the decimal point. By default 0.
Min - the minimal number to accept. By default: -1000000000.
Max - the maximum number to accept. By default: 1000000000.

Integer Number Editor

HTML
<div id="MyIntParamId"/>

JS
NInitNUMParam("MyIntParamId", "MyIntParam", {
InitialValue: 10,
RefreshMode: "auto"
});

Float Number Editor

HTML
<div id="MyFloatParamId"/>

JS
NInitNUMParam("MyFloatParamId", "MyFloatParam", {
InitialValue: 10.3,
RefreshMode: "auto",
Decimals : 2
});

The RefreshMode setting in all initialization functions, defines whether the web parts that reside on the page should be refreshed after the parameter has changed or not. The default setting of none specifies that the web parts should not be refreshed. When you use this option, you must typically create a refresh button, to force the refresh of all web parts (see Web Parts Functions below). The other option - auto - means that all web parts are automatically refreshed when the value of the parameter has changed from the editor.

All parameters initialization functions are also providing some default HTML representations. If you want to initialize parameters, that do not have a HTML representation (e.g. are invisible or need to be edited in a different way) you can call the respective initialization function with a non existing HTML element id - for example the Id of a randomly generated GUID.
Getting and Setting Parameter Values
Function Signature Description Examples
NSetBOOLParam(paramName, value, setCallback)

Sets the value of a boolean parameter. The arguments are:

paramName - the name of the parameter.
value - parameter value. Should be having the string equivalent of "true" to set to true. All other values evaluate to false.
setCallback - a function that is executed when the set command has been executed.

 NSetBOOLParam("MyBOOLParam", true, function(){
NGetBOOLParam("MyBOOLParam", function(value){
alert(value);
});
});
NSetSTRParam(paramName, value, setCallback)

Sets the value of a string parameter. The arguments are:

paramName - the name of the parameter.
value - parameter value. Can be any string
setCallback - a function that is executed when the set command has been executed.

 NSetSTRParam("MySTRParam", "Hello World", function(){
NGetSTRParam("MySTRParam", function(value){
alert(value);
});
});
NSetNUMParam(paramName, value, setCallback)

Sets the value of a numeric parameter. The arguments are:

paramName - the name of the parameter.
value - parameter value. Should be having the string equivalent of a numeric value that is formatted according to the "en-us" culture formatting.
setCallback - a function that is executed when the set command has been executed.

 NSetNUMParam("MyNUMParam", 20.56, function(){
NGetNUMParam("MyNUMParam", function(value){
alert(value);
});
});
NGetBOOLParam(paramName, getCallback)

Gets the value of a boolean parameter. The arguments are:

paramName - the name of the parameter.
getCallback - a function that is executed when the get command has been executed. The passed argument is a string representation of the of the boolean parameter value - e.g. contains a "true" or "false" string.

 NSetBOOLParam("MyBOOLParam", true, function(){
NGetBOOLParam("MyBOOLParam", function(value){
alert(value);
});
});
NGetSTRParam(paramName, getCallback)

Gets the value of a string parameter. The arguments are:

paramName - the name of the parameter.
getCallback - a function that is executed when the get command has been executed. The passed argument is a string.

 NSetSTRParam("MySTRParam", "Hello World", function(){
NGetSTRParam("MySTRParam", function(value){
alert(value);
});
});
NGetNUMParam(paramName, getCallback)

Gets the value of a numeric parameter. The arguments are:

paramName - the name of the parameter.
getCallback - a function that is executed when the get command has been executed. The passed argument is a string that contains the string representation of the number in "en-us" culture formatting.

 NSetNUMParam("MyNUMParam", 20.56, function(){
NGetNUMParam("MyNUMParam", function(value){
alert(value);
});
});

Refreshing the Nevron WebParts

Function Signature | Description | Examples
NRefreshWebPart(id) | Refreshes the Nevron web part with the specified Id. | NRefreshWebPart("NWebPart_g_63dd3f48_6335_4bde_b6d2_578bec3e9b75");
NRefreshWebPartAfter(id, milliseconds) | Refreshes the Nevron web part with the specified Id, after the period of time defined by the milliseconds argument elapses. | NRefreshWebPart("NWebPart_g_63dd3f48_6335_4bde_b6d2_578bec3e9b75", 2000);
NRefreshAllWebParts() | Refreshes all Nevron web parts that reside on the current page. | NRefreshAllWebParts();
NRefreshAllWebPartsAfter(milliseconds) | Refreshes all Nevron web parts that reside on the current page, after the period of time defined by the milliseconds argument elapses. | NRefreshAllWebPartsAfter(3000);

The web parts refresh functions give you the ability to refresh individual web parts as well as all web parts immediately and after a certain period of time. In general all Nevron Web Parts will render a content placeholder, that has an HTML id argument with the "NWebPart_" prefix, followed by the SharePoint web part Id. The designer of each individual web part shows the SharePoint web part id in its' info bar (located before the main toolbar).
See Also
Parameters
Custom Parameters with SharePoint Filter WebParts
Actions and Drill Down reports


Custom Parameters with SharePoint Filter WebParts
Building Dashboards > Parameters in SharePoint Pages > Custom Parameters with SharePoint Filter WebParts

Nevron SharePoint Vision WebParts can serve as consumer of two types of web part connections:

  1. Fields
  2. Rows

Both types of connections are exposing the consumed values as custom parameters. This means that you need to manually create expressions that consume values send to the Nevron Web Parts, as no custom parameter value has any predefined meaning for the Nevron Web Parts.

The following sections in this topic describes the two ways of consuming web part connections in details.

Consuming Fields Connections

In a fields connections a field provider sends a named value to a field consumer. Nevron WebParts can consume an arbitrary count of field values, since in a field connection the field provider, gives a name to the value that it sends to to the consumer. Field values send to the web part can be consumed by all expressions. Nevron WebParts expose the consumed field values as custom parameters, with the SPF_ prefix (stands for SharePoint Field).

For example: in the My First Dashboard in SharePoint sample, the web part filters parametrization method uses a Choice Filter Web Part, the name of which is: RegionName. In the pivot filtering expression the value send by the Choice Filter Web Part to the Chart, is consumed in the pivot filtering expression via the Params!SPF_RegionName.STR reference.

It is important to know that the field name send by the field provider web part is normalized prior to being consumed by expressions in Nevron Web Parts. This is required in order to transform arbitrary names, into valid for expressions reference names. The normalization process replaces all spaces and symbols that are not digits or letters with the '_' (underscore) character. For example if the Choice Filter Web Part was named as Region Name 3, in expressions it can be consumed as Params!SPF_Region_Name_3.STR.

Also important is that all field values are consumed as strings. This means that if for example you are sending a Date Filter value to a Nevron WebPart, the date will arrive as string and you need to use the DATETIME function to reconstruct the date from the string.

The most common usage of Fields Connections is with SharePoint Filter WebParts. This is because all SharePoint Filter WebParts can serve as fields providers and send a named value to a field consumer. It is however possible to use Nevron Web Parts with all types of web parts that can act as field providers.

Nevron SharePoint Vision brings a new usability dimension for SharePoint Filter WebParts. This is because the standard webparts for SharePoint can typically consume the values send by filter webparts only in their filtering process. Since Nevron WebParts can consume values send by filter webparts in any expression, and expressions can be used to control the data source connection, data filtering, data aggregation and data visualization aspects of the web parts, in the context of Nevron SharePoint Vision, SharePoint Filter WebParts can be used to control practically everything.

Consuming Row Connections

In a row connection the row provider sends a row (array) of values to a row consumer. Nevron WebParts can consume a fixed count of row values (currently up to five), since in a row connection the row provider does not give a name to the row that it sends to to the consumer. Rows send to Nevron WebParts can be consumed by all expressions. Nevron WebParts expose the consumed rows as custom parameters, that can be referenced in all expressions like this:

Params!SPR_1.STRARR - references the first row.
Params!SPR_2.STRARR - references the second row.
Params!SPR_3.STRARR - references the third row.
Params!SPR_4.STRARR - references the fourth row.
Params!SPR_5.STRARR - references the fifth row.

The SPR_ prefix stands for SharePoint Row and is immediately followed by the one based index of the five available slots.

All row values send to Nevron Web Parts are consumed as string arrays.

See Also
Parameters
Custom Parameters with Nevron JavaScript API
Actions and Drill Down reports


Actions and Drill Down reports
Building Dashboards > Parameters in SharePoint Pages > Actions and Drill Down reports

Actions can be associated with all essential chart and gauge elements, including: chart data points, chart walls, chart axes, gauge pointers, gauge ranges, gauge axes, titles etc.

Since actions are implemented as items in the web part HTML image map, actions can be globally disabled if you set the Rendering - Render Image Map property to false.

Each action has the following properties:

Tooltip - defines a tooltip for the element. The tooltip appears when the user hovers the mouse over the element.

Type - defines the action type. Currently there are three action types:

  • None - nothing happens when the user clicks the element (the default).
  • Jump to URL - choose this option to define a link to an arbitrary Web page. When this option is selected you can type the URL of a Web page or an expression that evaluates to the URL of a Web page.
  • Jump to Report - choose this option to define a link to a SharePoint page that serves as a drill down report (sub report). The rest of this topic describes what drill down reports are.

Drill-Down Reports in SharePoint

The term Drill-Down Reporting is a synonym of Master-Detail Reporting. In this reporting technique a set of sub-reports is associated with a master report. When the user clicks certain areas of the master report display elements, the master report setups a set of custom parameters for a specific sub-report and redirects the report user to that sub-report. This reporting technique is useful when the master report cannot provide a clear visual perception of all the details that the user wants to see, so that is why it redirects the user to a more concrete report, that the master report setups dynamically for the user, based on where he/she clicked.

In the context of Nevron SharePoint Vision, the term "report" can be associated with each SharePoint page, because Nevron SharePoint Vision aims to help you convert each SharePoint page into an interactive report. In Nevron SharePoint Vision, Master-Detail Reports are driven by custom parameters. Because custom parameters can be consumed by any expression, the master report can actually control almost anything in the sub-report - from the data connection, to the data aggregation and data visualization.

Master-Detail reports are visually implemented when you select to the Jump to Report action type, for a chart/gauge element of your choice. As already mentioned all essential chart and gauge elements have an associated action. When the action type is set to Jump to Report, you are allowed to specify the following properties of the jump:

Report - specifies the URL of a SharePoint page that serves as a drill down report (sub report). You can also use an expression to specify a dynamic URL.

Parameters - a list of {custom parameter name;value} pairs that need to be passed to the sub report. The parameters that are passed to the sub-report web parts, can be consumed by any expression, as discussed in the Parameters topic and can also be further visually edited with the help of simple HTML and Java Script, which is described in the Custom Parameters with Nevron JavaScript API topic.

See Also
Parameters
Custom Parameters with Nevron JavaScript API


Culture Table
Resources > Culture Table
Culture Name | Language Country/Region | Language | Local language name | Country or Region name abbreviation | Language name abbreviation
af-ZA | Afrikaans (South Africa) | Afrikaans | Afrikaans (Suid Afrika) | ZAF | AFK
sq-AL | Albanian (Albania) | Albanian | shqipe (Shqipëria) | ALB | SQI
ar-DZ | Arabic (Algeria)‎ | Arabic | العربية (الجزائر)‏ | DZA | ARG
ar-BH | Arabic (Bahrain)‎ | Arabic | العربية (البحرين)‏ | BHR | ARH
ar-EG | Arabic (Egypt)‎ | Arabic | العربية (مصر)‏ | EGY | ARE
ar-IQ | Arabic (Iraq)‎ | Arabic | العربية (العراق)‏ | IRQ | ARI
ar-JO | Arabic (Jordan)‎ | Arabic | العربية (الأردن)‏ | JOR | ARJ
ar-KW | Arabic (Kuwait)‎ | Arabic | العربية (الكويت)‏ | KWT | ARK
ar-LB | Arabic (Lebanon)‎ | Arabic | العربية (لبنان)‏ | LBN | ARB
ar-LY | Arabic (Libya)‎ | Arabic | العربية (ليبيا)‏ | LBY | ARL
ar-MA | Arabic (Morocco)‎ | Arabic | العربية (المملكة المغربية)‏ | MAR | ARM
ar-OM | Arabic (Oman)‎ | Arabic | العربية (عمان)‏ | OMN | ARO
ar-QA | Arabic (Qatar)‎ | Arabic | العربية (قطر)‏ | QAT | ARQ
ar-SA | Arabic (Saudi Arabia)‎ | Arabic | العربية (المملكة العربية السعودية)‏ | SAU | ARA
ar-SY | Arabic (Syria)‎ | Arabic | العربية (سوريا)‏ | SYR | ARS
ar-TN | Arabic (Tunisia)‎ | Arabic | العربية (تونس)‏ | TUN | ART
ar-AE | Arabic (U.A.E.)‎ | Arabic | العربية (الإمارات العربية المتحدة)‏ | ARE | ARU
ar-YE | Arabic (Yemen)‎ | Arabic | العربية (اليمن)‏ | YEM | ARY
hy-AM | Armenian (Armenia) | Armenian | Հայերեն (Հայաստան) | ARM | HYE
az-AZ-Cyrl | Azeri (Cyrillic, Azerbaijan) | Azeri (Cyrillic) | Азәрбајҹан (Азәрбајҹан) | AZE | AZE
az-AZ-Latn | Azeri (Latin, Azerbaijan) | Azeri (Latin) | Azərbaycanili (Azərbaycanca) | AZE | AZE
eu-ES | Basque (Basque) | Basque | euskara (euskara) | ESP | EUQ
be-BY | Belarusian (Belarus) | Belarusian | Беларускі (Беларусь) | BLR | BEL
bg-BG | Bulgarian (Bulgaria) | Bulgarian | български (България) | BGR | BGR
ca-ES | Catalan (Catalan) | Catalan | català (català) | ESP | CAT
zh-HK | Chinese (Hong Kong S.A.R.) | Chinese | 中文(香港特别行政區) | HKG | ZHH
zh-MO | Chinese (Macao S.A.R.) | Chinese | 中文(澳門特别行政區) | MCO | ZHM
zh-CN | Chinese (People's Republic of China) | Chinese | 中文(中华人民共和国) | CHN | CHS
zh-CHS | Chinese (Simplified) | Chinese | 中文(简体) | TWN | CHS
zh-SG | Chinese (Singapore) | Chinese | 中文(新加坡) | SGP | ZHI
zh-TW | Chinese (Taiwan) | Chinese | 中文(台灣) | TWN | CHT
zh-CHT | Chinese (Traditional) |  | 中文(繁體) |  | CHT
hr-HR | Croatian (Croatia) | Croatian | hrvatski (Hrvatska) | HRV | HRV
cs-CZ | Czech (Czech Republic) | Czech | ceština (Ceská republika) | CZE | CSY
da-DK | Danish (Denmark) | Danish | dansk (Danmark) | DNK | DAN
div-MV | Divehi (Maldives)‎ | Divehi | ދިވެހިބަސް (ދިވެހި ރާއްޖެ)‏ | MDV | DIV
nl-BE | Dutch (Belgium) | Dutch | Nederlands (België) | BEL | NLB
nl-NL | Dutch (Netherlands) | Dutch | Nederlands (Nederland) | NLD | NLD
en-AU | English (Australia) | English | English (Australia) | AUS | ENA
en-BZ | English (Belize) | English | English (Belize) | BLZ | ENL
en-CA | English (Canada) | English | English (Canada) | CAN | ENC
en-CB | English (Caribbean) | English | English (Caribbean) | CAR | ENB
en-IE | English (Ireland) | English | English (Eire) | IRL | ENI
en-JM | English (Jamaica) | English | English (Jamaica) | JAM | ENJ
en-NZ | English (New Zealand) | English | English (New Zealand) | NZL | ENZ
en-PH | English (Republic of the Philippines) | English | English (Philippines) | PHL | ENP
en-ZA | English (South Africa) | English | English (South Africa) | ZAF | ENS
en-TT | English (Trinidad and Tobago) | English | English (Trinidad y Tobago) | TTO | ENT
en-GB | English (United Kingdom) | English | English (United Kingdom) | GBR | ENG
en-US | English (United States) | English | English (United States) | USA | ENU
en-ZW | English (Zimbabwe) | English | English (Zimbabwe) | ZWE | ENW
et | Estonian | Estonian | eesti | EST | ETI
et-EE | Estonian (Estonia) | Estonian | eesti (Eesti) | EST | ETI
fo-FO | Faroese (Faroe Islands) | Faroese | føroyskt (Føroyar) | FRO | FOS
fi-FI | Finnish (Finland) | Finnish | suomi (Suomi) | FIN | FIN
fr-BE | French (Belgium) | French | français (Belgique) | BEL | FRB
fr-CA | French (Canada) | French | français (Canada) | CAN | FRC
fr-FR | French (France) | French | français (France) | FRA | FRA
fr-LU | French (Luxembourg) | French | français (Luxembourg) | LUX | FRL
fr-MC | French (Principality of Monaco) | French | français (Principauté de Monaco) | MCO | FRM
fr-CH | French (Switzerland) | French | français (Suisse) | CHE | FRS
gl-ES | Galician (Galician) | Galician | galego (galego) | ESP | GLC
ka-GE | Georgian (Georgia) | Georgian | ქართული (საქართველო) | GEO | KAT
de-AT | German (Austria) | German | Deutsch (Österreich) | AUT | DEA
de-DE | German (Germany) | German | Deutsch (Deutschland) | DEU | DEU
de-LI | German (Liechtenstein) | German | Deutsch (Liechtenstein) | LIE | DEC
de-LU | German (Luxembourg) | German | Deutsch (Luxemburg) | LUX | DEL
de-CH | German (Switzerland) | German | Deutsch (Schweiz) | CHE | DES
el-GR | Greek (Greece) | Greek | ελληνικά (Ελλάda) | GRC | ELL
gu-IN | Gujarati (India) | Gujarati | ગુજરાતી (ભારત) | IND | GUJ
he-IL | Hebrew (Israel)‎ | Hebrew | עברית (ישראל)‏ | ISR | HEB
hi-IN | Hindi (India) | Hindi | हिंदी (भारत) | IND | HIN
hu-HU | Hungarian (Hungary) | Hungarian | magyar (Magyarország) | HUN | HUN
is-IS | Icelandic (Iceland) | Icelandic | íslenska (Ísland) | ISL | ISL
id-ID | Indonesian (Indonesia) | Indonesian | Bahasa Indonesia (Indonesia) | IDN | IND
it-IT | Italian (Italy) | Italian | italiano (Italia) | ITA | ITA
it-CH | Italian (Switzerland) | Italian | italiano (Svizzera) | CHE | ITS
ja-JP | Japanese (Japan) | Japanese | 日本語 (日本) | JPN | JPN
kn-IN | Kannada (India) | Kannada | ಕನ್ನಡ (ಭಾರತ) | IND | KDI
kk-KZ | Kazakh (Kazakhstan) | Kazakh | Қазақ (Қазақстан) | KAZ | KKZ
sw-KE | Kiswahili (Kenya) | Swahili | Kiswahili (Kenya) | KEN | SWK
kok-IN | Konkani (India) | Konkani | कोंकणी (भारत) | IND | KNK
ko-KR | Korean (Korea) | Korean | 한국어 (대한민국) | KOR | KOR
ky-KG | Kyrgyz (Kyrgyzstan) | Kyrgyz | Кыргыз (Кыргызстан) | KGZ | KYR
lv-LV | Latvian (Latvia) | Latvian | latviešu (Latvija) | LVA | LVI
lt-LT | Lithuanian (Lithuania) | Lithuanian | lietuviu (Lietuva) | LTU | LTH
mk-MK | Macedonian (Former Yugoslav Republic of Macedonia) | FYRO Macedonian | македонски јазик (Македонија) | MKD | MKI
ms-BN | Malay (Brunei Darussalam) | Malay | Bahasa Malaysia (Brunei Darussalam) | BRN | MSB
ms-MY | Malay (Malaysia) | Malay | Bahasa Malaysia (Malaysia) | MYS | MSL
mr-IN | Marathi (India) | Marathi | मराठी (भारत) | IND | MAR
mn-MN | Mongolian (Cyrillic, Mongolia) | Mongolian | Монгол хэл (Монгол улс) | MNG | MON
nb-NO | Norwegian, Bokmål (Norway) | Norwegian (Bokmål) | norsk, bokmål (Norge) | NOR | NOR
nn-NO | Norwegian, Nynorsk (Norway) | Norwegian (Nynorsk) | norsk, nynorsk (Noreg) | NOR | NON
fa-IR | Persian (Iran)‎ | Farsi | فارسى (ايران)‏ | IRN | FAR
pl-PL | Polish (Poland) | Polish | polski (Polska) | POL | PLK
pt-BR | Portuguese (Brazil) | Portuguese | Português (Brasil) | BRA | PTB
pt-PT | Portuguese (Portugal) | Portuguese | português (Portugal) | PRT | PTG
pa-IN | Punjabi (India) | Punjabi | ਪੰਜਾਬੀ (ਭਾਰਤ) | IND | PAN
ro-RO | Romanian (Romania) | Romanian | româna (România) | ROM | ROM
ru-RU | Russian (Russia) | Russian | русский (Россия) | RUS | RUS
sa-IN | Sanskrit (India) | Sanskrit | संस्कृत (भारतम्) | IND | SAN
sr-SP-Cyrl | Serbian (Cyrillic, Serbia and Montenegro) | Serbian (Cyrillic) | српски (Србија и Црна Гора) | SCG | SRB
sr-SP-Latn | Serbian (Latin, Serbia and Montenegro) | Serbian (Latin) | srpski (Srbija i Crna Gora) | SCG | SRL
sk-SK | Slovak (Slovakia) | Slovak | slovencina (Slovenská republika) | SVK | SKY
sl-SI | Slovenian (Slovenia) | Slovenian | slovenski (Slovenija) | SVN | SLV
es-AR | Spanish (Argentina) | Spanish | Español (Argentina) | ARG | ESS
es-BO | Spanish (Bolivia) | Spanish | Español (Bolivia) | BOL | ESB
es-CL | Spanish (Chile) | Spanish | Español (Chile) | CHL | ESL
es-CO | Spanish (Colombia) | Spanish | Español (Colombia) | COL | ESO
es-CR | Spanish (Costa Rica) | Spanish | Español (Costa Rica) | CRI | ESC
es-DO | Spanish (Dominican Republic) | Spanish | Español (República Dominicana) | DOM | ESD
es-EC | Spanish (Ecuador) | Spanish | Español (Ecuador) | ECU | ESF
es-SV | Spanish (El Salvador) | Spanish | Español (El Salvador) | SLV | ESE
es-GT | Spanish (Guatemala) | Spanish | Español (Guatemala) | GTM | ESG
es-HN | Spanish (Honduras) | Spanish | Español (Honduras) | HND | ESH
es-MX | Spanish (Mexico) | Spanish | Español (México) | MEX | ESM
es-NI | Spanish (Nicaragua) | Spanish | Español (Nicaragua) | NIC | ESI
es-PA | Spanish (Panama) | Spanish | Español (Panamá) | PAN | ESA
es-PY | Spanish (Paraguay) | Spanish | Español (Paraguay) | PRY | ESZ
es-PE | Spanish (Peru) | Spanish | Español (Perú) | PER | ESR
es-PR | Spanish (Puerto Rico) | Spanish | Español (Puerto Rico) | PRI | ESU
es-ES | Spanish (Spain) | Spanish | español (España) | ESP | ESN
es-UY | Spanish (Uruguay) | Spanish | Español (Uruguay) | URY | ESY
es-VE | Spanish (Venezuela) | Spanish | Español (Republica Bolivariana de Venezuela) | VEN | ESV
sv-FI | Swedish (Finland) | Swedish | svenska (Finland) | FIN | SVF
sv-SE | Swedish (Sweden) | Swedish | svenska (Sverige) | SWE | SVE
syr-SY | Syriac (Syria)‎ | Syriac | ܣܘܪܝܝܐ (سوريا)‏ | SYR | SYR
ta-IN | Tamil (India) | Tamil | தமிழ் (இந்தியா) | IND | TAM
tt-RU | Tatar (Russia) | Tatar | Татар (Россия) | RUS | TTT
te-IN | Telugu (India) | Telugu | తెలుగు (భారత దేశం) | IND | TEL
th-TH | Thai (Thailand) | Thai | ไทย (ไทย) | THA | THA
tr-TR | Turkish (Turkey) | Turkish | Türkçe (Türkiye) | TUR | TRK
uk-UA | Ukrainian (Ukraine) | Ukrainian | україньска (Україна) | UKR | UKR
ur-PK | Urdu (Islamic Republic of Pakistan)‎ | Urdu | اُردو (پاکستان)‏ | PAK | URD
uz-UZ-Cyrl | Uzbek (Cyrillic, Uzbekistan) | Uzbek (Cyrillic) | Ўзбек (Ўзбекистон) | UZB | UZB
uz-UZ-Latn | Uzbek (Latin, Uzbekistan) | Uzbek (Latin) | U'zbek (U'zbekiston Respublikasi) | UZB | UZB
vi-VN | Vietnamese (Vietnam) | Vietnamese | Tiếng Việt (Việt Nam) | VNM | VIT


Numeric Format Strings
Resources > Numeric Format Strings

Numeric format strings control formatting operations in which a numeric data type is represented as a string. Numeric format strings can for example be specified for axis scale labels in both charts and gauges. Additionally you can use a numeric format string in the FORMAT pivot engine function.

Numeric format strings fall into two categories:

  • Standard Numeric Format Strings - standard numeric format strings consist of one of a set of standard numeric format specifiers. Each standard format specifier denotes a particular, commonly used string representation of numeric data.
  • Custom Numeric Format Strings - custom format strings consist of one or more custom numeric format specifiers. Combine custom numeric format specifiers to define an application-specific pattern that determines how numeric data is formatted.
Standard Numeric Format Strings

Standard numeric format strings are used to format common numeric types. A standard numeric format string takes the form Axx, where A is an alphabetic character called the format specifier, and xx is an optional integer called the precision specifier. The precision specifier ranges from 0 to 99 and affects the number of digits in the result. Any numeric format string that contains more than one alphabetic character, including white space, is interpreted as a custom numeric format string. For more information, see Custom Numeric Format Strings.

The following table describes the standard numeric format specifiers and displays sample output produced by each format specifier.

Format specifier | Name | Description | Examples
"C" or "c" | Currency | Result: A currency value. Supported by: All numeric types. Precision specifier: Number of decimal digits. Default precision specifier: Based on current culture. | 123.456 ("C", en-US) -> $123.46 123.456 ("C", fr-FR) -> 123,46 € 123.456 ("C", ja-JP) -> ¥123 -123.456 ("C3", en-US) -> ($123.456) -123.456 ("C3", fr-FR) -> -123,456 € -123.456 ("C3", ja-JP) -> -¥123.456
"D" or "d" | Decimal | Result: Integer digits with optional negative sign. Supported by: Integral types only. Precision specifier: Minimum number of digits. Default precision specifier: Minimum number of digits required. | 1234 ("D") -> 1234 -1234 ("D6") -> -001234
"E" or "e" | Exponential (scientific) | Result: Exponential notation. Supported by: All numeric types. Precision specifier: Number of decimal digits. Default precision specifier: 6. | 1052.0329112756 ("E", en-US) -> 1.052033E+003 1052.0329112756 ("e", fr-FR) -> 1,052033e+003 -1052.0329112756 ("e2", en-US) -> -1.05e+003 -1052.0329112756 ("E2", fr_FR) -> -1,05E+003
"F" or "f" | Fixed-point | Result: Integral and decimal digits with optional negative sign. Supported by: All numeric types. Precision specifier: Number of decimal digits. Default precision specifier: Based on current culture. | 1234.567 ("F", en-US) -> 1234.57 1234.567 ("F", de-DE) -> 1234,57 1234 ("F1", en-US) -> 1234.0 1234 ("F1", de-DE) -> 1234,0 -1234.56 ("F4", en-US) -> -1234.5600 -1234.56 ("F4", de-DE) -> -1234,5000
"G" or "g" | General | Result: The most compact of either fixed-point or scientific notation. Supported by: All numeric types. Precision specifier: Number of significant digits. Default precision specifier: Depends on numeric type.. | -123.456 ("G", en-US) -> -123.456 123.456 ("G", sv-SE) -> -123,456 123.4546 ("G4", en-US) -> 123.5 123.4546 ("G4", sv-SE) -> 123,5 -1.234567890e-25 ("G", en-US) -> -1.23456789E-25 -1.234567890e-25 ("G", sv-SE) -> -1,23456789E-25
"N" or "n" | Number | Result: Integral and decimal digits, group separators, and a decimal separator with optional negative sign. Supported by: All numeric types. Precision specifier: Desired number of decimal places. Default precision specifier: Based on current culture. | 1234.567 ("N", en-US) -> 1,234.57 1234.567 ("N", ru-RU) -> 1 234,57 1234 ("N", en-US) -> 1,234.0 1234 ("N", ru-RU) -> 1 234,0 -1234.56 ("N", en-US) -> -1,234.560 -1234.56 ("N", ru-RU) -> -1 234,560
P or p | Percent | Result: Number multiplied by 100 and displayed with a percent symbol. Supported by: All numeric types. Precision specifier: Desired number of decimal places. Default precision specifier: Based on current culture. | 1 ("P", en-US) -> 100.00 % 1 ("P", fr-FR) -> 100,00 % -0.39678 ("P1", en-US) -> -39.7 % -0.39678 ("P1", fr-FR) -> -39,7 %
X or x | Hexadecimal | Result: A hexadecimal string. Supported by: Integral types only. Precision specifier: Number of digits in the result string. | 255 ("X") -> FF -1 ("x") -> ff 255 ("x4") -> 00ff -1 ("X4") -> 00FF
Any other single character | Unknown specifier | Result: error |

See Standard Numeric Format Strings on MSDN for more details.

Custom Numeric Format Strings

You can create a custom numeric format string, which consists of one or more custom numeric specifiers, to define how to format numeric data. A custom numeric format string is any format string that is not a standard numeric format string.

The following table describes the custom numeric format specifiers and displays sample output produced by each format specifier.

Format specifier | Name | Description | Examples
"0" | Zero placeholder | Replaces the zero with the corresponding digit if one is present; otherwise, zero appears in the result string. | 1234.5678 ("00000") -> 01235 0.45678 ("0.00", en-US) -> 0.46 0.45678 ("0.00", fr-FR) -> 0,46
"#" | Digit placeholder | Replaces the pound sign with the corresponding digit if one is present; otherwise, no digit appears in the result string. | 1234.5678 ("#####") -> 1235 0.45678 ("#.##", en-US) -> .46 0.45678 ("#.##", fr-FR) -> ,46
"." | Decimal point | Determines the location of the decimal separator in the result string. | 0.45678 ("0.00", en-US) -> 0.46 0.45678 ("0.00", fr-FR) -> 0,46
"," | Group separator and number scaling | Serves as both a group separator and a number scaling specifier. As a group separator, it inserts a localized group separator character between each group. As a number scaling specifier, it divides a number by 1000 for each comma specified. | Group separator specifier: 2147483647 ("##,#", en-US) -> 2,147,483,647 2147483647 ("##,#", es-ES) -> 2.147.483.647 Scaling specifier: 2147483647 ("#,#,,", en-US) -> 2,147 2147483647 ("#,#,,", es-ES) -> 2.147
"%" | Percentage placeholder | Multiplies a number by 100 and inserts a localized percentage symbol in the result string. | 0.3697 ("%#0.00", en-US) -> %36.97 0.3697 ("%#0.00", el-GR) -> %36,97 0.3697 ("##.0 %", en-US) -> 37.0 % 0.3697 ("##.0 %", el-GR) -> 37,0 %
"‰" | Per mille placeholder | Multiplies a number by 1000 and inserts a localized per mille symbol in the result string. | 0.03697 ("#0.00‰", en-US) -> 36.97‰ 0.03697 ("#0.00‰", ru-RU) -> 36,97‰
"E0" "E+0" "E-0" "e0" "e+0" "e-0" | Exponential notation | If followed by at least one 0 (zero), formats the result using exponential notation. The case of "E" or "e" indicates the case of the exponent symbol in the result string. The number of zeros following the "E" or "e" character determines the minimum number of digits in the exponent. A plus sign (+) indicates that a sign character always precedes the exponent. A minus sign (-) indicates that a sign character precedes only negative exponents. | 987654 ("#0.0e0") -> 98.8e4 1503.92311 ("0.0##e+00") -> 1.504e+03 1.8901385E-16 ("0.0e+00") -> 1.9e-16
\ | Escape character | Causes the next character to be interpreted as a literal rather than as a custom format specifier. | 987654 ("\###00\#") -> #987654#
'string' "string" | Literal string delimiter | Indicates that the enclosed characters should be copied to the result string unchanged. | 68 ("# ' degrees'") -> 68 degrees 68 ("#' degrees'") -> 68 degrees
; | Section separator | Defines sections with separate format strings for positive, negative, and zero numbers. | 12.345 ("#0.0#;(#0.0#);-\0-") -> 12.35 0 ("#0.0#;(#0.0#);-\0-") -> -0- -12.345 ("#0.0#;(#0.0#);-\0-") -> (12.35) 12.345 ("#0.0#;(#0.0#)") -> 12.35 0 ("#0.0#;(#0.0#)") -> 0.0 -12.345 ("#0.0#;(#0.0#)") -> (12.35)
Other | All other characters | The character is copied to the result string unchanged. | 68 ("# °") -> 68 °

See Custom Numeric Format Strings on MSDN


Date Time Format Strings
Resources > Date Time Format Strings

Date and time format strings control formatting operations in which a date and/or time is represented as a string. Date time format strings can for example be specified for axis scale labels in both charts and gauges. Additionally you can use a date time format string in the FORMAT pivot engine function. Date and time format strings fall into two categories:

  • Standard DateTime Format Strings - standard date and time format strings consist of one standard date and time format specifier. Each standard format specifier denotes a particular, commonly used string representation of a date and time.
  • Custom DateTime Format Strings - custom date and time format strings consist of one or more custom numeric format specifiers. Combine custom date and time format specifiers to define an application-specific pattern that determines how date and time data is formatted
Standard DateTime Format Strings

A standard date and time format string uses a single format specifier to define the text representation of a date and time value that is produced by a formatting operation. Any date and time format string that contains more than one character, including white space, is interpreted as a custom date and time format string. For more information, see Custom DateTime Format Strings.

The following table describes the standard date and time format specifiers.

Format specifier | Description | Examples
"d" | Short date pattern. | 6/15/2009 1:45:30 PM -> 6/15/2009 (en-US) 6/15/2009 1:45:30 PM -> 15/06/2009 (fr-FR) 6/15/2009 1:45:30 PM -> 2009/06/15 (ja-JP)
"D" | Long date pattern. | 6/15/2009 1:45:30 PM -> Monday, June 15, 2009 (en-US) 6/15/2009 1:45:30 PM -> 15 июня 2009 г. (ru-RU) 6/15/2009 1:45:30 PM -> Montag, 15. Juni 2009 (de-DE)
"f" | Full date/time pattern (short time). | 6/15/2009 1:45:30 PM -> Monday, June 15, 2009 1:45 PM (en-US) 6/15/2009 1:45:30 PM -> den 15 juni 2009 13:45 (sv-SE) 6/15/2009 1:45:30 PM -> Δευτέρα, 15 Ιουνίου 2009 1:45 μμ (el-GR)
"F" | Full date/time pattern (long time). | 6/15/2009 1:45:30 PM -> Monday, June 15, 2009 1:45:30 PM (en-US) 6/15/2009 1:45:30 PM -> den 15 juni 2009 13:45:30 (sv-SE) 6/15/2009 1:45:30 PM -> Δευτέρα, 15 Ιουνίου 2009 1:45:30 μμ (el-GR)
"g" | General date/time pattern (short time). | 6/15/2009 1:45:30 PM -> 6/15/2009 1:45 PM (en-US) 6/15/2009 1:45:30 PM -> 15/06/2009 13:45 (es-ES) 6/15/2009 1:45:30 PM -> 2009/6/15 13:45 (zh-CN)
"G" | General date/time pattern (long time). | 6/15/2009 1:45:30 PM -> 6/15/2009 1:45:30 PM (en-US) 6/15/2009 1:45:30 PM -> 15/06/2009 13:45:30 (es-ES) 6/15/2009 1:45:30 PM -> 2009/6/15 13:45:30 (zh-CN)
"M", "m" | Month/day pattern. | 6/15/2009 1:45:30 PM -> June 15 (en-US) 6/15/2009 1:45:30 PM -> 15. juni (da-DK) 6/15/2009 1:45:30 PM -> 15 Juni (id-ID)
"O", "o" | Round-trip date/time pattern. | 6/15/2009 1:45:30 PM -> 2009-06-15T13:45:30.0900000
"R", "r" | RFC1123 pattern. | 6/15/2009 1:45:30 PM -> Mon, 15 Jun 2009 20:45:30 GMT
"s" | Sortable date/time pattern. | 6/15/2009 1:45:30 PM -> 2009-06-15T13:45:30
"t" | Short time pattern. | 6/15/2009 1:45:30 PM -> 1:45 PM (en-US) 6/15/2009 1:45:30 PM -> 13:45 (hr-HR) 6/15/2009 1:45:30 PM -> 01:45 م (ar-EG)
"T" | Long time pattern. | 6/15/2009 1:45:30 PM -> 1:45:30 PM (en-US) 6/15/2009 1:45:30 PM -> 13:45:30 (hr-HR) 6/15/2009 1:45:30 PM -> 01:45:30 م (ar-EG)
"u" | Universal sortable date/time pattern. | 6/15/2009 1:45:30 PM -> 2009-06-15 20:45:30Z
"U" | Universal full date/time pattern. | 6/15/2009 1:45:30 PM -> Monday, June 15, 2009 8:45:30 PM (en-US) 6/15/2009 1:45:30 PM -> den 15 juni 2009 20:45:30 (sv-SE) 6/15/2009 1:45:30 PM -> Δευτέρα, 15 Ιουνίου 2009 8:45:30 μμ (el-GR)
"Y", "y" | Year month pattern. | 6/15/2009 1:45:30 PM -> June, 2009 (en-US) 6/15/2009 1:45:30 PM -> juni 2009 (da-DK) 6/15/2009 1:45:30 PM -> Juni 2009 (id-ID)
Any other single character | Unknown specifier. | error

See Standard Date and Time Format Strings on MSDN for more information.

Custom DateTime Format Strings

A date and time format string defines the text representation of a DateTime avalue that results from a formatting operation. A custom format string consists of one or more custom date and time format specifiers. Any string that is not a standard data time format string is interpreted as a custom date and time format string.

The following table describes the custom date and time format specifiers and displays a result string produced by each format specifier.

Format specifier | Description | Examples
"d" | The day of the month, from 1 through 31. | 6/1/2009 1:45:30 PM -> 1 6/15/2009 1:45:30 PM -> 15
"dd" | The day of the month, from 01 through 31. | 6/1/2009 1:45:30 PM -> 01 6/15/2009 1:45:30 PM -> 15
"ddd" | The abbreviated name of the day of the week. | 6/15/2009 1:45:30 PM -> Mon (en-US) 6/15/2009 1:45:30 PM -> Пн (ru-RU) 6/15/2009 1:45:30 PM -> lun. (fr-FR)
"dddd" | The full name of the day of the week. | 6/15/2009 1:45:30 PM -> Monday (en-US) 6/15/2009 1:45:30 PM -> понедельник (ru-RU) 6/15/2009 1:45:30 PM -> lundi (fr-FR)
"f" | The tenths of a second in a date and time value. | 6/15/2009 13:45:30.617 -> 6 6/15/2009 13:45:30.050 -> 0
"ff" | The hundredths of a second in a date and time value. | 6/15/2009 13:45:30.617 -> 61 6/15/2009 13:45:30.005 -> 00
"fff" | The milliseconds in a date and time value. | 6/15/2009 13:45:30.617 -> 617 6/15/2009 13:45:30.0005 -> 000
"ffff" | The ten thousandths of a second in a date and time value. | 6/15/2009 13:45:30.6175 -> 6175 6/15/2009 13:45:30.00005 -> 0000
"fffff" | The hundred thousandths of a second in a date and time value. | 6/15/2009 13:45:30.61754 -> 61754 6/15/2009 13:45:30.000005 -> 00000
"ffffff" | The millionths of a second in a date and time value. | 6/15/2009 13:45:30.617542 -> 617542 6/15/2009 13:45:30.0000005 -> 000000
"fffffff" | The ten millionths of a second in a date and time value. | 6/15/2009 13:45:30.6175425 -> 6175425 6/15/2009 13:45:30.0001150 -> 0001150
"F" | If non-zero, the tenths of a second in a date and time value. | 6/15/2009 13:45:30.617 -> 6 6/15/2009 13:45:30.050 -> (no output)
"FF" | If non-zero, the hundredths of a second in a date and time value. | 6/15/2009 13:45:30.617 -> 61 6/15/2009 13:45:30.005 -> (no output)
"FFF" | If non-zero, the milliseconds in a date and time value. | 6/15/2009 13:45:30.617 -> 617 6/15/2009 13:45:30.0005 -> (no output)
"FFFF" | If non-zero, the ten thousandths of a second in a date and time value. | 6/1/2009 13:45:30.5275 -> 5275 6/15/2009 13:45:30.00005 -> (no output)
"FFFFF" | If non-zero, the hundred thousandths of a second in a date and time value. | 6/15/2009 13:45:30.61754 -> 61754 6/15/2009 13:45:30.000005 -> (no output)
"FFFFFF" | If non-zero, the millionths of a second in a date and time value. | 6/15/2009 13:45:30.617542 -> 617542 6/15/2009 13:45:30.0000005 -> (no output)
"FFFFFFF" | If non-zero, the ten millionths of a second in a date and time value. | 6/15/2009 13:45:30.6175425 -> 6175425 6/15/2009 13:45:30.0001150 -> 000115
"g", "gg" | The period or era. | 6/15/2009 1:45:30 PM -> A.D.
"h" | The hour, using a 12-hour clock from 0 to 11. | 6/15/2009 1:45:30 AM -> 1 6/15/2009 1:45:30 PM -> 1
"hh" | The hour, using a 12-hour clock from 00 to 11. | 6/15/2009 1:45:30 AM -> 01 6/15/2009 1:45:30 PM -> 01
"H" | The hour, using a 24-hour clock from 0 to 23. | 6/15/2009 1:45:30 AM -> 1 6/15/2009 1:45:30 PM -> 13
"HH" | The hour, using a 24-hour clock from 00 to 23. | 6/15/2009 1:45:30 AM -> 01 6/15/2009 1:45:30 PM -> 13
"K" | Time zone information. | 6/15/2009 1:45:30 PM, Kind Unspecified -> 6/15/2009 1:45:30 PM, Kind Utc -> Z 6/15/2009 1:45:30 PM, Kind Local -> -07:00
"m" | The minute, from 0 through 59. | 6/15/2009 1:09:30 AM -> 9 6/15/2009 1:09:30 PM -> 9
"mm" | The minute, from 00 through 59. | 6/15/2009 1:09:30 AM -> 09 6/15/2009 1:09:30 PM -> 09
"M" | The month, from 1 through 12. | 6/15/2009 1:45:30 PM -> 6
"MM" | The month, from 01 through 12. | 6/15/2009 1:45:30 PM -> 06
"MMM" | The abbreviated name of the month. | 6/15/2009 1:45:30 PM -> Jun (en-US) 6/15/2009 1:45:30 PM -> juin (fr-FR) 6/15/2009 1:45:30 PM -> Jun (zu-ZA)
"MMMM" | The full name of the month. | 6/15/2009 1:45:30 PM -> June (en-US) 6/15/2009 1:45:30 PM -> juni (da-DK) 6/15/2009 1:45:30 PM -> uJuni (zu-ZA)
"s" | The second, from 0 through 59. | 6/15/2009 1:45:09 PM -> 9
"ss" | The second, from 00 through 59. | 6/15/2009 1:45:09 PM -> 09
"t" | The first character of the AM/PM designator. | 6/15/2009 1:45:30 PM -> P (en-US) 6/15/2009 1:45:30 PM -> 午 (ja-JP) 6/15/2009 1:45:30 PM -> (fr-FR)
"tt" | The AM/PM designator. | 6/15/2009 1:45:30 PM -> PM (en-US) 6/15/2009 1:45:30 PM -> 午後 (ja-JP) 6/15/2009 1:45:30 PM -> (fr-FR)
"y" | The year, from 0 to 99. | 1/1/0001 12:00:00 AM -> 1 1/1/0900 12:00:00 AM -> 0 1/1/1900 12:00:00 AM -> 0 6/15/2009 1:45:30 PM -> 9
"yy" | The year, from 00 to 99. | 1/1/0001 12:00:00 AM -> 01 1/1/0900 12:00:00 AM -> 00 1/1/1900 12:00:00 AM -> 00 6/15/2009 1:45:30 PM -> 09
"yyy" | The year, with a minimum of three digits. | 1/1/0001 12:00:00 AM -> 001 1/1/0900 12:00:00 AM -> 900 1/1/1900 12:00:00 AM -> 1900 6/15/2009 1:45:30 PM -> 2009
"yyyy" | The year as a four-digit number. | 1/1/0001 12:00:00 AM -> 0001 1/1/0900 12:00:00 AM -> 0900 1/1/1900 12:00:00 AM -> 1900 6/15/2009 1:45:30 PM -> 2009
"yyyyy" | The year as a five-digit number. | 1/1/0001 12:00:00 AM -> 00001 6/15/2009 1:45:30 PM -> 02009
"z" | Hours offset from UTC, with no leading zeros. | 6/15/2009 1:45:30 PM -07:00 -> -7
"zz" | Hours offset from UTC, with a leading zero for a single-digit value. | 6/15/2009 1:45:30 PM -07:00 -> -07
"zzz" | Hours and minutes offset from UTC. | 6/15/2009 1:45:30 PM -07:00 -> -07:00
":" | The time separator. | 6/15/2009 1:45:30 PM -> : (en-US) 6/15/2009 1:45:30 PM -> . (it-IT) 6/15/2009 1:45:30 PM -> : (ja-JP)
"/" | The date separator. | 6/15/2009 1:45:30 PM -> / (en-US) 6/15/2009 1:45:30 PM -> - (ar-DZ) 6/15/2009 1:45:30 PM -> . (tr-TR)
"string" 'string' | Literal string delimiter. | 6/15/2009 1:45:30 PM ("arr:" h:m t) -> arr: 1:45 P 6/15/2009 1:45:30 PM ('arr:' h:m t) -> arr: 1:45 P
% | Defines the following character as a custom format specifier. | 6/15/2009 1:45:30 PM (%h) -> 1
\ | The escape character. | 6/15/2009 1:45:30 PM (h \h) -> 1 h
Any other character | The character is copied to the result string unchanged. | 6/15/2009 1:45:30 AM (arr hh:mm t) -> arr 01:45 A

See Custom Date and Time Format Strings on MSDN for more information.


Empty Index Entry

Empty Index Entry

The index entry you selected has no target topics associated with it.

If you have chosen a parent entry, please select a child entry.


Topic Not Found

Topic Not Found

The link you just clicked was not able to connect to the target page.

Some possible reasons and remedies are as follows:

Reason | Remedy
Destination topic is not part of the area you specified in the Filtered by field. | Either select another filter or select (no filter).
The URL of the destination topic is incorrect or has changed. | Use the index or the search function instead.
Problems with the help installation. | Rerun Setup for the product this help is related to and select the 'Repair' option.

Additional help is available for filters, search, and the index.

Click Back to return to the page you were on.

The target parameters are:

Keyword:
Index Moniker:
URL:


Gauge Panels


a
about
after
against
all
along
also
although
am
among
an
and
are
as
at
be
became
because
been
being
between
but
by
can
caution
come
could
details
did
do
does
doing
done
during
each
early
far
finally
for
found
from
had
has
have
he
her
here
his
how
however
I
if
in
include
including
information
into
is
it
its
late
later
made
many
may
me
med
might
more
most
near
no
non
none
nor
not
note
of
off
on
only
or
other
over
saw
see
seen
several
she
since
so
some
such
than
that
the
their
them
then
there
these
they
this
those
through
tip
to
too
under
until
up
us
use
very
warning
was
we
were
when
where
which
while
who
with
you