我想在mdx中加入两个完全不同的多维数据集(我正在使用MS SSRS 2008)。我真的是mdx的新手,我也不知道该怎么做。如果可能,我想加入SKU。有人可以告诉我该怎么做吗?
mdx查询1
SELECT NON EMPTY { [Measures].[Sales], [Measures].[Quantity] } ON COLUMNS,
NON EMPTY { ([Date YMD].[Day].ALLMEMBERS *
[Regions And Stores].[Store Name].[Store Name].ALLMEMBERS *
[Products].[Products].ALLMEMBERS *
[SKU].[SKU].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM [Super] CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
mdx查询2
SELECT NON EMPTY { [Measures].[Quantity] } ON COLUMNS,
NON EMPTY { ([Store Name].[Store Name].ALLMEMBERS *
[Products].[Products].ALLMEMBERS *
[SKU].[SKU].ALLMEMBERS ) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM [Inventory Activity] CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
任何帮助将不胜感激。
谢谢
答案 0 :(得分:5)
在SSRS中,您需要在报告中加载两个数据集,然后将它们加入tablix中。例如:
将Dataset1
和Dataset2
加载到报告中,并在列ID
中将Dataset1
链接到Dataset2
。然后在您的报告中添加一个Tablix。在Tablix中显示Dataset1
。现在,将新列添加到tablix中,并添加以下表达式:
=Lookup(Fields!Dataset1ID.Value, Fields!Dataset2ID.Value, Fields!SalesAmount.Value, "Dataset2")
该表达式的工作方式如下:
-第一个参数是Dataset1
Dataset2
中对应的键列Dataset2
Dataset2
以下是Lookup()
函数的引用:https://docs.microsoft.com/de-de/sql/reporting-services/report-design/report-builder-functions-lookup-function?view=sql-server-2017
答案 1 :(得分:2)
欢迎使用MDX,我想您正在MDX中寻找等效的SQL Join。但是,MDX不支持SQL之类的联接。解决该问题的一种方法是通过ADOMD将数据检索到数据单元中,然后将它们联接到内存中。但是,我想知道这种情况,该情况要求您将两个多维数据集的结果连接起来。