• 多事实表 SQL实现和SSAS中MDX实现的差异


    如图,资产负债视图是事实表,损益表也是事实表。都包含年、月、组织、账簿信息。

    SQL如何实现呢?

    简单粗暴,事实事实表串事实表,Full Join

    select 
            损益视图.年
            ,损益视图.年月
            ,损益视图.期间
            ,损益视图.账簿名称
            ,损益视图.组织编码
            ,损益视图.组织名称    
            ,损益视图.项目名称 损益项目
            ,损益视图.本期发生数 损益本期
            ,资产负债视图.项目名称 资产项目
            ,资产负债视图.年初数 资产年初
            ,资产负债视图.期末数 资产期末
     
                        from 损益视图
                                full join 资产负债视图
                                    on 损益视图.年月 = 资产负债视图.年月
                                        and 损益视图.年 =资产负债视图.年
                                        and 损益视图.期间 = 资产负债视图.期间
                                        and 损益视图.账簿名称 = 资产负债视图.账簿名称
                                        and 损益视图.组织编码 = 资产负债视图.组织编码
                        where 损益视图.账簿名称 ='蓝海电子公司主账簿'

    SSAS 表格模式中借助视图模式看

    不能直接事实表串事实表,必须通过中间的维度表来关联。

    SELECT 
    NON EMPTY {Hierarchize(
                    {[Measures].[年初数 的总和], [Measures].[期末数 的总和], [Measures].[本期发生数 的总和]} 
                        )
              }
        ON COLUMNS,
    
        NON EMPTY {Hierarchize(
    {
        CROSSJOIN({[年月表].[时间].[]}
                    ,CROSSJOIN({[年月表].[月份].[月份]}
                        ,CROSSJOIN( {[组织架构表].[组织编码].[组织编码]}, 
                                        CROSSJOIN({[组织架构表].[组织名称].[组织名称]}
                                                    ,CROSSJOIN({[账簿表].[账簿名称].[账簿名称]}
                                                    ,CROSSJOIN({[损益视图].[项目名称].[项目名称]} ,{[资产负债视图].[资产项目].[资产项目]})
                                                                )
                                                    ) 
                                    )
                                )
    
                  )
    
    }
        )
              }
     ON ROWS
    FROM [FinBPCube]

    SSAS系列随笔

  • 相关阅读:
    购买电脑注意事项
    这个题用堆排序还是直接插入法呢?
    2011新历年最后一天了
    VC中对于Dialog,OnCreate()和OnInitDialog()是什么关系
    英语问题,(有些答案不对,不对的请说一声)
    尝鲜之在Github上搭建Octopress博客
    nodejs+express+ejs+mongoose实例
    Hadoop问题小记
    Storm资料汇总
    C# 集合类 Array Arraylist List Hashtable Dictionary Stack Queue 泛型
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/10589164.html
Copyright © 2020-2023  润新知