report service II

24sharon

New member
report service II

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

עידו פ

New member
את עובדת במקרה עם integrated

windows authentication ? אם כן, לפי מה שראיתי FF לא מעביר אוטומטית את פרטי היוזר שביצע login - לכן כנראה את מתבקשת להקליד שוב את שם היוזר והסיסמה.
 

24sharon

New member
כנראה באמת זו הסיבה,

בעת הכנסת הסיסמא כתבתי סימנתי את תיבת save the password, אבל לא בדקתי, כי כמו שאמרתי הפעם אני צריכה שיעבוד רק על אקספלורר. תודה בכל אופן
 

24sharon

New member
reports Service III ../images/Emo7.gif ../images/Emo7.gif ../images/Emo7.gif ../images/Emo7.gif

יומיים אני עובדת על הנושא, ואני עדיין באותה נקודת התחלה... לקחתי לשם התחלה את אחד הדוחות היותר פשוטים, אני מעוניינת לראות את הארועים לפי פסיכולוג (כמה פגישות עשה הפסיכולוג בטווח תאריכים נבחרים) אפשרויות הסינון הן: מתאריך, עד תאריך וכן קוד פסיכולוג. כל האפשרויות יכולות להיות ריקות, וכן חלקן. יצרתי שאילתא דינמית, ואז התברר לי שהדו"חות מפונקים מאוד והם צריכים להיות קשורים למקור הנתונים שלהם, ולא מסתדרים עם הדינמיות. אז שיניתי את השאילתא למשהו כזה:
SELECT dbo.tbl_CA_meeting.userID, dbo.tblUsersName.OrdName, COUNT(dbo.tbl_CA_event.itemInPackageID) AS Expr1, dbo.tbl_CA_itemInPackage.itemInPackageName, dbo.tbl_CA_package.packageName FROM dbo.tbl_CA_meeting INNER JOIN ..... WHERE (@fromDate is null or dbo.tbl_CA_mishmeret.mishmeretDate >= CONVERT(DATETIME, @fromDate, 102)) AND (@toDate is null or dbo.tbl_CA_mishmeret.mishmeretDate <= CONVERT(DATETIME,@toDate, 102)) AND (@userID is null or dbo.tbl_CA_meeting.userID IN (@userID)) GROUP BY dbo.tbl_CA_meeting.userID, dbo.tblUsersName.OrdName, dbo.tbl_CA_itemInPackage.itemInPackageName, dbo.tbl_CA_package.packageName​
בפועל הוא לא מקבל ברגע שנבחרים יותר מפסיכולוג 1. איך לדעתכם אפשר להסתדר עם זה? תודה מראש על כל עזרה!
 

24sharon

New member
והנה תמונת המסך:

יש לי בעיה עם הUSERID ברגע שאני כותבת כך:
(@userID IS NULL or (tbl_CA_meeting.userID IN (@userID))​
וכן אם אני מורידה את האפשרות של NULL, הוא דורש את הפרמטר, מה שאני לא רוצה.
 

24sharon

New member
או אולי לעזוב את הREPORTS הזה

ופשוט לעבוד עם GRID VIEW הפשוט והחביב, עם אפשרות ייצוא הDS לאקסל. מה דעתכם?
 
לוותר? את? לא מתאים.

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

MoranOnSoftware

New member
יש לי דוקטורט ב- Reporting Services

אין דרך יפה לעשות מה שאת רוצה. צריך לעשות UNION ALL לטבלה של הפסיכולוגים לערך של נניח 0 בשם ALL. שכן Multi-value לא יכול לחיות עם NULL. אח"כ לשנות בשאילתא הראשית ל- (תעשי CopyPaste לNotePad ותהפכי, העברית/אנגלית כאן מתערבבות): ( 0 IN (@userID) OR tbl_CA_meeting.userID IN (@userID) ) אם תסתכלי בפרופיילר את תראי ש- RS הציב את הערכים בתוך המשתנה וללא ממש השתמש בו בדרך הטבע. וע"כ רצוי להגדיר את המשתנה כ- Integer ולא כ- String, אחרת תקבלי הרצאה שלמה מג'סטין בנושא SQL injection.
 

24sharon

New member
דוקטורט../images/Emo11.gif שאלה אחרת

עוד רגע גם אני דוקטורט - אחרי מנת היסורים שעברתי עם הדוח הזה. דבר ראשון הבנתי את מה שאמרת, וזו דרך יפה, רעיון
דבר שני אני לא חוששת מSQL injection היות שזו מערכת מקומית, וכן הQS עובר בדרך מעט נסתרת. שלישית, עכשיו אני בבעיה נוספת. ברגע שהגדרתי פרמטר שמקבל ערכים מרובים, ואני רוצה להעביר את הנתונים בQUERY STRING זה לא כ"כ הולך לי. הנה הURL שלי:
http://localhost/ReportServer/Pages/ReportViewer.aspx?%2fReport+Project1%2fsumMeetingForPsy&rs:Command=Render&rc:parameters=false&userID=1​
הפרמטר USERID מוגדר כאפשרות מרובה. נאמר אני מנסה להעביר אליו את הנתונים 1 ו-3 ניסיתי כך: 1,3 - ולא התקבל ניסיתי כך: '1','3' ולא התקבל ניסיתי כך: '1,3' ולא התקבל. בקיצור לא מצאתי את הנוסחא איך להעביר ערכים מרובים בQS. בהודעות הבאות אצרף מעט תמונות מסך, על מנת להמחיש את הפרמטר ואת הסביבה. המון תודה!
 

24sharon

New member
וזה הגדרות הפרמטר userID

והשאלה איך מעבירים אליו ערכים באמצעות הQUERY STRING? המון המון תודה! ואם כבר אפשר לבקש להיות נוכחת כאן מעט, לא מצאתי הרבה שיש להם ידע בכלי הזה. תודה
 

24sharon

New member
טוב הפעם הסתדרתי

צריך לכתוב פעמיים [פעם ראשונה שאני נתקלת בזה]
userID=1&userID=3​
זה לא אומר לפעמים הבעות
 

24sharon

New member
הרמת כוסית ../images/Emo48.gif../images/Emo48.gif../images/Emo48.gif

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

24sharon

New member
מה שנותן את הכוח לכלי הזה

אלו אפשרויות הייצוא הרבות שיש לו אקסל PDF וכד'
 
יפה!

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