ברוך הבא, אורח
שם משתמש: סיסמא: זכור אותי

דיון: קצת אינפורמציה על Macro (חלק ראשון)

קצת אינפורמציה על Macro (חלק ראשון) 10 years 11 months ago #4792

  • HadasD
  • HadasD's Avatar
  • Offline
  • Fresh Boarder
  • הודעות: 6
  • קרמה: 0
הי לכולם,

שימחה וצהלה על כך שסוף סוף נפתח פורום QlikView,
רציתי לשתף אותכם בקצת מקרויים בסיסיים שצריכים להיות בכל מודל ומשפרים את העבודה.
כאשר שומרים את הקובץ של QlikView  בטאב מסויים, בפעם הבאה שנפתח אותו הוא יופיע באותו טאב ועם אותם בחירות, אם אנו רוצים
שכל פעם שנפתח את המודל כל הבחירות יתנקו ונגיע לטאב הראשי זהו המקרו שיעשו את העבודה:
1. מקרו שמנקה את כל הבחירות בעת הפתיחה ונפתח בטאב הראשי -
SUB ON_OPEN
ActiveDocument.ClearAll true
ActiveDocument.ActivateSheet 0
END SUB

2. אם אני רוצה שבמקום שהמשתמש יחפש למעלה את כפתור הטעינה תהיה לו האפשרות לטעון על ידי לחיצה על כפתור במודל, הינה המקרו לכפתור:
Sub Reload
ActiveDocument.Reload
end sub

3.אם רוצים שבעת פתיחת המודל יתבצע פלטור כל שהוא (למשל שיבחר את השנה הנוכחית),
פותחים משתנה שיחזיק בתוכו את השנה הנוכחית  settings > Vriable Overview > add
נותנים למשתנה שם לדוגמא :vCurrentYear ----> =Year(Today(())       h
לאחר מכאן במקרו רושמים את הדבר הבא:
SUB Select_CurrentYear
    set v = ActiveDocument.GetVariable("vCurrentYear")             
         ActiveDocument.Fields("Year").Select v.GetContent.String           
END SUB


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

בעניין: קצת אינפורמציה על Macro (חלק ראשון) 10 years 9 months ago #5049

  • ronb
  • ronb's Avatar
  • Offline
  • Fresh Boarder
  • הודעות: 1
  • קרמה: 0
היי,

אני מנסה ליצור Macro עם הפונקציה:
SET CL = ActiveDocument.Fields("CustomerNumber").GetPossibleValues
אם אני מנסה אותה על שדה שלא מהווה מפתח אין כל בעיה. אם השדה הוא מפתח אני נתקע (אך לא מקבל כל הודעת שגיאה - ה-Debugger פשוט נפתח).

אשמח לכל עצה / הכוונה.
הנהלת האתר ביטלה גישת כתיבה ציבורית.

בעניין: קצת אינפורמציה על Macro (חלק ראשון) 10 years 9 months ago #5050

הי,
לפי המוגדר ב-APIGUIDE הפונקציה GetPossibleValues יכולה לקבל 2 פרמטרים אופציונאליים נוספים.
הראשון הוא מספר הערכים המקסימלי שהפונקציה תחזיר. כל מספר מעל ערך זה והפנקציה תחזיר NULL.
ברירת המחדל היא 100 כך שיתכן ושדה המפתח שלך מכיל יותר ערכים מכך.

הפרמטר השני הוא פרמטר בוליאני שאומר האם להשתמש בUseDefaultSortOrder

נסה משהו כזה:
SET CL = ActiveDocument.Fields("CustomerNumber").GetPossibleValues("500")‎

תוכל להעזר בפנקציה GetValueCount
כדי לעדכן את הערך המקסימלי לפי מספר הערכים בפועל באופן דינמי

אם מתברר שזו לא הבעיה נסה לבצע בדיקות נוספות
האם זה קורה בכל שדות המפתח?
האם זה קורה רק בשדות מפתח?
אם אתה מוריד (reduce data ) חלק מהרשומות האם זה משתנה?
נסה לקרוא את 2 הטבלאות במודל חדש ושם לבצע את המקרו.
נסה להריץ את הקוד בDebugger (צעד אחד צעד) ובדוק את הערכים במשתנים, אולי תגלה את המקור לבעיה.

אלו בערך הרעיונות שעולים לי בראש
הנהלת האתר ביטלה גישת כתיבה ציבורית.

תגובה:קצת אינפורמציה על Macro (חלק ראשון) 9 years 6 months ago #6663

  • איציק
  • איציק's Avatar
  • Offline
  • Fresh Boarder
  • הודעות: 11
  • קרמה: 0
שלום,
אני מעוניין שמה ACCESSPOINT אהיה ניתן לבצע הכנסת נתונים (מתאריך עד תאריך או מס' מנוי) ולשלוף מ DATA BASE .
ידוע לי על דרך כזו אך מה client :
LET vMDN = Input('הכנס מספר מנוי', 'מספר מנוי');
תודה רבה.
איציק
הנהלת האתר ביטלה גישת כתיבה ציבורית.
זמן יצירת העמוד: 0.134 שניות

הדף שלנו בפייסבוק

מעניין? שתפו דף זה באמצעות הטלפון הנייד

מאמרים

מגמות של ביג דאטה בעולם הביטוח
CA Technologies
SSIS - Buffer Size Optimization
קטגוריה ראשית
בדיקות BI ו-DWH לעומת הבדיקות בתחומים אחרים
קטגוריה ראשית
איסוף דרישות לפרויקטי BI
קטגוריה ראשית
כח המידע במיקוד
קטגוריה ראשית
0

Microsoft

Oracle

IBM

Informatica

Sap

SAS

Qlikview

Cloudera

Machine Learning