2014-11-02 73 views
1

柱說我有下面的類:的LINQ查詢透視與未知值

public class Sightings 
{ 
    public string CommonName { get; set; } 
    public string ScientificName { get; set; } 
    public string TimePeriod { get; set; } 
    public bool Seen { get; set; } 
} 

我想創建TIMEPERIOD樞軸查詢。如果我知道TimePeriod中的值是否超前,我將知道如何編寫查詢。但是,我不知道。它們可以是幾年(如2007,2008,2009等),也可以是幾個月(如2004年1月,2004年2月,2004年3月),也可以是季度(例如Q1-2004,Q2-2005 ,Q3-2004等)。這實際上取決於用戶如何查看數據。

是否有可能編寫一個可以做到這一點的Linq查詢,當樞軸列中的值未知?

我曾考慮將值寫入Excel工作表,創建數據透視表然後從工作表中讀取值。如果Linq查詢不起作用,我可能必須這樣做。

+0

這看起來像一個結果類。源數據是什麼樣的? – 2014-11-02 19:26:12

+0

@GertArnold - 我在帖子中提到了最重要的列(TimePeriod)可能包含的內容。這是我想旋轉的列。 – 2014-11-03 00:37:55

回答

0

你知道用戶可以選擇的最精細的值嗎?
如果例如是幾個月,那麼您可以簡單地寫幾個月的查詢(請參閱Is it possible to Pivot data using LINQ?)。
如果用戶選擇年份,將這些值彙總到幾年應該很簡單。
如果他們想要宿舍,那麼你可以聚合宿舍,等等。
這可能不是最好/最通用的解決方案,但它應該很容易完成工作。