פרוס כתיבה חוזרת

כתיבה חוזרת מאפשרת למשתמשים לעדכן נתונים מניתוחי נתונים.

נושאים:

אודות כתיבה חוזרת למנהלנים

כתיבה חוזרת מאפשרת למשתמשים לעדכן את הנתונים ישירות מלוחות מידע ומניתוחי נתונים.

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

אם משתמש מקליד ערך בשדה ניתן לעריכה ולוחץ על לחצן הכתיבה החוזרת, היישום מריץ את פקודת ה-SQL הוספה או עדכון שהוגדרה בתבנית כתיבה חוזרת.. אם הפקודה מצליחה, הניתוח מתעדכן בערך החדש. אם יש שגיאה בקריאת התבנית או בהרצת פקודת SQL, תוצג הודעת שגיאה.

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

הערה :

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

הנה דוגמה לקובץ XML של כתיבה חוזרת המכיל שתי פקודות הוספה ושני משפטי עדכון ריקים. למידע נוסף על איך ליצור ולבנות קובצי XML של כתיבה חוזרת, ראה צור קובצי תבנית כתיבה חוזרת.
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuotaUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
            <update></update>
         </writeBack>
      </XML>
   </WebMessage>
<WebMessage name="SetForecastUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e0}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
            <update></update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>

אפשור כתיבה חוזרת בניתוחי נתונים ובלוחות מידע

מנהלנים יכולים לאפשר למשתמשים לערוך את הנתונים בניתוחי נתונים ובלוחות מידע.

  1. הקם את המודל הסמנטי שלך.

    הערה :

    בצע את השלבים הבאים אם אתה משתמש ב-Model Administration Tool כדי לפתח מודלים סמנטיים. אם אתה משתמש בבונה מודלים סמנטיים, ראה

    אפשר כתיבה חוזרת בעמודות .

    1. ב-Model Administration Tool, פתח את המודל הסמנטי שלך (קובץ .rpd).
    2. בשכבה הפיזית, לחץ לחיצה כפולה על הטבלה הפיזית שמכילה את העמודה שבשבילה תרצה לאפשר כתיבה חוזרת.
    3. בכרטיסייה כללי שבתיבת הדו-שיח טבלה פיזית, ודא שניתן לכתיבה למטמון לא נבחר. ביטול הבחירה באפשרות זו מבטיח שמשתמשי Presentation Services יכולים לראות עדכונים באופן מיידי.
    4. בשכבה מודל עסקי ומיפוי, לחץ לחיצה כפולה על העמודה הלוגית המתאימה.
    5. בתיבת הדו-שיח עמודה לוגית, בחר את ניתן לכתיבה, ולאחר מכן לחץ על אוקיי.
    6. בשכבה מצגת, לחץ לחיצה כפולה על העמודה שמתאימה לעמודה הלוגית שבשבילה אפשרת את הכתיבה החוזרת.
    7. בתיבת הדו-שיח עמודת מצגת, לחץ על הרשאות.
    8. בחר את ההרשאה קריאה/כתיבה למשתמשים ולתפקידי היישום המתאימים.
    9. שמור את השינויים.
  2. צור מסמך XML באמצעות תבנית (או תבניות) הכתיבה החוזרת שלך. ראה צור קובצי תבנית כתיבה חוזרת.

    מסמך ה-XML שלך יכול להכיל מספר תבניות. דוגמה זו מציגה מסמך XML המכיל שתי תבניות (SetQuotaUseID ו-SetForecastUseID).

    <?xml version="1.0" encoding="utf-8" ?>
    <WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
    <WebMessageTable lang="en-us" system="WriteBack" table="Messages">
       <WebMessage name="SetQuotaUseID">
          <XML>
             <writeBack connectionPool="Supplier">
                <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
                <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
             </writeBack>
          </XML>
       </WebMessage>
    <WebMessage name="SetForecastUseID">
          <XML>
             <writeBack connectionPool="Supplier">
                <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e01}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
                <update>UPDATE regiontypeforecast SET Dollars=@{c7322jkl93ev92cd8} WHERE YR=@{c83ebf607f3cb8320} AND Quarter=@{cb7e2046a0fba2204} AND Region='@{c5a93e65d31f10e01}' AND ItemType='@{c5a93e65d31f10e0}'</update>
             </writeBack>
          </XML>
       </WebMessage>
    </WebMessageTable>
    </WebMessageTables>
    הערה: עליך לכלול רכיב <insert> ורכיב <update>, גם אם לא נעשה שימוש בשניהם. לדוגמה, אם אתה מבצע רק הוספה, עליך לכלול את משפט העדכוןהריק <update></update>.
  3. העתק את מסמך ה-XML המכיל את תבניות הכתיבה החוזרת ללוח הגזירים.
  4. החל את תבנית הכתיבה החוזרת ב-Oracle Analytics:
    1. לחץ על קונסולה, ולאחר מכן לחץ על הגדרות מערכת.
    2. בXML של תבנית כתיבה חוזרת, הדבק את תבנית הכתיבה החוזרת שהעתקת בשלב 3.
  5. הענק הרשאות לשימוש בקוד הכתיבה החוזרת:
    1. נווט אל דף הבית הקלאסי ולחץ על מנהלה.
    2. תחת אבטחה, לחץ על ניהול הרשאות, ונווט אל כתיבה חוזרת.
    3. הענק כתיבה חוזרת למסד נתונים למשתמש שזהותו אומתה..
    4. הענק את נהל כתיבה חוזרת למנהלן שירות BI.
  6. כדי לאפשר כתיבה חוזרת בעמודות:
    1. בעורך הניתוח, הצג את מאפייני העמודה של העמודה שבה תרצה לאפשר כתיבה חוזרת.
    2. בתיבת הדו-שיח 'מאפייני עמודה', לחץ על הכרטיסייה כתיבה חוזרת
      אם העמודה אופשרה לכתיבה חוזרת במודל הסמנטי, אזי התיבה אפשר כתיבה חוזרת תהיה זמינה.
    3. בחר את האפשרות אפשר כתיבה חוזרת.
    4. אם תרצה לשנות את ברירת המחדל, ציין את הערך של אפשרויות אחרות.
    5. שמור את השינויים.
    העמודה אפשרית לכתיבה חוזרת בכל ניתוח נתונים שכולל עמודה זו.
  7. כדי לאפשר כתיבה חוזרת בתצוגות טבלה:
    1. בעורך הניתוח, פתח את תצוגת הטבלה לעריכה.
    2. לחץ על הצג מאפיינים.
    3. בתיבת הדו-שיח מאפייני טבלה, לחץ על הכרטיסייה כתיבה חוזרת
    4. בחר את האפשרות אפשר כתיבה חוזרת.
    5. בחר את התיבה שם תבנית, ציין את הערך של "WebMessage name=" בתבנית הכתיבה החוזרת שציינת בשלב 2.
      לדוגמה, שם תבנית של התבנית לדוגמה בשלב 2 הוא 'SetQuotaUseID'.
    6. שמור את השינויים.

מגבלות כתיבה חוזרת

משתמשים יכולים לבצע כתיבה חוזרת לכל מקור נתונים המאפשר ביצוע של שאילתות SQL מ-Oracle Analytics.

בעת התצורה של כתיבה חוזרת, זכור את המגבלות הבאות:

  • עמודות מספריות חייבות להכיל מספרים בלבד. אסור שהם יכילו תווי עיצוב נתונים כגון סימני דולר ($), סימני פאונד או סימני גיבוב (#), סימני אחוז (%), וכן הלאה.

  • עמודות טקסט חייבות להכיל נתוני מחרוזת בלבד.

  • אם משתמש מחובר כבר צופה בלוח מידע המכיל ניתוח שבו נתונים שונו באמצעות כתיבה חוזרת, הנתונים לא יעברו רענון אוטומטי בלוח המידע. כדי לראות את הנתונים המעודכנים, על המשתמש לרענן ידנית את לוח המידע.

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

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

  • כל שדה בניתוח יכול להיות מסומן כשדה כתיבה חוזרת, גם אם הוא לא נגזר מטבלת הכתיבה החוזרת שיצרת. עם זאת, אינך יכול להריץ בהצלחה את פעולת הכתיבה החוזרת אם הטבלה אינה מאופשרת. האחריות לתיוג נכון של שדות היא של מעצב התוכן.

  • תבנית יכולה להכיל משפטי SQL פרט להוספה ועדכון. פונקציית הכתיבה החוזרת מעבירה משפטים אלו למסד הנתונים. עם זאת, Oracle אינה תומכת או ממליצה על שימוש במשפטים כלשהם פריט להוספה או עדכון.

  • Oracle Analytics מבצע אישור תקינות מינימלי בלבד של קלט הנתונים. אם השדה הוא מספרי והמשתמש מזין נתוני טקסט, אז Oracle Analytics מזהה זאת ומונע מהנתונים הלא תקפים לעבור למסד הנתונים. עם זאת, הוא אינו מזהה צורות אחרות של קלט נתונים לא תקף (ערכים מחוץ לטווח, טקסט וערכים המורכבים מטקסט ומספרים וכן הלאה). כאשר המשתמש לוחץ על לחצן הכתיבה החוזרת ומורצים הוספה או עדכון, נתונים לא תקפים גורמים להודעת שגיאה ממסד הנתונים. לאחר מכן המשתמש יכול לתקן את הקלט השגוי. מעצבי תוכן יכולים לכלול טקסט בניתוח הכתיבה החוזרת כדי לסייע למשתמש, לדוגמה, "אין להזין ערכים אלפאנומריים מעורבים בשדה נתונים מספריים".

  • מנגנון התבנית אינו מתאים להזנת רשומות חדשות שרירותיות. במילים אחרות, אל תשתמש בו ככלי להזנת נתונים.

  • בעת יצירת טבלה לכתיבה חוזרת, ודא שלפחות עמודה אחת אינה כוללת יכולת כתיבה חוזרת אך כן כוללת ערכים ייחודיים לכל שורה שאינם אפסים.

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

    זהירות :

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

צור קובצי תבנית כתיבה חוזרת

קובץ תבנית כתיבה חוזרת הוא קובץ בפורמט XML המכיל תבנית כתיבה חוזרת אחת או יותר.

תבנית כתיבה חוזרת מורכבת מרכיב WebMessage המציין את שם התבנית, מאגר החיבורים ומשפטי ה-SQL הנחוצים להוספה ועדכון רשומות בטבלאות ובעמודות הכתיבה החוזרת שאתה יצרת. כאשר מעצבי תוכן מאפשרים תצוגת טבלה לכתיבה חוזרת, עליהם לציין את השם של תבנית הכתיבה החוזרת לשימוש כדי להוסיף ולעדכן את הרשומות בתצוגת הטבלה.

דרישות לתבנית כתיבה חוזרת

תבנית כתיבה חוזרת חייבת לעמוד בדרישות הבאות:

  • WebMessage: עליך לציין שם לתבנית הכתיבה החוזרת באמצעות התכונה שם ברכיב WebMessage.

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

    דוגמה זו מציגה תבנית כתיבה חוזרת בשם SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: כדי לעמוד בדרישות האבטחה, עליך לציין את מאגר החיבורים יחד עם פקודות SQL להוספה ועדכון של רשומות. פקודות SQL אלו מפנות לערכים המועברים בסכמת הכתיבה החוזרת כדי ליצור את משפטי ה-SQL לשינוי טבלת מסד הנתונים.

  • VALUES: ניתן להפנות לערכי עמודות לפי מזהה עמודה או מיקום עמודה. השימוש במזהה העמודה עדיף.

    תחום ערכי מחרוזת ותאריך בין מרכאות בודדות. מרכאות בודדות אינן דרושות בערכים מספריים.

    • מזהה עמודה - כל מזהה עמודה הוא אלפאנומרי ונוצר באופן אקראי. תוכל למצוא מזהי עמודות בהגדרת ה-XML של הניתוח הזמינה בכרטיסייה מתקדם של עורך הניתוח. לדוגמה, ערכי מזהה עמודה כגון: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

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

      XML בכרטיסייה 'מתקדם' של עורך הניתוח

    • מיקום עמודה - מיקומי עמודות מתחילים במספור ב-1. לדוגמה, ערכי מיקום העמודה כגון: @1, @3, '@5'

      אם סדר העמודות משתנה, הכתיבה החוזרת לא עובדת יותר וזו הסיבה שבגללה יש עדיפות למזהי העמודות.

  • עליך לכלול בתבנית גם רכיב <insert> ורכיב <update>. אם אינך רוצה לכלול פקודות SQL בתוך הרכיבים, עליך להוסיף רווח בין תגיות הפתיחה והסגירה. לדוגמה, עליך להזין את הרכיב כ:

    <insert> </insert>
    

    ולא כ:

    <insert></insert>
    

    אם תשמיט את הרווח, תראה הודעת שגיאה של כתיבה חוזרת כגון "המערכת לא יכולה לקרוא את תבנית הכתיבה החוזרת 'my_template".

  • אם סוג הנתונים של פרמטר אינו מספר שלם או ממשי, הוסף סביבו מרכאות בודדות. אם מסד הנתונים לא מבצע Commits באופן אוטומטי, הוסף את הצומת postUpdate האופציונלי לאחר הצמתים הוספה ועדכון כדי לאלץ את ביצוע ה-commit. הצומת postUpdate בדרך כלל עוקב אחר דוגמה זו:

    <postUpdate>COMMIT</postUpdate>
    

קובץ תבנית כתיבה חוזרת לדוגמה באמצעות תחביר מזהה עמודה

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

<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuotaUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
            <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>

קובץ תבנית כתיבה חוזרת לדוגמה באמצעות תחביר מיקום עמודה

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

<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuota">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@1,@2,'@3','@4',@5)</insert>
            <update>UPDATE regiontypequota SET Dollars=@5 WHERE YR=@1 AND Quarter=@2 AND Region='@3' AND ItemType='@4'</update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>