הצטרפו לקבוצות שלנו לקבלת עדכונים מרוכזים פעם בשבוע:

ווטסאפ:
http://wa.dwh.co.il
טלגרם:
http://telegram.dwh.co.il

Current date using MDX

More
15 years 11 months ago #5595 by אלון צוקלר
לכל מי שרוצה לפתוח בברירת המחדל את את היום הנוכחי בדוחות כגון פנורמה, (יש גם פה כמובן POST של אלדד, אבל בהתחשב שאין תאריכים עתידיים היא קצת בעייתית כי תמיד יש במימד הזמן תאריכים עתידיים ולא כולם מנהלים CLOSING DATE)

בנוסף גם אם התאריך DATE הוא בפורמט תצוגה אחר כגון dd/mm/yyyy כמו רוב המערכות בישראל, פשוט נותנים ל VALUE את הערכים של הFORMAT הרגיל yyyy-mm-dd המצוי במימד וזה יעבוד נפלא

זה יתן את יום האתמול דבר שמתאים ל DWH שרץ בלילה ונכונות הנתונים שלו הם אתמול
select {} on 0
,Filter([Ship Date].[Calender].[Date],[Ship Date].[Calender].MemberValue = vba!dateadd("d", -1, vba![Date]())) on 1
from [Adventure Works DW2008]

אפשר לקרוא פה
sqlblog.com/blogs/mosha/archive/2007/05/...y-s-date-in-mdx.aspx

Please התחברות to join the conversation.

More
15 years 11 months ago - 15 years 11 months ago #5596 by eldad
יש כמה חסרונות לשיטה הזו:
1. אם במקרה עשיתם PROCESS לקוביה לפני 12:00 בלילה
או לחילופין עם המידע לא התעדכן אזי נקבל תאריך לא נכון
2. אין מענה למצב בו נרצה להציג את יום העסקים האחרון או את היום האחרון עם הנתונים.

מה שאני עושה זה להוסיף member value או סתם property
ל view של הזמן שנותן ( אני בדכ נותן לו את השם isCurrentDay )
ושם את הערך 1 עבור היום אותו אני רוצה להציג.
היתרון הוא כפול:
א. אני מוריד את השליטה ביום הנוכחי לSQL ושם הרבה יותר
קל לי לכתוב את הלוגיקה.
ב. אם המימד לא עובד Process אזי התאריך לא מתחלף והמצגת
עולה עם התאריך הישן.
במקרה של השיטה עם ה VBA הקלקולציה מחושבת כל פעם
( אלה עם היא מוגדרת בתוך SET ) והמצגת תציג שאין נתונים.

אגב, המאמר שהוצג הוא הכי טוב שיש ברשת.
Last edit: 15 years 11 months ago by eldad.

Please התחברות to join the conversation.

More
15 years 11 months ago #5599 by אלון צוקלר
כיוון מעניין כמובן שצריך יהיה לשנות את הMDX בהתאם
select {} on 0
filter
([Ship Date].[Calender].[Date].members,[Ship Date].[Calender].currentmember.Properties( "isCurrentDay" )="1").item(0)
from [Adventure Works DW2008

Please התחברות to join the conversation.

Moderators: eldad
Time to create page: 0.269 seconds