כותרות TheMarker >
    cafe is going down
    ';

    טכנולוגיות בינה עסקית

    מטרת הבלוג להעניק את הכלים והמידע, לעסקים קטנים עד גדולים כאחד, במטרה לייעל את מאגר הידע הארגוני של העסק שלך ולהביא לניהול חכם ונכון יותר.

    תגובות (1)

    נא להתחבר כדי להגיב

    התחברות או הרשמה   

    סדר התגובות :
    ארעה שגיאה בזמן פרסום תגובתך. אנא בדקו את חיבור האינטרנט, או נסו לפרסם את התגובה בזמן מאוחר יותר. אם הבעיה נמשכת, נא צרו קשר עם מנהל באתר.
    /null/cdate#

    /null/text_64k_1#

    RSS
      3/6/12 19:53:

    .

     

    ''

     

    כוכב*

    לשבוע טוב ומבורך.

    http://cafe.themarker.com/post/2640344/

    .

    לקבל את הכח להגשים משאלה.

    ממשק מהיר לאיתור קוד לפי שם

    1 תגובות   יום רביעי, 16/5/12, 18:09

    יכולות להיות מספר סיבות שנרצה לסנן דו"ח לפי קוד של שדה ולא לפי שם (למשל, לפי מספר עובד ולא שם עובד). סיבה אחת יכולה להיות ששמות אינם ייחודיים (כמה חיים כהן אתם מכירים?) ואילו קודים כן. סיבה אחרת היא שסינון לפי קודים הוא לרוב מהיר יותר מסינון לפי מחרוזות. בדרך כלל אין כל בעיה – value prompt יודע להציג שם אולם להעביר קוד (Use value מול Display value). אבל, אם אנחנו מסננים על שדה שיש לו רשומות רבות (נניח, שם עובד בחברה המעסיקה 130 אלף עובדים), זמן הטעינה של value prompt עם כל הרשומות עלול להיות ארוך מאד.

     

    במקרה כזה, יהיה יעיל ומהיר יותר לתת Text Box Prompt שבו יוכל המשתמש להזין את הקוד. אבל – אליה וקוץ בה: במצב כזה, המשתמש צריך לדעת את הקוד (למשל, מספרי עובד או קוד מוצר או מספר לקוח וכו'). אם הוא לא יודע את הקוד, הוא יצטרך ללכת למערכת התפעולית, לחפש את השם, לשלוף את הקוד, להעתיק, להדביק ורק אז להריץ את הדו"ח.

     

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

     

    בצעד הראשון נבנה את הדו"ח שלנו: ניצור דו"ח המציג נתונים אישיים לעובד שנבחר (תצלומי המסך וה-specs   המצורפים לרשומה זו נעשו על גרסה 10.1.1 מעל GO Data Warehouse(Query)):

    ''

    (בדוגמה שכאן, ה-list יושב בתוך conditional block שמציג אותו רק אם הפרמטר איננו null).

    נשמור את הדו"ח הזה – עוד נחזור אליו בהמשך.

     

    ניצור דו"ח חדש עבור חיפוש הקוד. המלצתי היא להוריד לו את ה-footer כבר בהתחלה, ונכניס לתוכו text box prompt:

    ''

    ניצור Query, נכניס לתוכו את השדות Employee name ו-Employee Code ונוסיף פילטר לפי ההגדרה הבאה:

    [Employee name] like #sq(prompt('pEmpName','token','','%','','%'))#

    הסבר: אנו משווים את שדה Employee name למחרוזת שמתחילה ב% (כל תו) ונגמרת ב% ובאמצעה יש את הערך שהוכנס ב-text box prompt, כך שלמעשה אנחנו מחפשים כל שם שמכיל את המחרוזת איפשהו בתוכו. כך, אם נחפש "ציון" נקבל גם "ציון כהן" וגם "שמשון ציוני" וגם "בנציון מומו". אם נרצה לחפש רק שמות שמתחילים במחרוזת החיפוש, נוריד את האחוז הראשון בנוסחה.

    (מי שמעוניין בהסבר מקיף יותר על שימוש ב-macro prompt מוזמן להשאיר תגובה, ואנסה לכתוב רשומה על נושא זה).

     

                ניצור list המבוסס על ה-query הזה המציג את שם העובד ומספרו:

    ''

    (גם כאן אני משתמש ב-conditional block כדי להסתיר את ה-list על עוד לא נבחר ערך ל-Employee name).

    נגרור HTML Item לראש הדו"ח ונכניס בו את הקוד הבא:

    <script>

    function passVal(valToPass){

    opener.window.fW._textEditBoxAccountID.value=valToPass;

    opener.window.fW._textEditBoxAccountID.focus();

    self.close ();

    }

    </script>''

    נפתח את המנעול בסרגל הכלים ונוסיף HTML Items ל-List בסדר הבא:

    ''

    משמאל לימין, נכניס את הקודים הבאים ל-HTML Items:

    1. <a href="#" onclick="passVal(
    2. לקבוע את סוג ה-HTML Item ל-Report Expression באופן הבא:

    ''

    number2string([Query1].[Employee code])

    1. );">
    2. </a>

     

    ניתן לשמור את הדו"ח הזה, כמעט סיימנו איתו.

     

    נפתח מחדש את הדו"ח הראשון ונכניס לתוכו שני HTML Items. אחד נכניס ל-footer:

    <script>

       var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest() : document.forms["formWarpRequest"]); 

    if ( !fW || fW == undefined) 

    { fW = ( formWarpRequest_THIS_ ? formWarpRequest_THIS_ : formWarpRequest_NS_ );}

    </script>

    ''

    את השני נשים מתחת ל-Text Box Prompt:

    <a href="#"

    onclick="window.open('',

     'StatusBar', 'toolbar=no,resizable=no,scrollbars=no,status=no,width=800,height=300,right=0,top=100');"

     title="Report Explanation">Get Employee Code</a>

    ''

    כמו כן, ניתן שם ל-text box prompt. בדוגמה זו אקרא לו AccountID:

    ''

     

    עדיין לא נסגור את הדו"ח. ב-Cognos connection נלך לדו"ח פופ אפ ששמרנו, ונוציא את ה-URL שלו מה-Properties שלו, ונעתיק אותו:

    ''

    את ה-URL הזה נדביק במקום ה-"..." שב-HTML Item שנמצא מתחת ל-text box prompt, ומי שממש רוצה יכול להוסיף בסופו גם:

    &cv.toolbar=false&cv.header=false

    כדי להבטיח שהפופ-אפ לא יציג את סרגל הכלים של קוגנוס:

    ''

    למעשה סיימנו.

    כשנריץ את הדו"ח, נוכל לחפש את הקוד בקלות ובמהירות, כך:

    ''

    ''

     

    ''

    לחיצה על קוד תעביר אותו לפרומפט בחלון הראשי ותסגור את הפופ-אפ:

    ''

      ''             בהצלחה!

    ''

    ''

    דרג את התוכן:

      ארכיון

      פרופיל

      דיויד קפלן
      1. שלח הודעה
      2. אוף ליין
      3. אוף ליין