मैं इस त्रुटि में भाग रहा हूं। मैं देखता हूं कि इसका कारण यह है कि समय पर औसत औसत 0.00 होता है जो डेटा स्टैंड पॉइंट से सटीक होता है। यह SQL क्वेरी ठीक काम करती है, लेकिन ऐसा इसलिए है क्योंकि यह स्वचालित रूप से 0.00 में डालता है।अनुक्रम में कोई तत्व नहीं है - LINQ, MVC, औसत
LINQ शिकायत करता है और इसलिए मैंने DefaultIfEmpty() का उपयोग करने का प्रयास किया लेकिन यह कहता है कि यह मेरे व्यूमोडेल की अपेक्षा कर रहा है।
Dim ticketCounts = From t In queue _
Where _
(t.StatusId = 2) And _
(t.CloseDate.Year = Convert.ToDateTime(DateTime.Now).Year) And _
(t.ResolutionDays > 0)
Group t By _
Column1 = CType(t.CloseDate.Month, Integer), _
Column2 = CType(t.CloseDate.ToString("MMMM"), String) _
Into g = Group _
Order By Column1 _
Select _
Id = Column1, _
Month = Column2, _
Critical = g.Where(Function(t) t.PriorityId = 1).DefaultIfEmpty().Average(Function(t) t.ResolutionDays), _
High = g.Where(Function(t) t.PriorityId = 2).DefaultIfEmpty().Average(Function(t) t.ResolutionDays), _
Normal = g.Where(Function(t) t.PriorityId = 3).DefaultIfEmpty().Average(Function(t) t.ResolutionDays), _
Low = g.Where(Function(t) t.PriorityId = 4).DefaultIfEmpty().Average(Function(t) t.ResolutionDays), _
Total = g.Where(Function(t) t.Id <> Nothing).DefaultIfEmpty().Average(Function(t) t.ResolutionDays)
अपडेट किया गया! यह वही काम कर रहा है जो मुझे वीबी की आवश्यकता है।
SELECT
DATENAME(MONTH,t.CloseDate) AS 'Month',
AVG(CASE WHEN (t.PriorityId = 1) THEN CAST(t.ResolutionDays AS Decimal(18, 2)) ELSE 0 END) AS 'Critical',
AVG(CASE WHEN (t.PriorityId = 2) THEN CAST(t.ResolutionDays AS Decimal(18, 2)) ELSE 0 END) AS 'High',
AVG(CASE WHEN (t.PriorityId = 3) THEN CAST(t.ResolutionDays AS Decimal(18, 2)) ELSE 0 END) AS 'Normal',
AVG(CASE WHEN (t.PriorityId = 4) THEN CAST(t.ResolutionDays AS Decimal(18, 2)) ELSE 0 END) AS 'Low',
AVG(CAST(t.ResolutionDays AS Decimal(18, 2))) AS 'Monthly Average'
FROM
tblMaintenanceTicket t
WHERE
t.StatusId = 2
AND YEAR(t.CloseDate) = year(getdate())
GROUP BY
MONTH(t.CloseDate),
DATENAME(MONTH,t.CloseDate)
ORDER BY
MONTH(t.CloseDate)
मुझे लगता है कि सुझाव एक जोड़े को अलग अलग तरीकों की कोशिश की है, लेकिन बात के इस प्रकार पूरा इनलाइन हो सकता है? एक इनलाइन सशर्त की तरह? मैं LINQ लॉल के बारे में बहुत कम पता है। – Chuck
@Chuck आप डिफ़ॉल्ट अक्षमता का उपयोग क्यों नहीं कर सकते? यह इस तरह की चीजों के लिए है – nawfal
मुझे यह सुनिश्चित नहीं था कि इसे कहां रखा जाए। अगर मैं इसे कहां से दाहिनी तरफ रखता हूं। जहां (फंक्शन (टी) टी। प्राथमिकता आईडी = 4)। डीफॉल्ट IfEmpty() कि यह मेरे ViewModelType में परिवर्तित नहीं हो सकता है। – Chuck