You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MDX查询需求:计算当前成员所属同区域所有配送中心的库存总件数

MDX查询实现同区域配送中心库存总和计算

前提假设

基于你提供的SQL逻辑,默认Cube包含以下对象,可根据实际情况调整:

  • 维度DimObjects:包含属性ObjectID、ObjectType、Region,和SQL的维度表结构一致
  • 度量值组FactInventory:包含度量[Measures].[Pcs],对应库存件数

完整MDX查询

WITH 
-- 计算成员:当前对象所属区域内所有配送中心的总库存
MEMBER [Measures].[pcsRegion] AS
SUM(
    -- 获取当前行对象对应的Region成员
    EXISTING [DimObjects].[Region].CurrentMember,
    -- 过滤该Region下所有配送中心,求和库存
    (
        [DimObjects].[ObjectType].&[Distribution Center],
        [Measures].[Pcs]
    )
)
SELECT
-- 列维度返回自身库存、区域配送中心总库存两个指标
{
    [Measures].[Pcs],
    [Measures].[pcsRegion]
} ON 0,
-- 行维度返回所有对象的ID、类型、所属区域
NON EMPTY 
[DimObjects].[ObjectID].[ObjectID].Members
* [DimObjects].[ObjectType].[ObjectType].Members
* [DimObjects].[Region].[Region].Members
ON 1
FROM [替换为你的实际Cube名称]

逻辑说明

和你提供的SQL逻辑完全对应:

  1. EXISTING关键字实现了按当前对象所属Region关联过滤的效果,对应SQL中两个CTE通过Region字段左连接的逻辑
  2. 固定ObjectType为配送中心后求和的逻辑,对应SQL中第二个CTE过滤配送中心后按Region分组求和pcs的逻辑
  3. 最终输出字段和SQL的输出完全匹配,每行返回单个对象的基础信息、自身库存、对应区域配送中心总库存

注意事项

  • 请将代码中的[替换为你的实际Cube名称]修改为你自己的Cube名称
  • 如果维度属性的唯一命名、ObjectType的成员键和示例不一致,请根据你的Cube实际配置调整对应属性值
  • 若仅需要查询单个对象的结果,可以在FROM子句后增加WHERE切片条件,比如WHERE ([DimObjects].[ObjectID].&[WH_1])

内容的提问来源于stack exchange,提问作者Antonio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:36:05