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

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

Cognos 8 – חיבור דינמי לסכמה ב-Package

More
17 years 10 months ago #1263 by Dana
הדוגמא מתייחסת למקרה בו קיים DB עם סכמות זהות במבנה (לפחות מבחינת האובייקטים שקוגנוס מסתכל עליהם) וכל משתמש אמור לשלוף נתונים מסכמה שמוגדרת לו.

לדוגמא, קיימות 3 סכמות: סכמה עם נתוני מכירות של ישראל, סכמה עם נתוני מכירות של צרפת וסכמה עם נתוני מכירות של סין. לסכמות יש את אותו המבנה ויוצרים מודל כללי של מכירות שיכול להתחבר לכל אחת מהסכמות.

כאשר משה שולף נתונים מהמודל נרצה שהוא ישלוף נתונים מהסכמה של ישראל, ז'אק ישלוף מהסכמה של צרפת ולינג תשלוף מהסכמה של סין.

אז איך עושים את זה?

1. יוצרים Data Source שמתחבר לאחת מהסכמות.

2. בונים את המודל.

3. יוצרים מפת פרמטרים שמכילה את שם היוזר ואת שם הסכמה שהיוזר יתחבר אליה.
אפשר ליצור מפת פרמטרים מבוססת Query Object ולתחזק את הנתונים הנ"ל בטבלה ב-DB (ה-Data Source לטבלה הזו צריך להיות שונה מה-Data Source למודל כיוון שהוא לא יכול להיות דינמי).

4. במאפיינים של ה-Data Source שנוצר בסעיף 1, משנים את הערך של Schema לערך הבא:
#$schema_user{$account.personalInfo.userName  }#
כאשר schema_user הוא שם מפת הפרמטרים שנוצרה בסעיף 3.

5. יוצרים Package. אם מפת הפרמטרים שנוצרה מבוססת Query Object צריך להכניס ל-Package גם את ה-Query Object הנ"ל אחרת מתקבלת הודעה על רקורסיה (אפשר לעשות Hide לאובייקטים בפנים).

6. מבפלשים ובודקים (שולפים נתונים מהמודל עם יוזר ורואים שזה שולף מהסכמה הנכונה).

הערה: אחרי שהפכנו את ה-Data Source לדינמי אפשר להמשיך לעשות Import לאובייקטים מה-DB למודל.
ב-Import בוחרים את ה-Data Source המקורי שנוצר.
צריך לבדוק אחרי ה-Import שלא נוצר ב-FM Data Source חדש, ואם כן, פשוט לשנות את ה-Select שישלוף מה-Data Source הנכון ולמחוק את ה-Data Source המיותר מ-FM.

עוד הערה: בעיקרון אפשר לבצע את אותו הדבר גם על ה-DB, כך שהחיבור ל-DB יהיה דינמי.
אבל... משום מה במקרה הזה Value Prompt ב-Report Studio מפסיקים לעבוד.
נשמע מוזר, אבל יש על זה באג בקוגנוס.

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

Moderators: לינוּר
Time to create page: 0.215 seconds