问题标签 [dax]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2005 浏览

ssas - 有没有办法使用 DAX 比较 PowerPivot 中的多个列?

假设我在 PowerPivot 中有一个如下所示的表:

用于说明问题的示例 PowerPivot 表

对于每一行,我想找到第 1、2 和 3 列的最小值,并将该值显示在“MinColumn”列中。内置的 MIN 函数似乎只对列进行操作,而不是对行进行操作。

除了某种嵌套的 IF 表达式之外,还有什么方法可以做到这一点?如果我们有很多列要比较,那会很快变得非常混乱。

PowerPivot/DAX 做了一些很棒的基于列的东西(考虑到它使用 xVelocity,这是可以预料的),但是当您开始查看行级功能时,它似乎变得复杂了。

0 投票
1 回答
24479 浏览

business-intelligence - 在 DAX 中使用 RELATED 函数和 USERELATIONSHIP

我正在尝试使用“相关”函数从我的 BISM 模型中的另一个表中提取一个字段。由于有许多表与 People 表有关系,因此只有一个关系处于活动状态,其余关系处于非活动状态。在这种情况下,关系是非活动的,据我所知,我将使用“USERELATIONSHIP”函数来指定要使用的关系。根据我在这里找到的:http ://connect.microsoft.com/SQLServer/feedback/details/730493/powerpivot-dax-method-related-does-not-work-if-key-is-inactive 我想我可以做这个:

但我得到了错误:

列“People[FullName]”要么不存在,要么与当前上下文中可用的任何表都没有关系。

0 投票
1 回答
139 浏览

excel - 使用日期计算度量的排除标准

我正在处理具有以下表格/关系的 PowerPivot 报告:

事实表:

  • 客户
  • 问题
  • 日期ID

昏暗日期

  • 日期ID
  • 四分之一

我希望创建一个计算度量,即按年和季度计算的 COUNT(Issue)/DISTINCT(Client),并对其进行过滤以从计算中排除每季度只有 1 个问题的客户。

通过创建两个计算度量值,第一部分非常简单:[Distinct Client] = COUNTROWS(DISTINCT('FactTable'[Client])) [Issues per Client] = 'FactTable'[Count of Issue]/'FactTable'[不同的客户]

数据透视:行标签 = 年,季度值 = [每个客户的问题]

我只是在学习 DAX,所以我不知道该怎么做。似乎 CALCULATE() 或 CALCULATETABLE() 是我最好的选择,但我不知道如何使用它来过滤 [Issues per Client per Quarter]。任何帮助,将不胜感激!

0 投票
1 回答
283 浏览

ssas - MDX 和 DAX Measure 产生不存在的值

我正在研究 SQL Server 2012 分析服务中的表格模型。

我做了一个这样的立方体。 在此处输入图像描述

首先,我检查了我的数据和结果如下(对不起,where语句没有意义) 在此处输入图像描述

合同测量上的 PC 定义如下 => 合同上的 PC:=SUM([PC Count])

但是,当我在性能点(Sharepoint)中制作图表时,结果显示很糟糕。所以我检查了图表使用的 MDX 查询。

这是 MDX 查询和结果。 在此处输入图像描述

事实上,ServiceContractID 的值都是ServiceContract 中存在的ContractID 值。

我真的很难理解为什么会有空值。是什么导致这个错误的计算?(当我使用多维进行测试时,我可以得到我期望的结果。)

0 投票
2 回答
621 浏览

ssas - 一对多 - 计算列

我正在尝试自学 SQL 2012 SSAS 的新表格模型,以处理以前在(慢)存储过程中处理的一些分析报告。

我在大部分方面都取得了不错的进展,只是弄清楚事情是如何工作的以及如何添加我需要的计算,但我一直在努力解决以下问题:

我有一个包含文件信息的表——它有:
ID FileName CurrentStatus UploadedBy

然后是一个表,其中包含文件经历的状态(与文件表有很多关系):
FileID StatusID TimeStamp

我想要做的是在文件表中添加一个计算列,当文件处于特定状态时返回时间戳信息。即:StatusID=100 已上传。我想在 File 表上添加一个名为 UploadedDate 的计算列,该列具有来自 FileStatus 表的关联 TimeStamp 信息。

看起来这应该可以通过 DAX 实现,但我似乎无法理解它。有什么想法吗?

提前,非常感谢,布伦特

0 投票
1 回答
5252 浏览

mdx - 使用 A 列和 B 列计算比率 - 在 Powerpivot/MDX/DAX 中,而不是在 SQL 中

我有一个查询来拉动漏斗的点击率,如果用户点击一个页面,它记录为“1”,否则为 NULL -

我想为每个比率设置一列,例如 firstcount/Visits、secondcount/firstcount 等以及总数(finalcount/Visits)。

我知道这可以做到

  • 通过添加“计算字段”在 Excel 数据透视表中
  • 在 SQL 中通过分组
  • 在 PowerPivot 中通过添加计算列,例如

    /li>
  • 但我需要给报告消费者一个选项,只用 user_type 或只用 user_loc 等进行切片,excel 会倾向于添加比例,这不起作用 b/c

    /li>

在 DAX/MDX/PowerPivot 中是否有一种方法可以添加计算列/度量,以便对于任何用户定义的数据子集(日期范围、用户类型、位置等)?

0 投票
1 回答
4975 浏览

powerpivot - 如何在 PowerPivot 中获取第二个 MIN 值或跨列 MIN 值?

我有一个有趣的表,我无法弄清楚如何获得第二个最小值或类似的操作。这是我的表格的示例样式:

我需要在 Column3 中找到每个 A 或 B(来自 Column1)的最小值。但 A=A (column1=column2) 或 B=B 行不应包含在此 MIN 计算中。但是找到的 A 值应该显示在 A=A 行上,或者 B 的最小值应该显示在 B=B 行上。

还尝试了这个计算:

IF([Column1]<>[Column2],CALCULATE( MIN ([Column3]),ALL(myTable),myTable[Column2]=EARLIER(myTable[Column2])),0) --> 从 Column3 返回相同的值每一行。

IF([Column1]=[Column2],CALCULATE( MIN ([Column3]),ALL(myTable),myTable[Column2]=EARLIER(myTable[Column2])),0) --> 从 Column3 为每个返回最小值A=A 或 B=B 行正确。A=A 或 B=B 行包含数据,因为值为 0。如果我将其更改为 1,则此计算返回 1。但我需要其他行最小值。

IF([Column1]=[Column2],CALCULATE( MAX ([Column3]),ALL(myTable),myTable[Column1]=EARLIER(myTable[Column1])),0) --> 这个计算就像一个魅力最大值。因为最高值将始终在其他行中。

PS:A=A 或 B=B 行的默认值在 Column3 中始终为 0。

我卡在这一点上=/谢谢。

0 投票
2 回答
3485 浏览

ssas - Powerpivot DAX - 如何获取“倒数第二个”日期

在有 DateTime 列的 Period 维度表中,我需要从该表中获取“倒数第二个”日期。我需要在不允许 MAX() 函数的过滤器表达式中使用结果。

我能够获得最新日期并将其用于具有以下表达式的过滤器:

FILTER(PeriodForecastEuro, RELATED(DimPeriod[PeriodDate]) = LASTDATE(VALUES(DimPeriod[PeriodDate])))

但我不知道如何获得“倒数第二个”和“倒数第三个”。

我对整个 SSAS 都是新手。我该怎么办?

0 投票
2 回答
2123 浏览

powerpivot - Dax公式计算累计学生

我正在 SSAS 2012 表格建模中构建第一个立方体。我得到一个事实表包含以下列

TermDate StudentKey PaperKey 分数 CumulativeNoOfStudents

20100601 1 1 70 2

20100601 2 1 70 2

20100601 3 1 69 3

20100601 4 2 68 1

现在我需要使用 DAX 针对每一行生成 Cumulative Number Of Students(第 5 列)作为输出(计算列)。

有人可以帮我建立DAX公式吗?

0 投票
1 回答
4445 浏览

excel - DAX IF 包含公式

您好,我有一列包含所有基于 Windows 的操作系统系统以及它们的类型,例如 Windows 7 企业版、Windows Server 2000、Windows Server 2003 标准版等。

我需要过滤这些以仅显示 Windows“操作系统名称”。

我使用了这个公式=IF(ISERROR(SEARCH("7",[Caption])),"Windows 7","Error")来挑选所有 Windows 7,但是当我尝试将“错误”更改为另一个 IF(ISERROR(SEARCH)) 时,它实际上并没有正确搜索语句。

我有什么办法可以解决这个问题?下面的图片是我使用公式时发生的情况`接受您可以在 Excel 中嵌套任何公式,因此用另一个 IF(ISERROR(...本身,它应该工作。

=IF(ISERROR(SEARCH("7",[@Caption])),"Windows 7",IF(ISERROR(SEARCH("Windows",[@Caption])), "any other Windows","Error"))

在此处输入图像描述 在此处输入图像描述