gpt4 book ai didi

max - MDX 从切片器元素获取最小最大日期

转载 作者:行者123 更新时间:2023-12-04 21:29:19 27 4
gpt4 key购买 nike

我使用 PowerBI Desktop/Service 作为前端,使用 Analysis Services Multidimensional 作为后端。我想创建一个复杂的计算成员,但我在成员的某些部分遇到了问题。

例如,我需要在 filter-element-slicer 中使用 TIME 维度的 MIN/MAX DATE。

我已经尝试了一些简单计算的成员来开始:

第一:

MAX
(
EXISTING
[Time].[DATE].Members,
[Time].MEMBER_KEY
)

第二个:
MAX
(
NONEMPTY
[Time].[DATE].Members,
[Time].MEMBER_KEY
)

第三个:
MAX
(
EXISTING
[Time].[YQM].[DATE].Members,
[Time].[YQM].MEMBER_KEY
)

第四个:
MAX
(
NONEMPTY
[Time].[YQM].[DATE].Members,
[Time].[YQM].MEMBER_KEY
)

我也尝试了不同的方法,在内部使用这样的措施:
MAX
(
(
[Time].[DATE].Members,
[Measures].[Sales Amount]
),
[Time].[DATE].Member_Key
)

所有这些都显示了 TIME 维度的最后一个 DATE,而不是 PowerBI 的 filter-element-slider 中选择的 MAX。
有任何想法吗?

这里奇怪的是,如果我使用过滤器元素作为简单选择下拉而不是范围切片器,那么,我可以使用以下代码检索当前选定的日期:
MAX
(
EXISTING
[Time].[YQM].CURRENTMEMBER,
[Time].[YQM].MEMBER_KEY
)

但是当我切换到范围切片器相同的代码时,返回零(0)!

另外,我已经在不同的表格模型中使用 DAX 做到了这一点并且工作正常,但是对于多维模型来说似乎太难了

也许问题是由于范围?

最佳答案

正如您所提到的,问题不是来自 PowerBI,而是来自对 MultiDim 模型的查询。

您可以通过在 Excel 上浏览计算成员并按日期过滤来重现它。如果只取一个日期,成员会正确刷新并显示该日期,但如果选择多个日期,则显示“31”,因为“31”是所有成员的 MAX。我试图用 纠正这种行为。动态套装 :

CREATE DYNAMIC SET setDate AS 
{
NONEMPTY([Time].[DATE].Members)
};

然后,我使用这个集合来计算我的度量:
CREATE MEMBER CURRENTCUBE.[Measures].[MAX_DATE]
AS MAX(
setDate,
CDate([Time].[DATE].Properties('Key0', Typed)
),
VISIBLE = 1;

(请注意 CDate 函数,我使用它来将我的 MEMBER_KEY 转换为日期,因此 1/31/2020 > 9/9/2000 如果您使用美国格式,但根据您的型号,您可能不需要它。)

在 Excel 中,即使我选择了多个日期,我的新度量也能正常工作。我是 PowerBI 的新手,但我创建了一份报告,似乎没问题。

我希望它有帮助!

关于max - MDX 从切片器元素获取最小最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57479138/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com