Dynamic dataset in reporting services

flenger

New member
Dynamic dataset in reporting services

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

כרגע מגבלת לקוח reporting services 2005
אני מחפש דרך לייצר דוח שמציג טבלה שאני לא יודע מה יהיה מספר העמודות שלה
הכוונה שמספר העמודות שיתקבלו מהשילתא הם תלויים בנתונים שנמצאים אצל הלקוח

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


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

תודה לעוזרים
 

flenger

New member
הבעיה היא לא בכתיבת השאילתא :)

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

הבעיה שלי שאני מקבל טבלה ( בעזרת PIVOT ) שאין לי אפשרות לדעת מה יהיו מספר השדות שלה
זה תלוי בנתונים של הלקוח

ועכשיו את אותה טבלה רוצים להציג בדוח rdl ( חשוב לציין שהמגבלה היא reporting services 2005 )
כשמקשרים טבלה לdataset מסויים חובה להריץ את השאילתא לפחות פעם אחת כדי שהשדות של הdataset יווצרו
ניתן גם לראות את השדות במבנה הXML של הדוח

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

אני מקווה שעכשיו אני יותר ברור
 

pitoach

New member
אני לא רואה מה זה משנה מהתשובה שלי בכלום

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

flenger

New member
כנראה עדיין לא הבנת אותי

אין בעיה בכתיבת השאילתא היא כתובה מוכנה ועובדת

העניין שאתה לא יכול לדעת מה יחזור מהשאילתא יכולה לחזור טבלה עם 15 שדות
ויכולה לחזור טבלה עם 20 שדות שונים לגמרי

כשאתה מייצר RDL
ולצורך העניין בוחר להציג את נתוני השאילתא שלך בטבלה
אתה צריך ליצור DATASET להריץ את השילתא על מנת שהDATASET יווצר ( זה שאריץ את הנתונים על DATABASE מסויים זה לא אומר שום דבר על אחר )
ברגע שאתה מריץ את השאילתא השמות של השדות יהיו פחות או יותר השמות של השדות של השאילתא
אם למשל יש לך שדה בשאילתא שקוראים לו ClientName יהיה לך שדה בDATASET באותו שם וכו'

לאחר מכן אתה צריך לקשר כל שדה לתא בטבלה ופה הבעיה מיכוון שהכל דינאמי אני לא יכול לבצע קישור כזה או אחר
כי אני לא יודע מה יהיו השמות של השדות בDATASET שלי

תודה על העזרה
 

pitoach

New member
אין שום בעיה ליצור DS בצורה דינמאית

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

בדוק את הקישור הבא
Walkthrough - Using a Dynamic Query in a Report
http://msdn.microsoft.com/en-us/library/aa237477(v=sql.80).aspx
או את הקישור הבא:
http://www.codeproject.com/Articles/11254/SQL-Reporting-Services-with-Dynamic-Column-Reports

אחרי שתכין דוח דינאמי תוכל לחזור ולהכין שאילתה דינאמית ולעבוד איתה בדיוק כמו שכתבתי מעל (כל זה בהנחה שאני כן הבנתי מה אתה רוצה מההתחלה ואני פשוט חוזר על התשובה המקורית שלי כל פעם בניסוח אחר)
 

flenger

New member
קודם כל תודה על העזרה

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

כמו שאמרתי זה שאתה נותן שמות כללים כמו COL1 COL2 ... COL5 ואז מציג את זה בטבלה
נכון זה פותר חלקית את הבעיה

אך המצב שלי הוא שהשמות של השדות משתנים למשל HOST NAME , CPU , MEMORY במחשב DB אחד
HOST NAME , HDD , PRINTER במחשב אחר

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

pitoach

New member
אם עדיין לא תגיע לפתרון תעלה לנו DDL+DML+

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