分类
English 原创作品 技术 视觉主题

泡面管家Android 2.0版发布 – Instant Noodles Master for Android 2.0 Released

界面清新、操作便捷,专为泡面优化的一键计时器
One-Tap-Timer for Instant Noodles, refreshing design, convenient to use.

此版本中的新功能:
Recent changes:

全新《泡面管家》,将成为你最称心的泡面计时器。
Brand new NoodlesMaster, now is your best timer app for cooking instant noodles.

  • 预定义多组泡面时间,更提供了便于操作的小部件(Widget),以及到时提醒功能。
    Predefined durations, convenient widgets, on-time notifications.
  • 全新扁平化设计(flat design),风格贴近安卓4.0+的Halo主题。
    New flat design based on Android 4.0+ Halo theme.
  • 仍然支持Android 1.6+的老设备。
    Still supporting Android 1.6+.
  • 移除了旧版本中会干扰用户使用的无关功能。
    Removed confusing features.

 

《泡面管家》(NoodlesMaster)是一款面向泡面(方便面、速食面、即食面)爱好者的小工具。
Instant Noodles Master (i.e. NoodlesMaster) is a small tool for instant noodles funs.

主要功能:
Features:

  • 泡面计时
    Timer for instant noodles

新版中强化了泡面计时器的功能,力求成为最便捷的泡面计时器。
The new version of NoodlesMaster focuses on the timer feature for instant noodles, aims to be your best mate when cooking instant noodles.

用户可以点击主界面底部任一按钮开始计时,《泡面管家》会在到达指定时限时提示用户。上部圆形计时表盘在计时过程中,点击正中间的按钮会停止计时。用户也可以向手机主屏添加快捷启动计时的小部件。
A user may tap any button at the bottom of the main interface to kick off the timer, NoodlesMaster will notify user when timer completes. During timer runs, user may tap the stop button in the center of the top ring to cancel the timer. User may also add shortcut widgets onto home screen, which can start the timer by only one tap.

官方网站Official Website:http://n.evis.me

官方微博Official Weibo:http://weibo.com/noodlesmaster

欢迎您提出宝贵意见,bug或新功能建议请在官方网站/微博留言。
Any bugs or new feature requests, please feel free to reach me at above official website, or submit to: http://code.google.com/p/noodlesmaster/issues/list

关键词:泡面, 方便面, 速食面, 即食面, 杯面, 计时, 定时, 秒表, 倒计时
Keywords: instant noodles, fast noodles, cup noodles, 3 minutes noodles, instant ramen, timer, timing, timekeeping.

App开发路线图,即将来版本中可能加入的功能,欢迎投票:
Road map, please vote for your most interested:

  • 泡面产品大全/新品推介
    Instant noodles product list / new product promotion
  • 泡面条码识别
    Instant noodles barcode recognition
  • 泡面向导
    Wizard of cooking instant noodles
  • 泡面评分/评论
    Rating / commenting
  • 泡面统计/健康饮食提醒
    Statistics / healthy diet prompt
  • 个人泡面活动与社交网络如微博/微信/人人整合
    Integration with SNS

从谷歌Play市场安装:
Install from Google Play:

Get it on Google Play

或本地下载:
Or download the APK:

[wpdm_file id=1]

前一版本介绍:
Previous version:

Android手机应用程序《泡面管家》测试版发布 – Instant Noodles Master app for Android beta released

分类
English 原创作品 技术

IBM FileNet Case Analyzer Cubes’ Deep Customizations, Part 5: Extending Case Analyzer Measures using Named Calculation

IBM FileNet Case Analyzer Cubes’ Deep Customizations, Part 5

Extending Case Analyzer Measures using Named Calculation

6/21/2012

IBM

Xue Bo Zhang and Yiwei Song

Abstract: This is the last part of the 5-article series. Other than parent-child relationship and calculated member mentioned in previous parts, this part introduces another important feature of OLAP, named calculation. The article explains how to create a 72-hour completion field by named calculation, and then create new measure based on this field. Finally the article gives a conclusion to the whole series.

About the authors:

Xue Bo Zhang is a software engineer in IBM China Software Development Lab (CSDL). He works on IBM Case Management development team. He has rich experience in Dojo and web 2.0. Reach out to him atzxuebo@cn.ibm.com

Yiwei Song, a member of CDL ECM CoE (Center of Excellence) in China, certified FileNet (4.0) developer. Has 5years FileNet engagement experience, especially familiar with FileNet BPM. Acted as product expert and served several customer cases across insurance, banking and E&U industries. You may reach him at http://linkedin.com/in/yiweisong

Link to the first part of the article:

Part 1 on Evis.ME | Part 1 on developerWorks

Link to the second part of this article:

Part 2 on Evis.MEPart 2 on developerWorks

Link to the third part of this article:

Part 3 on Evis.MEPart 3 on developerWorks

Link to the fourth part of this article:

Part 4 on Evis.MEPart 4 on developerWorks

This part produces the report: monthly 72-hour/7-day/30-day/3-month completion rate of each employee. Conclusion of the series is included at the end of the part.

 

Requirement analysis

A completion rate is an important statistic showing employee’s productivity. The 72-hour completion means, starting when a task is assigned to an employee, if the task is done within 72 hours, it’s counted one. So the 72-hour completion rate is calculated by: 72-hourCompletedAmount / AllCompletedAmount. The 7-day/30-day/3-month completion rates are similar.

Sure, there are no such measures in CA cubes. You may be thinking of Calculated Member. Unfortunately, none of measures in the CA cube Work Item Processing Time, like Time Usage Minutes, Completed Work Item Count, and Total Wait Time Minutes, can be really used for such calculated members. The reason is, all those measures are final statistics that hide related details. In order to get 72-hour completion amount, we need more “raw” data.

Fact tables contain enough raw data. Below sections will leverage fact tables and create Name Calculations.

 

Named Calculation in OLAP

A Named Calculation is a SQL expression represented as a calculated column. This expression appears and behaves as a column in the table. A named calculation extends the relational schema of existing tables or views in a data source view without modifying the tables or views in the underlying data source. Named calculations are calculated during processing whereas calculated members are calculated at query time. (http://msdn.microsoft.com/en-us/library/ms174859(v=sql.90).aspx)

 

Creating Named Calculation 72-hour completion

In BI Studio, open the data source view. Find the fact table F_DMProductivity in the view, right-click and click New Named Calculation.

Figure 1. Create new named calculation in F_DMProductivity table

image

Specify Column name with CompletedCount_In72hrs, and Expression with the following SQL:

Listing 1. SQL for named calculation CompletedCount_In72hrs

CASE

WHEN ((TotalWaitTimeMinutes + TotalProcTimeMinutes)/60 < 72) AND Completed = 1 THEN

1

ELSE

0

END

Figure 2. Specify fields for new named calculation

image

After clicked OK, a new Named Calculation is created.

Figure 3. Check the newly created named calculation

image

Right-click F_DMProductivity table and select Explore Data, check the new logical column:

Figure 4. Explore new column data of F_DMProductivity table

image

 

Creating new Measure and Calculated Member based on the Name Calculation in the cube

This section will leverage the newly created Calculated Member CompletedCount_In72hrs in the cubes.

Open the CA cube Work Item Processing Time again in BI Studio. Create New Measure by choosing from context menu.

Figure 5. Create new measure

image

Specify Usage with Sum, Source column with CompletedCount_In72hrs. Click OK.

Figure 6. Choose usage and source column for the new measure

image

When saving the change, BI Studio prompts to reprocess, choose Yes.

Figure 7. Save and process the cube

image

Then preview in Browser tab. As comparison, both Completed Count In72hrs and the original Completed Work Item Count measures are added.

Figure 8. Preview the cube with new measure Completed Count In72hrs

image

Now create a new Calculated Member based on this measure in the same cube. Name is [72-hour Completion Rate], Format string is “Percent”, and Expression is:

Listing 2. MDX for calculated member 72-hour Completion Rate

IIF( [Measures].[Completed Work Item Count]>0, [Measures].[Completed Count

In72hrs]/[Measures].[Completed Work Item Count], NULL)

Figure 9. Create new calculated member

image

Save and preview. You may see linjun’s productivity is relatively poor and lilei is playing excellently.

Figure 10. Preview the cube with calculated member 72-hour Completion Rate

image

The 7-day/30-day/3-month completion rates are similar. We won’t repeat here.

Note: This completion rate solution doesn’t consider the weekends or public holidays, some employees may raise their concerns saying “my 72-hour completion rate is low because many of my tasks come on Friday, I finish them in the next Monday already”. This is out of the scope of the article.

 

Conclusion

In this article series, we leverage OLAP features drill-up/drill-down, calculated member, and name calculation to customize Case Analyzer’s cubes, so that more reports with more business value can be achievable.

Again, it’s not necessary to worry about customer may do extra operations when creating monthly report, since above customizations won’t break CA’s mechanism. Data of newly created members/measures will change automatically except for the LDAP information import (in part 2).

CA cubes can be either presented by Excel Pivot Table, Cognos BI, or any other OLAP clients. If you buy Cognos BI because of this article please give me some credit (just kidding).

CA’s underlying OLAP technology is open. This article only unleashes a little piece of it. Readers are encouraged to extend and explore more possibilities. Any comments and new ideas are welcome.

 

Resources

IBM FileNet infoCenter

FileNet Case Analyzer

LDAP

OLAP

Microsoft SQL Server Analysis Services

 


Appendix

Source: https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=e8206aad-10e2-4c49-b00c-fee572815374#fullpageWidgetId=Wf2c4e43b120c_4ac7_80ae_2695b8e6d46d&file=e610b662-31f5-4a8a-8953-84d74e0e10b8

File-pdf

分类
English 原创作品 技术

IBM FileNet Case Analyzer Cubes’ Deep Customizations, Part 4: Same month last year amount, monthly growth rate on a year-over-year basis

IBM FileNet Case Analyzer Cubes’ Deep Customizations

Part 4: Same month last year amount, monthly growth rate on a year-over-year basis

A Workaround for CA Time Dimension Restrictions

5/16/2012

IBM

Jie Zhang & Yiwei Song

Abstract: This is part 4 of series, focuses on the report same month last year amount and monthly growth rate on a year-over-year basis. This part analyzes XYZ Insurance’s requirement, outlines a restriction in CA Time dimension, and gives a workaround to overcome this restriction.

Zhang Jie works as a software engineer in IBM CDL. He has many years’ experiences of Java/J2EE development, test and test automation. Reach out to him atzhjie@cn.ibm.com

Yiwei Song, a member of CDL ECM CoE (Center of Excellence) in China, certified FileNet (4.0) developer. Has 5 years FileNet engagement experience, especially familiar with FileNet BPM. Acted as product expert and served several customer cases across insurance, banking and E&U industries. You may reach him athttp://linkedin.com/in/yiweisong

 


Link to the first part of the article:

Part 1 on Evis.ME | Part 1 on developerWorks

Link to the second part of this article:

Part 2 on Evis.MEPart 2 on developerWorks

Link to the third part of this article:

Part 3 on Evis.MEPart 3 on developerWorks

This part continues the topic of last one, focuses on same month last year amount and monthly growth on a year-over-year basis.

 

Requirement analysis

The same month last year amount and monthly growth on a year-over-year basis statistic is a typical report requirement and is important to company management. For example, there are 358 IssuePolicy businesses happened in Jan 2013 and 88 in Jan 2012, the growth on a year-over-year basis is (358 – 88) / 88 = 306.8%, which shows quite a promising rate.

Actually, in MDX or SSAS, there are many Time dimension optimized operations or functions. PARALLELPERIOD is a MDX function that can retrieve a member from a prior period in the same relative position as a specified member.

So the first trial is quite straightforward. Create a new Calculated Member Same Month Last Year Incoming with the MDX below:

Listing 1. Expected MDX locating Same Month Last Year

([Measure].[Incoming],PARALLELPERIOD([Time].[Time].[Year]))

The Browser result is as follows.

Figure 1. Unexpected data found in Jan 2012 and Dec 2012

image

Comparing Jan 2013 and Jan 2012, the Same Month Last Year Incoming works well. But for Dec 2012 and Dec 2011, the values are missing, at least a “3-IssuePolicy” value. Actually, the test data doesn’t contains any of Jan 2011, so the “3-IssuePolicy” value in Jan 2012 is not right, seems it takes the value from Dec 2011 instead. Similarly, corresponding value in Dec 2012 is empty, which is incorrect.

This problem is also caused by CA’s bypassing non-activity months. Just as mentioned in last chapter, the members of Time dimension in CA cubes may not be consecutive. The PARALLELPERIOD function tries to locate the month with the same index in last year, however such index may not equal to the month number in CA’s case.

A workaround is needed.

 

Creating Calculated Member Same month last year amount in CA cubes

A Time dimension member at Month level can be presented as “[Time].[Time].[Month].&[2]&[2012]”, while the “&[2]&[2012]” suffix corresponds to composite key of the Month level. The idea is to get both current month key and last year key from current member, and then use those keys to find same month last year member.

Create new Calculated Member in the same cube. The Name is [Same Month Last Year Incoming], the Format string is “#”, and the Expression is:

Listing 2. New MDX expression for Same Month Last Year Incoming

([Measures].[Incoming], STRTOMEMBER(‘[Time].[Time].[Month].&[‘ +

[Time].[Time].CURRENTMEMBER.Properties(“KEY0”) + ‘]&[‘ +

ANCESTOR([Time].[Time].CURRENTMEMBER,

[Time].[Time].[Year]).PREVMEMBER.Properties(“KEY0”) + ‘]’))

Figure 2. Create new calculated member Same Month Last Year Incoming

image

The ANCESTOR function goes up and gets the Year-level member containing current Month member.

Preview in Browser tab. The problem of last section is resolved.

Figure 3. Preview the cube with new calculated member Same Month Last Year Incoming

image

 

Creating Calculated Member Monthly growth rate on year-over-year basis in CA cubes

There won’t be any difficulties creating this Calculated Member.

The Name is Monthly Growth Rate on Year-over-Year Basis, the Format string is “Percent”, and the Expression is:

Listing 3. MDX expression for Monthly Growth Rate on Year-over-Year Basis

IIF([Measures].[Same Month Last Year Incoming] > 0, ([Measures].[Incoming] –

[Measures].[Same Month Last Year Incoming]) / [Measures].[Same Month Last Year

Incoming], 0)

Figure 4. Create new calculated member Monthly Growth Rate on Year-over-Year Basis

image

Preview in Browser tab:

Figure 5. Preview the cube with calculated member Monthly Growth Rate on Year-over-Year Basis

image

 

Summary

Most products have restrictions, though those restrictions are reasonable for most cases in a product perspective. However customers won’t always accept those restrictions. A workaround is a way of maximizing products’ potential.

This part gives two possible options of implementing the report same month last year amount and monthly growth on a year-over-year basis. Both solutions leverage OLAP calculated member. The former solution is not applicable due to the CA Time dimension’s restrictions, while the later one can be considered as a good workaround.

Next part will be based on another different OLAP feature.

 


Appendix

Source: https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=e8206aad-10e2-4c49-b00c-fee572815374#fullpageWidgetId=Wf2c4e43b120c_4ac7_80ae_2695b8e6d46d&file=70af4375-b812-4972-9e13-2636f58a080d

File-pdf

Next part in series: IBM FileNet Case Analyzer Cubes’ Deep Customizations, Part 5: Extending Case Analyzer Measures using Named Calculation