mdx - 使用日期小于的 MDX 获取数据
问题描述
我有查询我在哪里取双值,然后是日期(例如 2020-03)。这是它的外观:
SELECT
NON EMPTY
{[Measures].[Revenue]} ON COLUMNS
,NON EMPTY
{[DimDates].[YearMonthNum].[YearMonthNum].ALLMEMBERS}
DIMENSION PROPERTIES
MEMBER_CAPTION
,MEMBER_UNIQUE_NAME
ON ROWS
FROM
(
SELECT
{[TransactionsData].[FirstYearMonth].&[ALL]} ON COLUMNS
FROM
(
SELECT
{[TransactionsDataExtra].[Cluster].[All]} ON COLUMNS
FROM
(
SELECT
{[TransactionsDataExtra].[Campaign].[All]} ON COLUMNS
FROM
(
SELECT
{[TransactionsData].[RevenueGenerating].[All]} ON COLUMNS
FROM
(
SELECT
{[TransactionsData].[Product].[All]} ON COLUMNS
FROM
(
SELECT
{[TransactionsDataExtra].[Channel].[All]} ON COLUMNS
FROM
(
SELECT
{[TransactionsDataExtra].[Custom4].[All]} ON COLUMNS
FROM
(
SELECT
{[TransactionsDataExtra].[Custom5].[All]} ON COLUMNS
FROM
(
SELECT
{[TransactionsDataExtra].[Custom6].[All]} ON COLUMNS
FROM
(
SELECT
{[TransactionsData].[ClientId].&[233]} ON COLUMNS
FROM [Model]
)
)
)
)
)
)
)
)
)
)
WHERE
(
[TransactionsDataExtra].[Channel].[All]
,[TransactionsData].[Product].[All]
,[TransactionsData].[RevenueGenerating].[All]
,[TransactionsDataExtra].[Campaign].[All]
,
[TransactionsData].[FirstYearMonth] <= '2020-01'
,[TransactionsDataExtra].[Cluster].[All]
,[TransactionsData].[ClientId].&[233]
)
CELL PROPERTIES
VALUE
,BACK_COLOR
我想要实现的是如果选择了任何一个日期,则按单个日期过滤此查询,例如
[TransactionsData].[FirstYearMonth] <= '2020-01'
但我得到错误: 该函数需要一个 5 参数的元组集表达式。使用了字符串或数字表达式。
我也尝试过像这样的日期:
[TransactionsData].[FirstYearMonth] <= ['2020-01'] 但这也没有用。
我是 DAX 的新手,如果我使用 sql,我会尝试应用我会使用的东西,这显然不是正确的方法。谁能帮帮我?
解决方案
您可以使用运算符:
来定义日期范围。
所以在 Adventure Works 中这是有效的:
{[Date].[Date].&[20130101]:[Date].[Date].&[20130131]}
现在,如果您将一侧保留为空,那么它将意味着直到并包括右侧的日期。所以这是有效的:
select
[Measures].[Internet Sales Amount]
on columns
from [Adventure Works]
where {null:[Date].[Date].&[20130131]}
因此,您WHERE
需要适应以下内容:
WHERE
(
[TransactionsDataExtra].[Channel].[All]
,[TransactionsData].[Product].[All]
,[TransactionsData].[RevenueGenerating].[All]
,[TransactionsDataExtra].[Campaign].[All]
,{null:[TransactionsData].[FirstYearMonth].&[20200101]}
,[TransactionsDataExtra].[Cluster].[All]
,[TransactionsData].[ClientId].&[233]
)
在上面,您需要确保该表达式[TransactionsData].[FirstYearMonth].&[20200101]
是您的多维数据集中的成员。
推荐阅读
- css - 在移动视图中失去响应性
- c# - 用于创建动态标签的 C# 代码的 XAML 标签
- javascript - 对于使用 websockets 的简单 .io 游戏应该采取哪些安全预防措施?
- javascript - 如何使用 jquery 打印 div 内容?(确保印刷内容为彩色形式。)
- kubernetes - 使用 Flannel 将节点添加到集群:“无法加入非运行容器的网络”
- python - 设置环境变量后烧瓶运行不运行 - 找不到烧瓶
- optimization - 作业车间调度问题中的设置时间
- activerecord - yii2中字段为表达式时获取activerecord相关字段值
- java - 使用java在树中添加多个孩子
- python - PIP3 与错误的 python 版本相关联