我需要一些帮助来解决一个远远超出我糟糕技能的问题。
我有一个表格,我在每个产品数据表上注册访问权限,因此对于每次访问,我都有ItemCode (SKU)
,TimeStamp
的记录以及其他一些信息:
|SKU|TimeStamp |Country|Referral|
|AT1|1410290655|Spain |http... |
|AT2|1410290428|Spain |http... |
|AT2|1410290215|Spain |http... |
......
|AT1|1410282324|Spain |http... |
|AT3|1410282255|Spain |http... |
|AT5|1410282128|Spain |http... |
|AT2|1410282015|Spain |http... |
我需要绘制包含所有这些信息的折线图,我需要每天显示
本月的每个项目(AT1
,AT2
,AT3
.....)的展示次数
但由于我将选择TimeFrame,因此项目列表(AT1
,AT2
,AT3
,AT4
...)不是固定的,但必须由查询..
由于我将使用Google Charts,我需要一个这样的数组:
['Date', 'AT1', 'AT2', 'AT3', 'AT4', 'AT5',....]
['141029', 125, 312, 512, 371, 125,.....]
['141028', 143, 213, 252, 621, 246,.....]
['141027', 215, 412, 312, 571, 425,.....]
任何人都可以给我一些提示来达到这样的目标吗?
答案 0 :(得分:0)
动态支点就是您想要的。此代码不会为您提供您正在寻找的确切输出,但它应该作为一个提示和一些工作。您可以很容易地将数据导出为带有标题的CSV文件,以便与Google Charts一起使用。
DECLARE @sql AS NVARCHAR(MAX), @cols AS NVARCHAR(MAX)
SELECT @cols= ISNULL(@cols + ',','') + QUOTENAME(sku)
FROM (SELECT DISTINCT sku FROM wLogs) AS Columns
SET @sql =
N'SELECT CAST(date AS char(6)) date, ' + @cols + '
FROM (SELECT sku, LEFT([TimeStamp],6) date FROM wLogs) a
PIVOT (COUNT([sku])
FOR sku IN (' + @cols + ')) AS p
ORDER BY date DESC'
EXEC sp_executesql @sql
输出:
date AT1 AT2 AT3 AT5
------ ----------- ----------- ----------- -----------
141028 1 1 1 1
141029 1 2 0 0