问题标签 [m]
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.
powerbi - Text.Trim 语法含义
我正在处理 Power BI 查询,试图从文本中修剪空白。
查看 Microsoft 的 M 参考资料,我遇到了以下Text.Trim
语法:
我不知道如何正确地将它插入到我的查询代码中(它实际上可以工作的地方)所以我做了更多的搜索并遇到了这个:
...它看起来不像 Microsoft 的语法,但对我来说很好,因为我将它插入到我的代码中,如下所示:
我的问题是我不明白该行的语法含义是什么。我理解微软的例子基本上意味着,修剪这个;这是我要修剪的文本。很简单。
但我不知道实际有效的行的语法含义是什么。我知道它说要转换表列(Table.TransformColumns
);但我不知道对前一行 ( #"Removed Other Columns"
) 的引用是否可以作为任何真正的“输入”,Text.Trim
或者是否{}
是对表中所有列的引用,或者(对我来说更重要的是)我将如何引用特定列。(我尝试了几种指定列的方法,但每次都失败了。)我也不明白为什么我不需要任何参数Text.Trim
(就像在微软的例子中一样)。
如果有人能以我能理解的方式翻译这行“说”的话,我一定会很感激的。
mdx - 将列表解析为 MDX 查询(MDX M Power BI 中的列表)
我正在寻找一种将先前检索到的列表集成为 MDX 查询中 FILTER 的输入的方法。我目前有以下代码:
第 1 行上的段曾经是单个值参数,但我想使用段列表 (listSegment) 作为参考,以便结果过滤多个段。我已经尝试过 WHERE IN 解决方案,但我似乎无法让它工作。任何帮助,将不胜感激。
错误:
database - 从计算表中获取最小值
我有:
带有用户名的表
指示操作的表,其中包含用户名、操作时间、操作名称列。命名
events unique_events
我从一月份开始收集数据。我想在我的用户名表中有一个列,它表明自从用户第一次使用我的应用程序和 1 月 1 日以来已经过了多长时间。
因此,如果用户在 1 月份首次登录,则该用户名所在行的值为 0。如果用户在 3 月份登录,则为 2。
我试过:
Column = DATEDIFF(01-01-2016, MIN(SELECTCOLUMNS(FILTER('events unique_events','events unique_events'[User Name] = Users[User Name]),"DatedTime", [DatedTime])),MONTH)
它返回一个错误,指出 Min 函数需要列引用。
我也尝试了 FirstDate 而不是 MIN ,它返回了一个错误,指出 FirstDate 不能与汇总函数一起使用。
关于如何实现这一目标或修复我尝试过的任何其他想法?
mysql - 在 Power BI 中以 M 语言中的 each 执行子查询
我正在将各种风格的 SQL 转换为 Power BI。我有以下查询/代码,我试图用 M 语法表示:
基本上,它查找一组特定交易日期的汇率,然后将当天的销售数据除以当天的汇率。
在 Power BI 高级查询中,我定义了以下摘录:
#"Changed Type"
包含每日交易总额和日期。总数在 中[Inserted Rounding]
,日期在 中[DATELASTFULFILLMENT]
。所以基本上,对于 中的每一行 #"Changed Type"
,我想获取日期,查找汇率,然后将销售额除以该汇率。我似乎无法得到的部分是如何从每个中的当前行中提取日期。
powerquery - Text.Split 和 Text.SplitAny 有什么区别?
我不清楚 Text.Split 和 Text.SplitAny 之间的区别。他们似乎都使用相同的语法并做同样的事情。有人可以向我解释它们之间的区别吗?
excel - PowerQuery (M):如何从大文本字段中提取日期?
我的表有一个名为的文本列Remarks
,通常包含大量文本。
这是一个示例:
2017 年 3 月 24 日上午 11:14:41 - 状态NFU
的 EMD 2017 年 3 月 30 日 2017 年 3 月 30 日上午
10:58:03 - CLD 每个接待员 GM 不可用NFU 04-13-2017
4/ 13/2017 11:10:15 AM - CLD PER 接待员将提供信息NFU4/27
2017 年 4 月 27 日
9:02:20 AM - 带有 90 天邮票的 MLD INV 2017 年4 月 27 日上午
9:15:03 - PER代表将
致电客户付款2017 年 4 月 27 日上午 11:03:46 - NFU 05/5每个代表客户
混淆 2017 年 5 月 5 日上午 8:55:17 - NFU 2017 年 5 月 9 日 CRP 每个代表检查是MLD 17 年 5 月 2 日
所有这些文本都将被塞进一个字段中,我需要从该字段中提取最后一个NFU日期以用于计算和过滤。
在上面的示例中,我想从最后一行中提取日期5/9/2017 。
但正如您所看到的,日期可以是任何格式,在字段中的任何位置。
我认为 Excel 可以将文本解析为上述任何格式的日期值(如果不是,我会以其他方式处理 - 员工培训等)
我需要弄清楚如何使用 PowerQuery 的主要事情是:
- 在该字段中查找“ NFU ”的最后一个实例
- 提取紧跟最后一个“ NFU ”实例的所有文本,包括“ NFU ”和日期之间的空格(如果存在)。
此时,结果应该是:
" 5/9/2017 CRP PER REP CHECK WAS MLD 5/2/17"
- 删除字符串开头的任何空白。
此时,结果应该是:
"5/9/2017 CRP PER REP CHECK WAS MLD 5/2/17"
- 查找不是
0-9
,/
, or的第一个字符-
(或字符串的结尾,以先到者为准) - 如果合适,在第一个非日期字符处截断字符串。
此时,结果应该是:
"5/9/2017"
- 最后,尝试将生成的文本格式化为
Date
类型/格式,并作为 PowerQuery 自定义列的结果返回。
查看可用的 PowerQuery 字符串函数,我不确定这是否可行。