层代映射中的递归穿透钻取

此用例将层代名称映射到一个列名,在该列的任何顶级层代上执行报告。

在此用例中,在 "Year" 成员上执行穿透钻取报告并将其映射到 "Month" 层代。生成的查询对于 "Month" 没有 where 条件。

结果包括数据源列中 "Year" 列的所有数据(所有 "Month")。

在没有到特定层代的映射时,可在所选层代下找到层代。验证相同维中的任何层代是否存在列映射。如果存在,请从该层代获取子级并生成查询,在该查询中,所有这些成员添加到 Where 条件中。

将层代名称映射到列名用于递归穿透钻取的屏幕图像。

数据源列映射到 "Year" 维中的 "Month" 层代。

  • "Year" 维的层代:"History"、"Quarter"、"Month"

  • Year (dsColumn) == Month (gen) 的列映射

"columnMapping" : {
 "Product" : "Product SKU",
 Region" : "Region",
 "\"Year\"" : "Month",
 "Scenario" : "Scenario"   
},

顶级

对交集中的 "Year" 执行报告时,实际层代名称为 "History",它没有映射。下一个层代为 "Quarter",它没有映射。接下来的层代为 "Month",已映射。

在 "Year" 维中,从 "Month" 层代获取所有成员:

(Qtr1) Jan, Feb,Mar : (Qtr2) Apr, May, Jun : (Qtr3) Jul, Aug, Sep : (Qtr4) Oct, Nov, Dec

顶级查询的示例如下所示:

Select Product, Region, Market, “Year” from Excel_DS where Product = ‘100-20’ and 
Region = ‘East’ and “Year” IN (Jan, Feb, Mar, Apr, May, Jun,  Jul, Aug, Sep, Oct, Nov, Dec)

中间级别

对交集中的 "Quarter" 执行报告时,实际层代名称为 "Quarter",它没有映射。下一个层代为 "Month",已映射。

在 "Year" 维中,对于所选季度 "Qtr1",从 "Month" 层代获取所有子级:

(Qtr1) Jan, Feb, Mar

中间级别查询的示例如下所示:

Select Product, Region, Market, “Year” from Excel_DS where Product = ‘100-20’ and 
Region = ‘East’ and “Year” IN (Jan, Feb, Mar)

映射的级别

在 "Month" 的交集中执行报告时,实际层代名称为 "Month",在 "Year" 维中为选定的月份 "Jan" 映射。

映射的级别查询的示例如下所示:

Select Product, Region, Market, “Year” from Excel_DS where Product = ‘100-20’ and
 Region = ‘East’ and “Year” IN (Jan)
OR
Select Product, Region, Market, “Year” from Excel_DS where Product = ‘100-20’ and
 Region = ‘East’ and “Year” = ‘Jan’