计算MDX中单元格中的事实数

问题描述 投票:0回答:1

这里是一个具有两个维度的简单模式,一个带有度量的事实。

CREATE TABLE DimThingType (
    ThingTypeID          int        NOT NULL PRIMARY KEY,
    ThingTypeDescription varchar(8) NOT NULL
)

CREATE TABLE DimThing (
    ThingID   int        NOT NULL PRIMARY KEY,
    ThingName varchar(8) NOT NULL
)

CREATE FactFacts (
    FactID      int NOT NULL PRIMARY KEY,
    ThingID     int NOT NULL,
    ThingTypeID int NOT NULL,
    Turnips     int NOT NULL
)

现在在MDX中,我们可以为每个事物类型求和的萝卜的数量。

SELECT 
    NON EMPTY { [Measures].[Trunips] } ON COLUMNS, 
    NON EMPTY { ([ThingType].MEMBERS) } ON ROWS 
FROM [Things]

现在,如果在此度量值组中,我将属性[Count of Facts]设置为Source.[Binding Type],并且将[Row binding]设置为AggregateFunction,创建了一个名为Count的新度量值,那么我也可以计算每个事物类型SELECT NON EMPTY { [Measures].[Trunips], [Measures].[Count of Facts] } ON COLUMNS, NON EMPTY { ([ThingType].MEMBERS) } ON ROWS FROM [Incidents]

我真的必须添加这项新措施吗?数字是用于计算结果单元格中的值的事实数,因此我无法通过查询获得该数字吗? (如果我们在SQL中分组,则将其简单地是COUNT(*)。)

我绝对无法获得任何工作!

这里是一个具有两个维度的简单模式,一个带有度量的事实。创建表DimThingType(ThingTypeID int NOT NULL PRIMARY KEY,ThingTypeDescription varchar(8)NOT ...

ssas mdx mdx-query
1个回答
2
投票
是的,您需要添加新的度量(尽管也可以选择其他度量)。多维数据集在处理时将事实值存储在N维单元中。因此,在查询时,您只能检索存储的内容。与sql不同,多维数据集不会在运行时对其求和。它将只获取该单元格中的值。
© www.soinside.com 2019 - 2024. All rights reserved.