English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

מיון פרמטרים ב SSRS מרשימת SharePoint

שלום לכם...מזמן לא כתבתי פה והסיבה העיקרית היא שאני עסוק בעבודה מעל הראש...המון פרוייקטים...המון לחץ והחשוב מכל המון SharePoint ו BI.
לאחרונה יצא לי לעבוד המון ב SSRS שהוא כלי נפלא להפקה ויצירת דוחות. כמובן שהוא מתממשק עם SharePoint כך שאנחנו יכולים להפיק דוחות מנתונים השמורים ברשימות.
עם כל הסימפטייה שלי לכלי הזה, כשרוצים לסנן פרמטרים שנישלפים מרשימת SharePoint לא ניתן לעשות זאת בקלות.
ויותר מזה ב MSDN כתוב שלא ניתן לעשות זאת:
"You cannot change the sort order or specify groups in the graphical query designer"

קבלו דרך לבצע זאת בעזרת WorkAround נחמד ומעט קוד.

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

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

בשלב הראשון נכניס את הקוד הבא ל Report Properties:
Public Shared Function sortObject(ByVal spstr As Object(), _
              ByVal lblStr As Object(), ByVal iCol As Integer) As Object()
    Dim tempLbl(UBound(lblStr)) As Object
    Dim tempVal(UBound(spstr)) As Object
    tempLbl = lblStr
    Array.Sort(lblStr)
    For i As Integer = 0 To UBound(lblStr)
        For j As Integer = 0 To UBound(tempLbl)
            If lblStr(i) = tempLbl(j) Then
                tempVal(i) = spstr(j)
                Exit For
            End If
        Next
    Next
    If iCol = 1 Then
        Return tempVal
    Else
        Return lblStr
    End If
End Function
וכך זה ניראה:

בשלב השני נגדיר Dataset נוסף לשדה ממנו אנחנו יוצרים פרמטר (בדוגמה שמו Dataset1).

לאחר מכן נגדיר את הפרמטר הראשון מתוך שניים הנה ההגדרות שלו:

לאחר מכן נגדיר את הפרמטר השני לפי ההגדרות הבאות:



בשורת ה Label וה Value נזין את הערך הבא:


=Code.sortObject(Parameters!Parameter1.Value, Parameters!Parameter1.Label, 2)


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

ולבסוף התוצאה הממויינת:






להתראות בפעם הבאה,
חיים.



אין תגובות:

הוסף רשומת תגובה