Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssas 一对多计算列_Ssas_Dax - Fatal编程技术网

Ssas 一对多计算列

Ssas 一对多计算列,ssas,dax,Ssas,Dax,我试图自学SQL 2012 SSA的新表格模型,以处理以前在(慢速)存储过程中处理的一些分析报告 我在大部分方面都取得了不错的进展,只是想弄清楚事情是如何运作的,以及如何添加所需的计算,但我一直在努力解决以下问题: 我有一个包含文件信息的表,它有: 身份证件 文件名 现状 上传人 然后是一个表,该表具有文件所经历的状态(与文件表的许多关系): 文件ID 状态ID 时间戳 我试图做的是向文件表中添加一个计算列,该列在文件处于特定状态时返回时间戳信息。ie:StatusID=100已上载。我想在文

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

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

我有一个包含文件信息的表,它有:
身份证件 文件名 现状 上传人

然后是一个表,该表具有文件所经历的状态(与文件表的许多关系):
文件ID 状态ID 时间戳

我试图做的是向文件表中添加一个计算列,该列在文件处于特定状态时返回时间戳信息。ie:StatusID=100已上载。我想在文件表中添加一个名为UploadedDate的计算列,该列具有来自FileStatus表的相关时间戳信息

这似乎应该是可行的DAX,但我只是似乎不能裹住我的头围绕它。有什么想法吗

首先,非常感谢,
布伦特

这里有一个公式,应该适用于你想做的事情

=MAXX(
    CALCULATETABLE(
         'FileStatus'
        ,'FileStatus'[StatusID] = 100
    )
    ,'FileStatus'[TimeStamp]
)

我假设每个文件只能处于每个状态一次(每个FileID只有一行statusid100)。我相信你可以使用lookupvalue公式。UploadeDate计算列的公式如下

=LOOKUPVALUE(FileStatus[Timestamp], File[FileID], FileStatus[FileID], FileStatus[StatusID], 100)
这是我的建议。您提供的列包含要返回的值、要搜索的列以及要搜索的值。可以向查找表中添加多个条件。下面是一个包含一个好例子的示例