Measures/KPIs 基于 SSAS 中的 conditional/filtered 计数
Measures/KPIs based on conditional/filtered counts in SSAS
我正在研究如何定义一些 KPI。
如果我可以举个例子:
事实Table
参考号
CountofReferenceNo(测量)
维度
参考编号
状态
输入
假设我们的官方 KPI 之一是某种类型的参考数字计数,即类型 = 'generic'。是否可以使用表达式来定义 KPI 值,该 KPI 值是添加了筛选器的度量?还是需要将其创建为一项附加措施?如果是度量,那么我不知道如何添加自定义计算度量,如果可以的话,也不知道如何编写!
等价的 SQL 将是:
SELECT COUNT(ReferenceNo)
FROM FactTable INNER JOIN
Dimension ON FactTable.ReferenceNo = Dimension.ReferenceNo
WHERE Dimension.Type = 'generic'
如果我能解决这个问题,那么我们的大部分 KPI 都是相似的并且是基于计数的,所以我希望能够继续解决剩下的问题。
mdx
中的 sql 类似于:
SELECT
[Measures].[CountofReferenceNo] ON 0
FROM [YourCube]
WHERE [DimensionType].[generic];
或者您可以在 WITH
子句内的自定义度量中创建 tuple
:
WITH MEMBER [Measures].[CountofReferenceNo_Generic] AS
(
[Measures].[CountofReferenceNo]
,[DimensionType].[generic]
)
SELECT
[Measures].[CountofReferenceNo_Generic] ON 0
FROM [YourCube];
我正在研究如何定义一些 KPI。
如果我可以举个例子:
事实Table
参考号
CountofReferenceNo(测量)
维度
参考编号
状态
输入
假设我们的官方 KPI 之一是某种类型的参考数字计数,即类型 = 'generic'。是否可以使用表达式来定义 KPI 值,该 KPI 值是添加了筛选器的度量?还是需要将其创建为一项附加措施?如果是度量,那么我不知道如何添加自定义计算度量,如果可以的话,也不知道如何编写!
等价的 SQL 将是:
SELECT COUNT(ReferenceNo)
FROM FactTable INNER JOIN
Dimension ON FactTable.ReferenceNo = Dimension.ReferenceNo
WHERE Dimension.Type = 'generic'
如果我能解决这个问题,那么我们的大部分 KPI 都是相似的并且是基于计数的,所以我希望能够继续解决剩下的问题。
mdx
中的 sql 类似于:
SELECT
[Measures].[CountofReferenceNo] ON 0
FROM [YourCube]
WHERE [DimensionType].[generic];
或者您可以在 WITH
子句内的自定义度量中创建 tuple
:
WITH MEMBER [Measures].[CountofReferenceNo_Generic] AS
(
[Measures].[CountofReferenceNo]
,[DimensionType].[generic]
)
SELECT
[Measures].[CountofReferenceNo_Generic] ON 0
FROM [YourCube];