任何人都可以告诉我如何获取MDX查询结果的记录数吗?我尝试了各种方法,但我还没有真正得到解决方案。我是MDX查询的初学者。
答案 0 :(得分:0)
在多维数据集中创建一个计数或不同计数的度量。
答案 1 :(得分:0)
1)打开立方体
2)右键单击该度量所在的事实表
3)选择New Measure...
4)下拉列表并选择聚合
5)在源列部分,选择要聚合的列(如果无法找到它,请单击底部的show all columns
- 这取决于您聚合的内容)
答案 2 :(得分:0)
WITH
MEMBER [Measures].[amount] as
COUNT(
[your_dimension].[your_dimension_property].Members
)
SELECT {[Measures].[amount]} ON COLUMNS
FROM [your_awesome_cube]
这样的代码将返回维度中的成员数量,COUNT
方法具有此语法
Count(Set_Expression [ , ( EXCLUDEEMPTY | INCLUDEEMPTY ) ] )
所以你可以做很多事情,比如过滤你的搜索
答案 3 :(得分:0)
与成员 度量为 [your_dimension]。[your_dimension_property] .Children.COUNT
选择小数。计数为0 从[your_awesome_cube]
答案 4 :(得分:0)
当您说记录计数时,基本上是在说行轴的有效组合。
让我们举一个基本的例子,查询返回3637行,其中1行是列名行。
select [Measures].[Sales Amount] on columns,
(
[Customer].[Country].[Country],
[Product].[Product].[Product]
) on rows
from [Adventure Works]
现在无需运行查询就可以获取行计数,可以将组合放入count函数中,并将count函数放入运行时度量中
这将返回3636行。 与成员[Measures]。[rowCount] 如 count(([[Customer]。[Country]。[Country],[Product]。[Product]。[Product])) 在[冒险工作]的列中选择[度量]。[行数]
注意,我尚未消除行上的空组合。接下来让我们做
查询返回2101行,列标题又返回1行。 选择[度量]。[销售金额]列上, 非空 ( [客户]。[国家/地区]。[国家/地区], [产品]。[产品]。[产品] )行 来自[冒险作品]
现在让我们计算行数
这将返回2100行。 与成员[Measures]。[rowCount] 如 count(nonempty(([[Customer]。[Country]。[Country],[Product]。[Product]。[Product]) ,{[措施]。[销售金额]} )) 选择[度量]。[行数] 在[冒险作品]的专栏上
到目前为止,我们只从一个度量值组中获取了度量值,现在让我们尝试多个度量值组。
select {[Measures].[Sales Amount],[Measures].[Internet Sales Amount]} on columns,
non empty
(
[Customer].[Country].[Country],
[Product].[Product].[Product]
) on rows
from [Adventure Works]
//Cell set consists of 2101 rows and 3 columns.
//Wrong way
with member [Measures].[rowCount]
as
count(nonempty(( [Customer].[Country].[Country],[Product].[Product].[Product])
,{[Measures].[Internet Sales Amount]}
))
select [Measures].[rowCount] on columns from [Adventure Works]
//935
//Right way
with member [Measures].[rowCount]
as
count(nonempty(( [Customer].[Country].[Country],[Product].[Product].[Product])
,{[Measures].[Sales Amount],[Measures].[Internet Sales Amount]}
))
select [Measures].[rowCount]
on columns from [Adventure Works]
///2100
请注意,当我们仅使用一个度量时,结果可能不正确。如果我们使用的度量值为空,则将删除该组合。与我们行中其他位置一样,其他方法将确保该组合出现。
现在让我们为图片添加一个滤镜。
select {[Measures].[Sales Amount],[Measures].[Internet Sales Amount]} on columns,
non empty
filter(
(
[Customer].[Country].[Country],
[Product].[Product].[Product]
)
,[Measures].[Internet Sales Amount]>5000) on rows
from [Adventure Works]
//Cell set consists of 586 rows and 3 columns.
//Wrong way
with member [Measures].[rowCount]
as
count(nonempty(( [Customer].[Country].[Country],[Product].[Product].[Product])
,{[Measures].[Sales Amount],[Measures].[Internet Sales Amount]}
))
select [Measures].[rowCount]
on columns from [Adventure Works]
//2100
//Right way
with member [Measures].[rowCount]
as
count(nonempty(
filter(([Customer].[Country].[Country],[Product].[Product].[Product]),[Measures].[Internet Sales Amount]>5000)
,{[Measures].[Sales Amount],[Measures].[Internet Sales Amount]}
))
select [Measures].[rowCount]
on columns from [Adventure Works]
///585
再次,直到我给RowCount度量我在行轴上的准确灵敏度时,它才会失败。