Blog: Posts from March, 2015

Labels
AJAX(112) App Studio(7) Apple(1) Application Builder(245) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcode(2) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(12) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(177) Device(1) DotNetNuke(12) EASE(20) Email(6) Features(101) Firebird(1) Form Builder(14) Globalization and Localization(6) How To(1) Hypermedia(2) Inline Editing(1) Installation(5) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(18) OAuth(9) OAuth Scopes(1) OAuth2(13) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(11) PKCE(2) Postgre SQL(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(183) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(81) SharePoint(12) SPA(6) SQL Anywhere(3) SQL Server(26) SSO(1) Stored Procedure(4) Teamwork(15) Tips and Tricks(87) Tools for Excel(2) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(338) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(40) Web.Config(9) Workflow(28)
Archive
Blog
Posts from March, 2015
Tuesday, March 10, 2015PrintSubscribe
Specifying Titles and Axis Labels on Charts

Every chart that has been automatically or manually defined will display a title. This title will be composed using the row, column, and value fields and their properties that have been specified for the chart. For example, suppose we create a curved line chart on Orders page of the Northwind sample app that uses OrderDate for rows, EmployeeID for columns, and the sum of Freight for values.

Data Field Tag
EmployeeID pivot1-col1-top3
OrderDate pivot1-row1-line-curve-date
Freight pivot1-val1-sum

A line chart showing sum of freight by employee over Order Date that shows the default title.

The data for the chart can be seen below.

The data for a line chart showing sum of freight by employee over Order Date that shows the default title.

The title states that the chart shows top three “Employee Last Name”. The value is the sum of “Freight” and the rows are grouped by “Order Date”. While the title may reveal all the necessary information, the title can be better. Let’s manually specify the title by adding the following tag. Note that the tags do not need to be on any particular data field, as long as the correct pivot ID is specified. Open the Project Designer. In the Project Explorer, switch to the Controllers tab and double-click on Orders / Views / grid1 / EmployeeID data field node.

The EmployeeID data field of the Orders controller in the Project Explorer of Code On Time app generator.

Add the highlighted tag:

Data Field Tag
EmployeeID pivot1-col1-top3 pivot1-title:"Sum of Freight By Employee"
OrderDate pivot1-row1-line-curve-date
Freight pivot1-val1-sum

Save the data field and regenerate the app. When the page comes up in your browser, navigate to the Orders page. Note that the new title has been applied.

The line chart now displays the new, custom defined title.

The new title will also be displayed above the chart data.

The data for the chart shows the new, custom defined title.

By default, the axes do not have a title applied. One can use the “haxistitle” or “vaxistitle” properties to manually specify a title for the horizontal or vertical axis, respectively. Let’s specify the following axis titles:

Data Field Tag
EmployeeID pivot1-col1-top3 pivot1-title:"Sum of Freight By Employee"
OrderDate pivot1-row1-line-curve-date pivot1-haxistitle:"Order Date"
Freight pivot1-val1-sum pivot1-vaxistitle:"Freight"

The new chart will display the specified labels on each axis.

The chart also displays custom axis labels.

The chart data will not be changed.

Sunday, March 8, 2015PrintSubscribe
Grouping Date Values in Charts

When using a date as a row in a chart, it is necessary to form groups for each date value. Otherwise, a row will be created for each date. This excess of rows will render the chart useless:

Data Field Tag
OrderDate pivot1-row1-line

A line chart with too many date values as rows.

The data behind the chart looks like the following:

The data for a chart with too many date rows.

Instead of listing each date as a unique value, the dates should be placed into buckets in order to provide a clearer view of the data. For example, let’s group the dates by quarter. Add the “quarter” keyword to calculate the quarter of each date.

Data Field Tag
OrderDate pivot1-row1-line-quarter

The chart is now easier to read.

A line chart showing count of orders by quarter.

The data for the chart looks as follows:

Line chart showing orders by quarter.

However, notice that we have lost information about the year. To solve this problem, we need to group the dates by year first, and then by quarter.

Data Field Tag
OrderDate pivot1-row1-line-year pivot1-row2-quarter

The chart now displays quarters per year.

Line chart showing orders over quarters by year.

The data is shown here:

Data for chart showing orders grouped by year and quarter.

However, what happens when the data is filtered to produce a different subset of data? The chart may become useless again.

The filter has caused the chart to display only a single point.

The single row is displayed below.

Only a single row is displayed in the data.

In order to solve this problem, an automatic grouping function can be used. By specifying a group of “date”, the server will make several attempts with various groups. The chart with a number of rows closest to 25 will be selected and displayed to the user.

Data Field Tag
OrderDate pivot1-row1-line-date

The function has decided to use year/month/week as the most optimal solution for the currently applied filter.

The auto date grouping decided to use year/month/week.

The data can be seen below.

The data for the chart.

When the filter is cleared and all data from the Orders table is displayed, the group mode will try to maintain the number of rows. The function has elected on using year/month.

All data is visible in the chart.

The new data can be seen here:

All data is visible in the table.

A full list of available groups is displayed below.

Keyword Description Example Value
date An automatic function that will attempt several combinations of groups and select the result that has a number of rows closest to 25.  
timeofday Takes the hours, minutes, and second of the date. 12:30:45
minute Takes the minute from the date. 30
halfhour All dates with minutes less than 30 will be grouped into the hour group. All dates above 30 will be grouped into the half-hour group. 1:30
hour The hour will be used as the value. 1:00
day Uses the day of the month. 31
dayofweek Uses the day of the week. The value will be formatted according to the current culture. Saturday
dayofyear The day of the year. 156
weekofmonth The week of the month. The value is derived from the first letter of the word “Week” in the current culture’s language, plus the number. W3
week The week of the year. W16
month The month of the year. The values will be formatted according to the current culture. January
quarter The quarter in the year. The value is derived from the first letter of the word “Quarter” in the current culture’s language, plus the number. Q1
year The year. 2015
Sunday, March 8, 2015PrintSubscribe
Map Chart Type

The “map” chart type displays a map using the Google Maps API. It accepts values in the form of addresses and renders them as pins on the map. This chart type can be useful for displaying values associated with regions or locations. However, it may be more beneficial to use Maps presentation style to allow for data interaction or Geo Chart Type instead.

The map below shows the location of customers by country.

Data Field Tag
Country pivot1-row1-map

A simple map chart that shows the location of customers by country.

The data for the map is displayed below.

The data for the count of customers by Country.

Clicking on a data point will reveal the value.

Clicking on a data point in the map will reveal the value.

The type of map can be specified with the “maptype” property. The default value is “hybrid”. The other options are “normal”, “terrain”, or “satellite”. The example below shows the “terrain” map type.

Data Field Tag
Country pivot1-row1-map pivot1-maptype:"terrain"

A map chart using map type of 'terrain'.

The switcher for map type is disabled by default. The switcher can be enabled by adding the “usemaptypecontrol” keyword. It will appear in the top-right corner.

Data Field Tag
Country pivot1-row1-map pivot1-usemaptypecontrol

The map type switcher has been enabled in the top-right corner.

By default, the user cannot use the scroll wheel to zoom. This functionality can be enabled by adding the “enablescrollwheel” keyword.

Data Field Tag
Country pivot1-row1-map pivot1-enablescrollwheel
Continue to Line Chart Type