【问题标题】:MDX Calculated Measure CountMDX 计算的测量计数
【发布时间】:2015-08-13 08:48:48
【问题描述】:

我正在尝试将计算度量添加到简单的 MDX 查询中。

虽然在我对 MDX 的理解不足以完成这项工作之前,我已经管理过简单的计算度量。

无论如何,我要做的是计算我们每条卡车路线的不同订单数量。我已经尝试计算订单维度键,但这所做的只是产生系统中的订单总数,而不是每条路线的订单数。有人可以帮我吗?我觉得一旦理解了这一点,后面的 MDX 查询就会简单很多。

With Member Deliveries as

Count([Dim Order].[Order Key].children) --clearly wrong

Select non empty

[Deliveries] on 0,
[Dim Route].[Route Code].Children on 1

From [Defacto DW]

【问题讨论】:

    标签: ssas mdx olap olap-cube


    【解决方案1】:

    假设您有一个度量值组,该度量值组连接到此“订单”暗淡。假设您在此度量值组中有一个度量值,称为Measures.Order Count(我假设您应该有一个)。

    如果对于任何订单,采用任何路线,那么对于该订单-路线组合,该订单将不是NULL

    然后,您可以利用 NonEmpty 函数来获取这些非空交叉点的计数。

    With member Deliveries as
    NonEmpty
            (
             [Dim Order].[Order Key].[All].children, 
             [Measures].[Order Count]
            ).count
    
    Select 
    Deliveries on 0,
    [Dim Route].[Route Code].members on 1
    From [Defacto DW]
    

    用多维数据集中的实际度量替换度量。

    【讨论】:

    • 您先生和/或女士是钻石。我计算了所有有一定数量单位的订单。很有道理。
    • 谢谢你,很高兴能帮上忙 :)
    • 可以在这个答案中看到应该提高性能的优化:stackoverflow.com/a/62101282/5070440 基本上 Count(Filter(set, exp)) 变为 Sum(set, iif(exp,1,Null))。消除 NonEmpty 会有所帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多