首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何用单个字母的日期命名节省空间

有时在 Power BI 中,你可能希望将日期或月份名称以单个字母命名来节省空间。但正常情况来说,我们会马上想到这样做出现重复的风险比较大,因为当你将日期名称或月份名称缩短为一个字母时,它们都不是唯一的。

那就真的就否定我们的想法吗,既然今天提出了这个问题,那肯定是有找到了相应的解决办法可以实现,而且还不是一种方案,在这本文中,我将从采用两种方式来处理该问题:DAX函数和M语言。

1

问题

假设你有一个日历表,如下所示:

可以使用以下公式在 DAX 中创建该表:

下面是相应的 M 代码:

现在,假设你要将日名称缩短为单个字母:星期五应为 F,星期六应为 S,等等。

在 DAX 中,你可以添加以下计算列:

在 M 中,你可以使用以下自定义列:

但无论使用哪种方式,如果尝试按"星期几"列对新列进行排序,你都会得到以下错误:

这是因为对于每个单个字母的日名称,可能有多个星期一的值,如周六、周日就对应了字母 “S”。使用月份名称时,你会遇到同样的问题。现实既然如此,那我们要如何做到名称的唯一性呢?

2

DAX 中的解决方案

诀窍是添加一些非打印字符来区分值。例如,你可以使用零宽度空间 。若要使值不同,请向每个字母添加不同数量的零宽度空格,如:UNICHAR(8203)

提示:REPT重复文本字符串,也正是我们所需要的。

3

PQ中M语言的解决方案

再来看M 语言中的相应自定义列公式是

现在,对于每个单个字母的日名称,只有一个星期一的值,我们可以按星期数对新列进行排序。

注意:严格地说,列和排序列之间不需要一对一的关系。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210113A0B3OP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券