[SQL SERVER][SSAS] Cube 基本查询

[SQL SERVER][SSAS] Cube 基本查询

 

查询 Cube 中相关数据需使用多维度运算式( MDX ),

这篇自己纪录 Select , From ,Where 相关基本用法。

 

 

1.查询产品大小介于42-46 CM颜色销售和税额汇总数据并移除空数据

Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列    
    { [Color].ALLMEMBERS } on rows
From [Adventure Works DW Cube]
where ([Size Range].[42-46 CM])

 

2.Top and bottomcount操作(取前3笔和最后3笔)

Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列    
    TopCount([Color].ALLMEMBERS,3) on rows --利用 topcount function
From [Adventure Works DW Cube]
where ([Size Range].[42-46 CM])
Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列    
    bottomcount([Color].ALLMEMBERS,3) on rows --利用 bottomcount function
From [Adventure Works DW Cube]
where ([Size Range].[42-46 CM])

 

3.1Like 操作 (%A%)

WITH
SET ModelName
AS
FILTER(
      [Model Name].CHILDREN,
      Instr([Model Name].CURRENTMEMBER.Name,'tire')>=1
      )--利用 Filter Function 找包含tire
Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列 
    ModelName on rows  
From [Adventure Works DW Cube]

 

3.2 Like A%

WITH
SET ModelName
AS
FILTER(
      [Model Name].CHILDREN,
      left([Model Name].CURRENTMEMBER.Name,1)='L'
      )--利用 Filter and left Function 找 L 开头
Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列 
    ModelName on rows  
From [Adventure Works DW Cube]

 

3.2 Like %A

WITH
SET ModelName
AS
FILTER(
      [Model Name].CHILDREN,
      right([Model Name].CURRENTMEMBER.Name,1)='e'
      )--利用 Filter and right Function 找 e 结尾
Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列 
    ModelName on rows  
From [Adventure Works DW Cube]

 

4.格式化字符串

WITH 
MEMBER [Measures].[TotalCost] AS '([Measures].[Unit Price] * [Measures].[Sales Amount])',
FORMAT_STRING = "$#,###.00"--格式化总价
Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt],[Measures].[TotalCost]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列 
     {[Model Name].ALLMEMBERS} on rows    
From [Adventure Works DW Cube]

 

5.  Not in and In

Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列 
    Except --利用 except function 排除Bike Wash,Cycling Cap 
      ([Model Name].Children ,
         {[Model Name].[Bike Wash],[Model Name].[Cycling Cap]}
      ) ON ROWS  
From [Adventure Works DW Cube]

 

Select
    { [Measures].[Sales Amount], 
        [Measures].[Tax Amt]} on columns, 
    non empty --从数据集内移除任何数据行中没有数据的所有数据列     
    {[Model Name].[ALL],[Model Name].[Classic Vest]}   ON ROWS  
From [Adventure Works DW Cube]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值