Linq Pivot查询具有未知值的列

时间:2014-11-02 16:47:26

标签: 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月),或者它们可能是季度(例如,2004-2004,Q2-2005) ,Q3-2004等)。这实际上取决于用户想要查看数据的方式。

当不知道pivot列中的值时,是否可以编写可以执行此操作的Linq查询?

我考虑过将值写入Excel工作表,创建数据透视表,然后从工作表中读取值。如果Linq查询不起作用,我可能必须这样做。

1 个答案:

答案 0 :(得分:0)

您知道用户可以选择的最精细的值吗? 例如,如果是几个月,那么您只需编写几个月的查询(请参阅Is it possible to Pivot data using LINQ?)。
如果用户选择年份,则将这些值汇总到几年应该很简单 如果他们想要宿舍,那么你可以聚合到宿舍等等 它可能不是最好/最通用的解决方案,但它应该很容易完成工作。