本文摘自weibo.com/song1w,收录了2010年里博主认为还算有意义的自写微博。
Song1w微博的原点:
测试。
2010-1-22 13:46来自新浪微博
枪战片可以考虑模仿《使命召唤:现代战争》,多加入第一人称视角射击镜头。
2010-8-2 15:49来自Android客户端
2010年最后一微博,也是第一次被转发:
原创主题《金光碧色》 http://t.cn/hGAKRx
转发(1)
2010-12-30 02:59来自关联博客
本文摘自weibo.com/song1w,收录了2010年里博主认为还算有意义的自写微博。
Song1w微博的原点:
测试。
2010-1-22 13:46来自新浪微博
枪战片可以考虑模仿《使命召唤:现代战争》,多加入第一人称视角射击镜头。
2010-8-2 15:49来自Android客户端
2010年最后一微博,也是第一次被转发:
原创主题《金光碧色》 http://t.cn/hGAKRx
转发(1)
2010-12-30 02:59来自关联博客
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.ME | Part 2 on developerWorks
Link to the third part of this article:
Part 3 on Evis.ME | Part 3 on developerWorks
Link to the fourth part of this article:
Part 4 on Evis.ME | Part 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.
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.
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)
In BI Studio, open the data source view. Find the fact table F_DMProductivity in the view, right-click and click New Named Calculation.
Specify Column name with CompletedCount_In72hrs, and Expression with the following SQL:
WHEN ((TotalWaitTimeMinutes + TotalProcTimeMinutes)/60 < 72) AND Completed = 1 THEN
1
ELSE
0
END
After clicked OK, a new Named Calculation is created.
Right-click F_DMProductivity table and select Explore Data, check the new logical column:
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.
Specify Usage with Sum, Source column with CompletedCount_In72hrs. Click OK.
When saving the change, BI Studio prompts to reprocess, choose Yes.
Then preview in Browser tab. As comparison, both Completed Count In72hrs and the original Completed Work Item Count measures are added.
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:
IIF( [Measures].[Completed Work Item Count]>0, [Measures].[Completed Count
In72hrs]/[Measures].[Completed Work Item Count], NULL)
Save and preview. You may see linjun’s productivity is relatively poor and lilei is playing excellently.
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.
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.
Microsoft SQL Server Analysis Services
Download PDF: FileNet Case Analyzer cubes deep customization.part5.pdf
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.ME | Part 2 on developerWorks
Link to the third part of this article:
Part 3 on Evis.ME | Part 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.
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:
([Measure].[Incoming],PARALLELPERIOD([Time].[Time].[Year]))
The Browser result is as follows.
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.
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:
([Measures].[Incoming], STRTOMEMBER(‘[Time].[Time].[Month].&[‘ +
[Time].[Time].CURRENTMEMBER.Properties(“KEY0”) + ‘]&[‘ +
ANCESTOR([Time].[Time].CURRENTMEMBER,
[Time].[Time].[Year]).PREVMEMBER.Properties(“KEY0”) + ‘]’))
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.
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:
IIF([Measures].[Same Month Last Year Incoming] > 0, ([Measures].[Incoming] –
[Measures].[Same Month Last Year Incoming]) / [Measures].[Same Month Last Year
Incoming], 0)
Preview in Browser tab:
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.
Download PDF: FileNet Case Analyzer cubes deep customization.part4.pdf
Next part in series: IBM FileNet Case Analyzer Cubes’ Deep Customizations, Part 5: Extending Case Analyzer Measures using Named Calculation