说我有以下课程:
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查询不起作用,我可能必须这样做。
答案 0 :(得分:0)
您知道用户可以选择的最精细的值吗?
例如,如果是几个月,那么您只需编写几个月的查询(请参阅Is it possible to Pivot data using LINQ?)。
如果用户选择年份,则将这些值汇总到几年应该很简单
如果他们想要宿舍,那么你可以聚合到宿舍等等
它可能不是最好/最通用的解决方案,但它应该很容易完成工作。