جلسه چهاردهم – 12/09/93 KPI

جلسه چهاردهم – 12/09/93

تابع ParallelPeriod

نکته: درصورت افزایش تعداد رکوردهای جدول DimDate می توان تاریخ و ساعت را از یکدیگر جدا کرده و برای هریک بعد مجزا اختصاص داد.

نکته: برای محاسبه میزان مصرف متغییر مورد نظر کافی است تا یک calculated measure به ترتیب زیر تعریف نمود. به این ترتیب مثلا میزان مصرف در هر ساعت قابل استخراج خواهد بود:

CurrentMemeber – PrevMemeber

KPI (Key Performance Indicator) / شاخص کلیدی کارایی / عملکرد

شاخص برای ارزیابی کسب و کار از یک دیدگاه یا منظر خاص است.

ویژگی شاخص:

  • Value: مقدار مورد ارزیابی

  • Goal: مقدار هدف

  • Status : وضعیت که حاصل مقایسه Value و Goal است.

  • Trend: روند تغییرات  Value یا روند تغییرات Status است.

مثال روش پیاده سازی: بررسی روند سود

Name: نام شاخص است

Associated measure group: منظور FACT والد است.

Value expression: گزاره MDX تولید کننده value است.

مثال: درصورت آنکه بخواهیم درصد سود را حساب کنیم می توانیم ابتدا یک فیلد محاسباتی برای آن تعریف کنیم و سپس متغییر مورد نظر را مستقیما در value expression استفاده نماییم. همچنین می توان محاسبه را مستقیما در value expression قرار داد.

[ProfitPercent] = ([Sales amount] – [Total cost]) / [Sales Amount]

Value expression = [measures].[ProfitPercent]

Goal expression: 1

Status:

  • Indicator : آیکون گرافیکی نمایش وضعیت است

  • Expression: گزارش MDX محاسبه کننده وضعیت است

     

    چند تابع مرتبط:

    KPIValue("kpi name"): مقدار value شاخص مورد نظر را بر می گرداند.

    KPIGoal("kpi name"): مقدار goal شاخص مورد نظر را بر می گرداند.

    KPIStatus("kpi name"): مقدار status شاخص مورد نظر را بر می گرداند.

    KPITrend("kpi name"): مقدار trend شاخص مورد نظر را بر می گرداند.

     

    Status expression:

     

    Case

                When isempty(KPIValue("ProfitKPI")) Then null

                When KPIValue("ProfitKPI") <= 0.3 * KPIGoal("ProfitKPI")  Then -1

                Else 1

    End

     

    Trend Indicator و Trend Expression: همانند Status است. در Trend Indiactorباید حتما عامل زمان باشد.

     

    (بخش زیر خطایی دارد که بعدا برطرف می شود)

    Case

                When (KPIValue("ProfitKPI"), [Order date].[Calendar].CurrentMemeber) or

                            (KPIValue("ProfitKPI"), [Order date].[Calendar].CurrentMemeber.PrevMember) Then Null

    When (KPIValue("ProfitKPI"), [Order date].[Calendar].CurrentMemeber) >= (KPIValue("ProfitKPI"), [Order date].[Calendar].CurrentMemeber.PrevMember) Then 1

    Else -1

End

سئوال: هر فروشنده چقدر اهداف را محقق کرده است؟

Value expression: [sales amount]

Goal expression: [sales amount quota]

Status expression:

Case

When isempty(KPIValue("***")) or isempty(KPIGoal("***")) Then null

When KPIValue("***") <= 0.5 * KPIGoal("***") Then -1

When KPIValue("***") <= 0.7 * KPIGoal("***") Then 0

Else +1

End

Trend expression:

Case

When (KPIValue("***"), [dim date].[calendar].CurrentMemeber) >=

            (KPIValue("***"), Parallelperiod([Dim date].[Calendar].[Calendar Year], 1, [Dim date].[Calendar].CurrentMemeber)) Then 1

 

درصورتیکه بخواهیم تا وضعیت فوق را به شکل منعطف و با استفاده از جداول اطلاعاتی آماده نماییم به ترتیب زیر عمل می کنیم. (منظور کردن اهداف جداگانه برای هر گروه کارمند)

کد کارمند

نام

گروه

حدپایین

حد بالا HighLimit

1

A

کارمندان پرفروش

0.3

0.7

 

[Dim Employee].[High Limit].CurrentMemeber.Properties("member name")

راستش این بخش خیلی برایم روشن نیست !

یک جدول FACT از یک طرف مرتبط با Dim Employee و از طرف دیگر با Dim Date و با ساختار زیر تولید می کنیم.

کد کارمند

تاریخ

حدپایین

حد بالا HighLimit

 

 

 

 

و با استفاده از عبارت زیر به مقادیر این جدول دسترسی پیدا می کنیم:

[measure].[highlimit]

Perspective – نما: می توان برروی یک مکعب جامع و بزرگ نماهای مختلفی ایجاد کرد که هر نما در برگیرنده بخشی از ساختارهای موجود در مکعب باشد.

کاربرد: خلاصه سازی فضای ساخت گزارش ها است. مثلا نماهای جداگانه برای واحد مالی، واحد بازاریابی، کارمندان فروش

توجه: برخی از فیلدهای محاسباتی ممکن است فقط با بعد خاصی کار کنند.

Select …. On 0,

….. on 1

From [Cube name / Perspective name]

توجه: Perspective name نیز می تواند default measure داشته باشد.

 

Translation: کاربرد آن در چندزبانه کردن یک پروژه BI است.

Product (1)

Order Qty (2)

Sales Amount  (2)

Bikes  (3)

 

 

Clothing  (3)

 

 

  • چند زبانه کردن مکعب

    • ترجمه عناوین (بخش 2 از جدول فوق)

  • چند زبانه کردن بعد

    • ترجمه عناوین (بخش 1 از جدول فوق)

    • ترجمه اعضاء (بخش 3 از جدول فوق) : برای انجام این کار در اختیار داشتن ستون های اطلاعات در جدول بعد برای زبان مورد نظر لازم است.

Translation در EXCEL : تعیین زبان نمایش جزو خصوصیات ConnectionString است و باید در لحظه اتصال به مکعب زبان مورد نظر انتخاب شود. به این منظور کافی است تا فایل با صفت .odc را ویرایش نموده و در بخش ConnectionString عبارت زیر اضافه شود:

Local Identifier = 1065

مقدار 1065 برای فارسی و مقدار 1033 مربوط به زبان انگلیسی است.

اگر یک زبانه هستیم کافی است تا در بخش Dim/Cube Properties ،  Language=Persian قرارداده شود. در این حالت نیازی به مشخص کردن Local Identifier نمی باشد.

KPI
نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.