Tsql 如何在MDX where子句中编写日期筛选器?
我是MDX新手。请建议如何用MDX查询语言编写下面的T-SQL查询 T-SQL:Tsql 如何在MDX where子句中编写日期筛选器?,tsql,mdx,Tsql,Mdx,我是MDX新手。请建议如何用MDX查询语言编写下面的T-SQL查询 T-SQL: SELECT wp.date,Sum(wp.bbls_oil) AS BBLSOIL_TOTAL,Sum(wp.bbls_water) AS BBLSWATER_TOTAL,Sum(wp.mcf_prod) AS MCF_PROD_TOTAL,Sum(wp.vent_flare) AS VENT_FLARE_TOTAL
SELECT wp.date,Sum(wp.bbls_oil)
AS BBLSOIL_TOTAL,Sum(wp.bbls_water)
AS BBLSWATER_TOTAL,Sum(wp.mcf_prod)
AS MCF_PROD_TOTAL,Sum(wp.vent_flare)
AS VENT_FLARE_TOTAL
FROM well_prod_bst_horiz_og_2_yrs wp, well_index wi
WHERE wp.fileno = wi.fileno
AND wp.date <= :startDate
AND wp.date >= :endDate
AND wi.apino IN (:wellids)
GROUP BY wp.date ORDER BY wp.date ASC";
选择可湿性粉剂日期、总量(可湿性粉剂桶油)
总油量(可湿性粉剂/桶水)
作为BBLSWATER_总计,总和(可湿性粉剂、mcf_产品)
作为MCF生产总量,总和(可湿性粉剂放空火炬)
作为排气口\火炬\总计
来自水平井2年可湿性粉剂产量,井指数
其中wp.fileno=wi.fileno
和wp.date=:endDate
和wi.apino IN(:油井)
按wp.date分组按wp.date ASC排序”;
在上面的查询中,开始和结束日期值是动态提供的。假设您有名为
BBLSOIL
、BBLSWATER
、MCF\u PROD
和VENT\u FLARE\u TOTAL
的度量值,并且您的日期属性名为[date]
,并且您的:startDate
包含[date]&[20120101]
和您的:endDate
包含[Date].[Date].&[20141231]
,并且您的多维数据集名为您将要编写的多维数据集的名称
SELECT {
Measures.[BBLSOIL],
Measures.[BBLSWATER],
Measures.[MCF_PROD],
Measures.[VENT_FLARE_TOTAL]
}
ON COLUMNS,
[Date].[Date].&[20120101] : [Date].[Date].&[20141231]
ON ROWS
FROM [Name of your Cube]
i、 e.将包含所需度量列表的MDX集合放在列轴上,并放置一个范围(由
:
指定)在行轴上。在MDX中不需要像Sum
和groupby
这样的聚合,它们由多维数据集定义处理。假设您有名为BBLSOIL
、BBLSWATER
、MCF\u PROD
和VENT\u FLARE\u TOTAL
的度量值,并且您的日期属性名为[date].[date]
,您的:startDate
包含[Date].[Date].&[20120101]
,您的:endDate
包含[Date].[Date].&20141231]
,并且您的多维数据集名为您将要编写的多维数据集的名称
SELECT {
Measures.[BBLSOIL],
Measures.[BBLSWATER],
Measures.[MCF_PROD],
Measures.[VENT_FLARE_TOTAL]
}
ON COLUMNS,
[Date].[Date].&[20120101] : [Date].[Date].&[20141231]
ON ROWS
FROM [Name of your Cube]
i、 e.将包含所需度量列表的MDX集合放在列轴上,并放置一个范围(由
:
指定)在行轴上。在MDX中不需要像Sum
和groupby
这样的聚合,它们由多维数据集定义处理。对于动态参数,这取决于调用MDX语句的环境。您使用哪个环境?Reporting Services?自定义C#program?Integration Services ADO.net data source?SQL Server OpenQuery?Other?我在基于java的web应用程序中调用这些查询。编写一条MDX语句并传递给OLAP语句对象,然后调用excuteQuery()方法。通过这种方式,我将获得结果并基于结果构造JSON对象,然后将此JSON对象传递给highcharts数据对象。在这种情况下,为什么不直接将参数值放入MDX语句中?因为键可能由应用程序控制,我认为没有太多SQL(或MDX)注入潜力。对于动态参数,这取决于调用MDX语句的环境。您使用哪种环境?Reporting Services?自定义C#程序?Integration Services ADO.net数据源?SQL Server OpenQuery?其他?我在基于java的web应用程序中调用这些查询。编写MDX语句并传递到OLAP语句对象,然后调用excuteQuery()方法。通过这种方式,我将获得结果并基于结果构造JSON对象,然后将此JSON对象传递给highcharts数据对象。在这种情况下,为什么不直接将参数值放入MDX语句中?因为键可能由应用程序控制,我认为没有太多SQL(或MDX)注入电位。