על-ידי בחירה ברשומת tuple, אתה יכול למקד את חישובי Essbase שלך ברשת מבט חכם הפעילה, ולהגביל את ההיקף שלהם לפרוסות ספציפיות של נתונים בקוביית האחסון בבלוקים שלך.
המקטעים הבאים מתארים את חישוב רשומת ה-tuple:
לקבלת התחביר לשימוש ב-@GRIDTUPLES בתסריט חישוב, ראה FIX…ENDFIX.
על-ידי בחירה ברשומת tuple, אתה יכול למקד את חישובי Essbase שלך ברשת מבט חכם הפעילה, ולהגביל את ההיקף שלהם לפרוסות ספציפיות של נתונים בקוביית האחסון בבלוקים שלך.
בחירה ברשומות Tuple מסייעת לך למטב חישובי רשת לא סימטרית בין ממדים, ובכך להימנע מחישוב-יתר.
רשומות tuple של Essbase שונות מרשומות tuple שבהן נעשה שימוש בשאילתות MDX. ביצועי החישוב וגודל הקובייה נקבעים בעיקר לפי מספר הבלוקים במסד הנתונים (אם נתון גודל בלוק ספציפי). מסיבה זו, מציינים רשומות tuple לחישוב לקומבינציות של איברי sparse בלבד. בנוסף לכך, להקלה על כתיבת תסריטי חישוב, ניתן לכלול ריבוי איברים מתוך ממד sparse אחד במפרט של רשומת tuple לחישוב. לדוגמה, אם תציין את רשומת ה-tuple לחישוב כך: ("ניו יורק", "קליפורניה", "בפועל", "קולה") תחשב את חיתוכי התאים הבאים:
"New York"->"Actual"->"Cola" "California"->"Actual"->"Cola"
חשוב על הרשת הסימטרית הבאה: היא סימטרית כיוון שלכל מוצר מיוצגים ברשת אותם השווקים ואותו התרחיש (בפועל).
הרשת הבאה אינה סימטרית כיוון שלמוצר 'דיאט קולה' יש פחות שווקים ברשת מאשר למוצר 'קולה'.
כאשר יש יותר מממד אחד במשפט FIX או בנקודת מבט (POV) של רשת Smart View, ברירת המחדל של היקף החישוב הוא חישוב של המוצרים הצולבים (כל הקומבינציות האפשריות) של האיברים ב-FIX או ברשת. במילים אחרות, חישוב המונע באמצעות נקודת מבט שבו קומבינציות המוצר והשוק נלקחות מהרשת, מחשב את כל הקומבינציות הבאות של שורה-איבר:
Cola->"New York" Cola->"Massachusetts" Cola->"Florida" Cola->"Connecticut" Cola->"New Hampshire" "Diet Cola"->"New York" "Diet Cola"->"Massachusetts" "Diet Cola"->"Florida" "Diet Cola"->"Connecticut" "Diet Cola"->"New Hampshire"
ייתכן שפעילות חישוב זו היא יותר ממה שאתה צריך. אם ברצונך לחשב רק את הקומבינציות המוצגות ברשת, תוכל לציין אילו רשומות tuple יש לחשב ובכך להגביל את החישוב לפרוסה קטנה יותר. חישוב רשומות tuple עשוי גם לצמצם את זמן החישוב ואת גודל הקובייה.
Cola->"New York" Cola->"Massachusetts" Cola->"Florida" Cola->"Connecticut" Cola->"New Hampshire" "Diet Cola"->"New York" "Diet Cola"->"Florida"
רשומת tuple לחישוב היא דרך להצגת פרוסת נתונים של איברים, מתוך שניים או יותר של ממדי sparse, כדי לעשות בה שימוש בחישוב אחסון בבלוקים של Essbase.
דוגמאות לרשומות Tuple תקפות לחישוב:
("דיאט קולה", "ניו יורק")
("דיאט קולה", "קולה", פלורידה)
(קולה, "ניו המפשייר")
אם תכתוב ביטויי MDX תצטרך להיות מודע למגבלות הבאות של ה-tuple החלות על MDX:
עם זאת, כשבוחרים רשומות tuple בתסריטי חישוב, דרישות אלה מוסרות לצורך נוחות. תוכל לכתוב ביטויי tuple בחופשיות וביטויי ה-tuple יכולים לתאר רשימות איברים, כמו רשומת ה-tuple הבאה: (@Children(East), Cola)
.
דרך קלה לבחור רשומות tuple היא להוסיף אותן באופן מפורש בתסריט חישוב, כרשימה בתוך משפט ה-FIX.
זכור שהפורמט של משפט ה-FIX הוא כלהלן:
FIX (fixMbrs) COMMANDS ; ENDFIX
במשפט ה-FIX להלן, צוינו שתי רשומות tuple לפני שמתחיל בלוק הפקודה. רשומות ה-tuple מופיעות בין סוגריים מסולסלים { } שתוחמים סל שהוא אוסף של רשומות tuple.
FIX({ (@Children(East), Cola), ("New York", Florida, "Diet Cola") }) Sales (Sales = Sales + 10;); ENDFIX
דרך אחרת לבחור רשומות tuple היא על-פי הקשר, במבוסס על אילו איברים נמצאים בנקודת המבט של רשת Smart View בזמן ריצת החישוב. עושים זאת על-ידי הקצאת הפונקציה @GRIDTUPLES כארגומנט ל-FIX, בתסריט החישוב שלך.
FIX ({@GRIDTUPLES(Product, Market)}) Sales (Sales = Sales + 10;); ENDFIX
אם מריצים תסריט חישוב זה מ-Smart View כנגד הרשת למטה, אזי מחושבות רק הקומבינציות המוצגות של מוצרים ושווקים. לדוגמה, "Diet Cola"->Massachusetts לא מחושבת כיוון שהיא לא מוצגת באופן מפורשת ברשת. שים לב שכל התרחישים (ממד ה-sparse השלישי בקובייה זו לדוגמה) מחושבים, למרות שרק 'בפועל' מוצג ברשת. זאת משום שממד התרחיש אינו חלק מהמשפט GRIDTUPLES בתסריט החישוב.
בחירת רשומת tuple, אם היא מתבצעת באמצעות רשימות מפורשות של רשומות tuple או על-ידי שימוש בפונקציה @GRIDTUPLES, ישימה רק בהקשר של פקודת החישוב FIX…ENDFIX. התחביר של משפט ה-FIX מתרחב כדי לאפשר בחירת tuple:
FIX ([{ tupleList | @GRIDTUPLES(dimensionList) },] fixMbrs) COMMANDS ; ENDFIX
באמצעות רשת של Smart View ומשפט FIX של תסריט חישוב Essbase, תוכל לחשב איברים נבחרים שהן רשומות tuple על בסיס נקודת המבט (POV) של הרשת. לחלופין, תוכל להקליד באופן מפורש את קומבינציות tuple במשפט FIX שלך והסרת התלות ברשת Smart View מסוימת כדי להגדיר את היקף החישוב.
חישוב רשומות tuple נבחרות מסייע לך לעבוד ביעילות עם אזורים לא סימטריים בתסריטי החישוב וגם ברשתות Smart View.
חשוב על הדוגמאות הבאות:
להתנסות בדוגמאות, הורד את תבנית חוברת העבודה CalcTuple_Tuple.xlsx
מהקטע טכני> חישוב
של התיקייה גלריה באזור קבצים של ממשק האינטרנט של Essbase. לקבלת הוראות עיין בגיליון העבודה README של חוברת העבודה.
החישוב הבא ממחיש את ההתנהגות ברירת המחדל של חישוב אחסון בבלוקים ב-Smart View שמתרחשת כשלא בוחרים רשומות tuple. החישוב הבא מחשב את כל איברי הממד של המוצר הצולב, 'מוצר' ו'שוק' מרשת של Smart View.
בעזרת שני משתני החלפה בזמן ריצה (RTSV) המוגדרים בבלוק SET RUNTIMESUBVARS, החישוב מוגבל לאותן נקודות מבט של מוצר ושוק הנמצאות ברשת בעת הרצת החישוב מתוך Smart View.
SET RUNTIMESUBVARS { ProductGridMembers = POV <RTSV_HINT><svLaunch> <description>All Product's members on the grid</description> <type>member</type> <dimension>Product</dimension><choice>multiple</choice> </svLaunch></RTSV_HINT>; MarketGridMembers = POV <RTSV_HINT><svLaunch> <description>All Market's members on the grid</description> <type>member</type> <dimension>Market</dimension><choice>multiple</choice> </svLaunch></RTSV_HINT>; }; FIX ( &ProductGridMembers, &MarketGridMembers ) Marketing( Marketing = Marketing +1; ); ENDFIX
באמצעות הפונקציה @GRIDTUPLES לבחירת רשומת ה-tuple של הממדים מוצר ושוק, תסריט חישוב אחסון בבלוקים של Smart View זה מחשב רשומות tuple לשני ממדים אלה בלבד; דבר זה מגביל את הטווח לאותם האיברים שנמצאים ברשת של Smart View כאשר החישוב מתבצע מ-Smart View.
FIX ( {@GRIDTUPLES(Product, Market)} ) Marketing( Marketing = Marketing + 1; ); ENDFIX
על-ידי תיקון רק בממדי sparse המזוהים בשם ברשומת ה-tuple, החישוב כולל מספר הרבה יותר קטן של בלוקים מאשר ברירת המחדל של החישוב. עם זאת, כל האיברים מממדים שלא צוינו בתיקון (שנה, תרחיש) מחושבים באמצעות תסריט חישוב זה.
באמצעות הפונקציה @GRIDTUPLES ומשתנה החלפה בזמן ריצה, תסריט חישוב אחסון בבלוקים של Essbase זה מחשב רשומות tuple נבחרות בלבד מהרשת, על בסיס בחירות ממד ה-sparse במנחה ה-RTSV.
משתנה ההחלפה בזמן ריצה, &DimSelections, שמוגדר בבלוק SET RUNTIMESUBVARS, מגביל את היקף החישוב לממדי ה-sparse בלבד של הקובייה, לא כולל תרחיש. הפונקציה @GRIDTUPLES שבה נעשה שימוש במשפט ה-FIX, קוראת למשתנה זה ומגבילה את מספר החיתוכים שניתן לחשב.
SET RUNTIMESUBVARS { DimSelections = "Version", "Site", "Entity", "Product", "Market" <RTSV_HINT><svLaunch> <description>List two or more sparse dimensions used for forming calculation tuples:</description> <type>string</type> </svLaunch></RTSV_HINT>; }; FIX ( {@GRIDTUPLES(&DimSelections)} ) Marketing( Marketing = Marketing + 1; ); ENDFIX
החישוב מקיף מספר קטן אף יותר של בלוקים מאשר בדוגמה הקודמת, כיוון שבמקרה זה, הגדרת רשומת ה-tuple מתרחבת לעוד ממדי sparse מעבר ל'מוצר->שוק'.
להתנסות בדוגמאות, הורד את תבנית חוברת העבודה CalcTuple_Tuple.xlsx
מהחלק 'טכני > חישוב' של התיקייה גלריה באזור קבצים של ממשק האינטרנט של Essbase. לקבלת הוראות עיין בגיליון העבודה README של חוברת העבודה.