【问题标题】:how to calculate count distinct based on a measure in OLAP cube如何根据 OLAP 多维数据集中的度量计算不同的计数
【发布时间】:2014-08-11 21:00:51
【问题描述】:

我正在尝试根据事实表中名为“IsDailyActive”的属性为我的 SSAS OLAP 多维数据集中的计算成员“每日活跃用户”编写 MDX 查询

我有一个名为“Active Users”的度量,它使用 UserId 列上“Fact Activity”表中的 COUNT DISTINCT 聚合。我想通过在我的查询中将过滤器“Is Daily Active”设置为 True 来重用该度量并计算不同的用户数。

我试过了,但它给了我 null

WITH 
SET MySet AS
   {[Measures].[Active Users]} 
MEMBER [Measures].[Daily Active Users] AS
   DISTINCTCOUNT(MySet)
SELECT
{[Measures].[Daily Active Users]} ON COLUMNS
FROM MyDataCube


WITH 
SET MySet AS
   {[Measures].[Active Users]} 
MEMBER [Measures].[Daily Active Users] AS 
   DISTINCTCOUNT(MySet)
SELECT
{[Measures].[Daily Active Users]} ON COLUMNS
FROM MyDataCube
WHERE
([Is Daily Active].[Boolean].&[True])

我做错了什么?

注意:“FactActivity”表中的 IsDailyActive 列属于“位”类型,因此行中有 0 或 1 个值。

【问题讨论】:

  • 您包含的代码看起来像两个查询?让我格式化 OP,如果我错了你可以改回来。

标签: ssas mdx olap


【解决方案1】:

如果度量值Active Users 已经存在于多维数据集脚本中,那么为什么以下方法不起作用?

SELECT
{[Measures].[Active Users]} ON COLUMNS
FROM MyDataCube
WHERE
([Is Daily Active].[Boolean].&[True])

【讨论】:

    猜你喜欢
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多